]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
[grub2.git] / ChangeLog
CommitLineData
4ea0316e
VS
12011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
4
d3c13cbd
VS
52011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6
7 Integrate hints into autogeneration scripts.
8
9 * docs/grub.texi (Filesystems): Add a hostdisk example.
10 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
11 (grub-probe): Add ofpath.
12 * gentpl.py: Remove group nosparc64.
13 * grub-core/commands/search.c (cache_entry): New struct.
14 (cache): New var.
15 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
16 * grub-core/commands/search_wrap.c (options): Add platform-specific
17 hint options.
18 (grub_cmd_search): Handle platform-specific hints.
19 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
20 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
21 (grub_util_biosdisk_data): Likewise.
22 (grub_util_biosdisk_open): Set device_map.
23 (read_device_map): Handle "" as indication of no map.
24 Set device_map.
25 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
26 (grub_util_biosdisk_get_compatibility_hint): New function.
27 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
28 * include/grub/emu/hostdisk.h
29 (grub_util_biosdisk_get_compatibility_hint): New proto.
30 * util/grub-install.in: Don't call grub-mkdevicemap.
31 Add platform-specific hint to load.cfg.
32 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
33 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
34 hints. Set root preliminary to compatibility hint, not to OS name.
35 * util/grub-probe.c (PRINT_*): Add hints.
36 (print): Make static.
37 (escape_of_path): New function.
38 (guess_bios_drive): Likewise.
39 (guess_efi_drive): Likewise.
40 (guess_baremetal_drive): Likewise.
41 (print_full_name): Likewise.
42 (probe): Handle hints.
43 (main): Likewise.
44 * util/ieee1275/devicemap.c: Removed.
45 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
46 updated.
47 (grub_util_devname_to_ofpath): Return NULL on failure.
48
49 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
50 resource leak.
51 * util/getroot.c (grub_util_pull_device): Fix memory leak.
52
53 * po/POTFILES.in: Regenerated.
54
55 Allow purely long options
56
57 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
58 (SHORT_ARG_USAGE): Likewise.
59 (grub_arg_show_help): Compare opt with help_options.
60 (parse_option): Receive opt as argument. If makes big simplificatons.
61 All users updated
62
00ce2df3
VS
632011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
64
65 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
66 Restructure to avoid warning.
67
e77e325f
VS
682011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
69
70 * util/grub-install.in: Account for possible escaped comma in device
71 name.
72
165099ea
VS
732011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
74
75 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
76 channel.
77
ce4a999d
VS
782011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
79
80 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
81 allocation and zero-setting.
82 (grub_ieee1275_get_devname): Check that alias is complete.
83
379586ad
VS
842011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
85
86 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
87 unaligned segments.
88
9197b0ad
VS
892011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
90
91 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
92 prefix.
93 (grub_ofdisk_open): Check and discard ieee1275 prefix.
94 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
95 Add ieee1275 prefix.
96
edddb7f9
VS
972011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
98
99 * docs/grub.texi (Filesystems): Update.
100
a1a8b1b9
VS
1012011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
102
103 Support odc, newc and bigendian cpio formats.
104
105 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
106 * grub-core/Makefile.core.def (newc): New module.
107 (odc): Likewise.
108 (cpio_be): Likewise.
109 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
110 (MAGIC): Likewise.
111 (MAGIC2): Likewise.
112 (head) [MODE_ODC]: Adapt for the format.
113 (head) [MODE_NEWC]: Likewise.
114 (head) [!MODE_*]: Write fields of interest as arrays.
115 (MAGIC_USTAR): Removed.
116 (read_number) [MODE_NEWC]: Change to hex.
117 (read_number) [!MODE_*]: Parse binary arrays.
118 (grub_cpio_find_file): Factor out the code for better structure and
119 always use read_number.
120 (grub_cpio_mount): Use MAGIC and MAGIC2.
121 (grub_cpio_dir): Exit on first hook non-0 return.
122 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
123 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
124 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
125 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
126 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
127 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
128 * grub-core/fs/newc.c: New file.
129 * grub-core/fs/odc.c: Likewise.
130 * grub-core/fs/cpio_be.c: Likewise.
131
58eba9ee
VS
1322011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
133
134 Fix handling of tar numbers occupying the whole field.
135
136 * grub-core/fs/cpio.c (read_number): New function.
137 (grub_cpio_find_file): Use read_number instead of strtoull.
138
a54a0e12
VS
1392011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
140
141 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
142 occupying the whole field size.
143
a6120aca
LA
1442011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
145
146 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
147
a93964ce
VS
1482011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
149
150 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
151
3ea1ca46
SG
1522011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
153
154 * grub-core/Makefile.core.def (lzma_decompress): Add missing
155 TARGET_IMG_LDFLAGS.
156
b87f7ef2
VS
1572011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
158
159 * util/getroot.c (ESCAPED_PATH_MAX): New define.
160 (mountinfo_entry): Increase the field size to take escaping into
161 account.
162 (find_root_device_from_libzfs): Add one byte to size of strings for
163 security.
164
62092395
VS
1652011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
166
167 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
168 an assert.
169 * util/grub-setup.c (setup): Likewise.
170
1f0b1a77
VS
1712011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
172
173 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
174 _LzmaDecodeA.
175
8eba9997
VS
1762011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
177
178 * docs/grub.texi (Internationalisation): New section.
179
dd0c91e9
VS
1802011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
181
182 * docs/grub.texi (Loopback booting): New section.
183
1842011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
185
186 * util/grub-mkstandalone.in: Fix minor typo errors.
187
198e150a
VS
1882011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
189
190 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
191
192 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
193 net/icmp.c and net/icmp6.c.
194 (http): New module.
195 (priority_queue): Likewise.
196 * grub-core/io/bufio.c: Rewritten.
197 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
198 TYPE_WITH_CONFIGFILE_OPTION.
199 (legacy_commands): Add bootp and dhcp.
200 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
201 (grub_legacy_parse): Likewise.
202 * grub-core/lib/priority_queue.c: New file.
203 * grub-core/net/arp.c: Add missing license header.
204 (arp_find_entry): Removed.
205 (arp_find_entry): Likewise.
206 (grub_net_arp_resolve): Rename to ...
207 (grub_net_arp_send_request): ...this.
208 (grub_net_arp_receive): New card argument.
209 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
210 Set router and DNS server.
211 (grub_net_configure_by_dhcp_ack): Handle routing information.
212 (grub_cmd_bootp): Set checksum.
213 (grub_bootp_init): Remove net_dhcp.
214 * grub-core/net/dns.c: New file.
215 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
216 completion.
217 (get_card_packet): Handle allocation.
218 (grub_efinet_findcards): Set mtu.
219 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
220 (get_card_packet): Handle allocation.
221 (emucard): Set mtu.
222 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
223 (GRUB_MOD_INIT): Set mtu.
224 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
225 mtu.
226 (get_card_packet): Handle allocation.
227 (grub_ofnet_findcards): Set mtu.
228 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
229 assert.
230 (grub_net_recv_ethernet_packet): Handle IPv6.
231 * grub-core/net/http.c: New file.
232 * grub-core/net/icmp.c: Likewise.
233 * grub-core/net/icmp6.c: Likewise.
234 * grub-core/net/ip.c (ip6addr): New type.
235 (ip6hdr): Likewise.
236 (reassemble): Likewise.
237 (cmp): New function.
238 (reassembles): New variable.
239 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
240 (id): New variable.
241 (send_fragmented): New function.
242 (grub_net_send_ip_packet): Rename to ...
243 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
244 Handle non-UDP.
245 (grub_net_recv_ip_packets): Rename to ...
246 (handle_dgram): ... this. Check checksum. Handle non-UDP.
247 (free_rsm): New function.
248 (free_old_fragments): Likewise.
249 (grub_net_recv_ip4_packets): New function.
250 (grub_net_send_ip6_packet): Likewise.
251 (grub_net_send_ip_packet): Likewise.
252 (grub_net_recv_ip6_packets): Likewise.
253 (grub_net_recv_ip_packets): Likewise.
254 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
255 (LINK_LAYER_CACHE_SIZE): New const.
256 (link_layer_find_entry): New function.
257 (grub_net_link_layer_add_address): Likewise.
258 (grub_net_link_layer_resolve_check): Likewise.
259 (grub_net_link_layer_resolve): Likewise.
260 (grub_net_ipv6_get_slaac): Likewise.
261 (grub_net_ipv6_get_link_local): Likewise.
262 (grub_cmd_ipv6_autoconf): Likewise.
263 (parse_ip): Handle one number representation.
264 (parse_ip6): New functoion.
265 (match_net): Handle IPv6.
266 (grub_net_resolve_address): Handle IPv6 and DNS.
267 (grub_net_resolve_net_address): Handle IPv6.
268 (route_cmp): New function.
269 (grub_net_route_address): Find best route.
270 (grub_net_addr_to_str): Handle IPv6.
271 (grub_net_addr_cmp): New function.
272 (grub_net_add_addr): Register local route.
273 (print_net_address): Handle net address.
274 (grub_net_poll_cards): Retransmit TCP.
275 (grub_net_poll_cards_idle_real): Likewise.
276 (have_ahead): New function.
277 (grub_net_seek_real): Use underlying seek.
278 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
279 * grub-core/net/tcp.c: New file.
280 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
281 (cmp): New function.
282 (ack): Likewise.
283 (tftp_receive): Handle unordered input.
284 (destroy_pq): New function.
285 (tftp_close): Close pq.
286 * grub-core/net/udp.c: Put missing license header.
287 (grub_net_udp_socket): New function.
288 (udp_socket_register): Likewise.
289 (grub_net_udp_close): Likewise.
290 (grub_net_recv_udp_packet): Check checksum.
291 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
292 * include/grub/misc.h (grub_memchr): New function.
293 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
294 (grub_net_card_driver): Return buf in recv.
295 (grub_net_slaac_mac_list): New struct.
296 (grub_network_level_protocol_id): Add ipv6.
297 (grub_net_network_level_addr): Likewise.
298 (grub_net_network_level_net_addr): Likewise.
299 (grub_net_app_protocol): Add seek.
300 (grub_net_socket): Removed.
301 (grub_net_sockets): Likewise.
302 (grub_net_socket_register): Likewise.
303 (grub_net_socket_unregister): Likewise.
304 (FOR_NET_SOCKETS): Likewise.
305 (grub_net_add_addr): Add const.
306 (GRUB_NET_BOOTP_*): New enum.
307 (grub_net_addr_cmp): New proto.
308 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
309 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
310 (grub_net_hwaddr_to_str): NEw proto.
311 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
312 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
313 (grub_dns_init): New proto.
314 (grub_dns_fini): Likewise.
315 (grub_net_tcp_retransmit): Likewise.
316 (grub_net_link_layer_add_address): Likewise.
317 (grub_net_link_layer_resolve_check): Likewise.
318 (grub_net_link_layer_resolve): Likewise.
319 (grub_net_dns_lookup): Likewise.
320 (grub_net_add_dns_server): Likewise.
321 (grub_net_remove_dns_server): Likewise.
322 (GRUB_NET_TRIES): New const.
323 (GRUB_NET_INTERVAL): Likewise.
324 * include/grub/net/arp.h: Mostly rewritten.
325 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
326 * include/grub/net/ip.h: Mostly rewritten.
327 * include/grub/net/netbuff.h: Indent.
328 * include/grub/net/tcp.h: New file.
329 * include/grub/net/udp.h: Mostly rewritten.
330 * include/grub/priority_queue.h: New file.
331 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
332 (grub_swap_bytes64_compile_time): Likewise.
333 (grub_cpu_to_be16_compile_time): Likewise.
334 (grub_cpu_to_be32_compile_time): Likewise.
335 (grub_cpu_to_be64_compile_time): Likewise.
336 (grub_be_to_cpu64_compile_time): Likewise.
337
215c1800
VS
3382011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
339
340 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
341 UINT_TO_PTR with cast.
342
c17e546c
VS
3432011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
344
345 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
346 don't use them.
347
ff6b18b6
VS
3482011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
349
350 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
351 already there.
352
70ffcc93
VS
3532011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
354
355 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
356 confusing ipxe.
357
e5f4d260
VS
3582011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
359
360 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
361 Add missing const attribute.
362 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
363 Likewise.
364 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
365 Likewise.
366
8e54b4b7
VS
3672011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
368
369 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
370 misaligned access.
371 (serpent_setkey): Likewise.
372 (serpent_encrypt_internal): Likewise.
373 (serpent_decrypt_internal): Likewise.
374 (serpent_encrypt): Don't put an alignment-increasing cast.
375 (serpent_decrypt): Likewise.
376 (serpent_test): Likewise.
377
813c0a2b
VS
3782011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
379
380 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
381
f2b60fbd
VS
3822011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
383
384 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
385
386 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
387 grub_addr_t casts.
388 (PTR_TO_UINT64): Likewise.
389 (PTR_TO_UINT32): Likewise.
390
5ef5c511
VS
3912011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
392
393 * util/grub-mkimage.c (generate_image): Decrease the higher limit
394 because of stack.
395 * util/grub-setup.c (setup): Don't add redundancy past the higher load
396 limit.
397
c476e6df
VS
3982011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
399
400 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
401 text_width > available width a bit more gracefully.
402
384ad7cc
VS
4032011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
404
405 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
406 current address calculation.
407
96f8caf8
VS
4082011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
409
410 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
411 stack.
412 (encode_block): Likewise.
413
276b7a8b
VS
4142011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
415
416 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
417 certainety.
418
e3fd394a
VS
4192011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
420
421 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
422 non-RS part to avoid RS messing with GDT.
423 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
424 Increase to suit in realmode routines.
425
4262011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
427
428 * grub-core/kern/i386/realmode.S: Increase alignment.
429 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
430
ee9c2e7a
VS
4312011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
432
433 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
434 be deterministic.
435 (syndroms): Compute 0 syndrom.
436 (rs_recover): Use 0 syndrom.
437
7a7f7cc9
VS
4382011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
439
440 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
441
a14b16d1
VS
4422011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
443
444 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
445 brackets.
446
9f59e9fc
VS
4472011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
448
ca1b552c
VS
449 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
450 account.
451 (get_top_pad): Likewise.
452 (get_right_pad): Likewise.
453 (get_bottom_pad): Likewise.
454
4552011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
456
457 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 458
e739d698
VS
4592011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
460
461 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
462 attribute as the structure isn't guaranteed to be properly aligned.
463 (grub_efi_pci_device_path): Likewise.
464 (grub_efi_pccard_device_path): Likewise.
465 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
466 specify the size of `memory_type'.
467 (grub_efi_vendor_device_path): Likewise.
468 (grub_efi_controller_device_path): Likewise.
469 (grub_efi_acpi_device_path): Likewise.
470 (grub_efi_expanded_acpi_device_path): Likewise.
471 (grub_efi_atapi_device_path): Likewise.
472 (grub_efi_scsi_device_path): Likewise.
473 (grub_efi_fibre_channel_device_path): Likewise.
474 (grub_efi_1394_device_path): Likewise.
475 (grub_efi_usb_device_path): Likewise.
476 (grub_efi_usb_class_device_path): Likewise.
477 (grub_efi_i2o_device_path): Likewise.
478 (grub_efi_mac_address_device_path): Likewise.
479 (grub_efi_ipv4_device_path): Likewise.
480 (grub_efi_ipv6_device_path): Likewise.
481 (grub_efi_infiniband_device_path): Likewise.
482 (grub_efi_uart_device_path): Likewise.
483 (grub_efi_vendor_messaging_device_path): Likewise.
484 (grub_efi_hard_drive_device_path): Likewise.
485 (grub_efi_cdrom_device_path): Likewise.
486 (grub_efi_vendor_media_device_path): Likewise.
487 (grub_efi_file_path_device_path): Likewise.
488 (grub_efi_protocol_device_path): Likewise.
489 (grub_efi_piwg_device_path): Likewise.
490 (grub_efi_bios_device_path): Likewise.
491
cb8f88ea
VS
4922011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
493
494 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
495 (grub_ucs4_to_utf8_alloc): Likewise.
496 (grub_ucs4_to_utf8): Likewise.
497 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
498 (grub_ucs4_to_utf8_alloc): Likewise.
499
309e5352
VS
5002011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
501
502 AFFS never uses unicode.
503
504 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
505 (grub_latin1_to_utf8): New inline function.
506 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
507
e7987e1b
VS
5082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
509
510 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
511 overflow.
512
efc2616e
VS
5132011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
514
515 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
516 (grub_squash_dirent_header): Likewise.
517 (read_chunk): Don't double swap.
518 (grub_squash_iterate_dir): Fix swap sizes.
519
3c349f5a
VS
5202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
521
522 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
523
b453412d
VS
5242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
525
526 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
527 (grub_hfs_iterate_dir): Likewise.
528
12e9d4d1
VS
5292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
530
531 Fix video on platforms where unaligned access is forbidden.
532 Make several optimisations while on it.
533
534 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
535 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
536 (grub_video_fbblit_replace_32bit_1bit): Likewise.
537 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
538 Disable.
539 (grub_video_fbblit_replace_16bit_1bit):
540 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
541 (grub_video_fbblit_replace_8bit_1bit): Likewise.
542 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
543 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
544 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
545 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
546 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
547 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
548 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
549 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
550 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
551 (grub_video_fbblit_replace_index_RGB888): Likewise.
552 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
553 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
554 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
555 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
556 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
557 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
558 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
559 Disable.
560 (grub_video_fbblit_blend_XXX565_1bit):
561 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
562 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
563 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
564 void *.
565 * grub-core/video/fb/video_fb.c (common_blitter)
566 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
567 (grub_video_fb_create_render_target_from_pointer)
568 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
569 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
570 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
571 definition.
572 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
573
ace96609
VS
5742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
575
576 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
577 HH22 and HM10 relocations.
578
fd261d73
VS
5792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
580
581 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
582
e59b7857
VS
5832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
584
585 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
586 allocation succeeded.
587
9b4baaa4
VS
5882011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
589
590 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
591 argument a u8 pointer. All users updated.
592 Handle unaligned buffers.
593
dc713193
VS
5942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
595
596 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
597 add_part to workaround compiler bug.
598
30dd48c2
VS
5992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
600
601 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
602
0c6087a8
VS
6032011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
604
605 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
606 Reserve alignment invariants.
607 (grub_multiboot_load): Likewise.
608 (retrieve_video_parameters): Likewise.
609 (grub_multiboot_make_mbi): Likewise.
610
c2e77777
VS
6112011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
612
613 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
614 incorrect pointer.
615
b70b6d11
VS
6162011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
617
618 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
619 (grub_pata_pio_write): Likewise.
620
02a2bf83
VS
6212011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
622
623 Add noreturn attributes and remove unreachable code.
624
625 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
626 code.
627 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
628 code. Mark as noreturn.
629 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
630 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
631 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
632 unreachable code.
633 * grub-core/kern/main.c (grub_main): Mark as noreturn.
634 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
635 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
636 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
637 * include/grub/kernel.h (grub_main): Mark as noreturn.
638 * include/grub/reader.h (grub_rescue_run): Likewise.
639
2019d09e
VS
6402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
641
642 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
643 redundant declaration.
644
d1c501ee
VS
6452011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
646
647 * include/grub/net.h (grub_net_network_level_interfaces): Remove
648 redundant declaration.
649 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
650
61664420
VS
6512011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
652
653 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
654 to ensure alignment.
655 (grub_hdparm_print_identify): Make argument uint16 * to ensure
656 alignment. Ensure tmp alignment.
657 (grub_cmd_hdparm): Ensure buf alignment.
658 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
659 to ensure alignment.
660 (grub_ata_dumpinfo): Ensure text alignment.
661 (grub_atapi_identify): Preserve alignment invariant.
662 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
663
0d51ee20
VS
6642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
665
666 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
667 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
668 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
669 * include/grub/misc.h (grub_reboot)
670 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
671 (grub_halt) [__mips__]: Likewise.
672
753ef8c1
VS
6732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
674
675 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
676 Remove redundant declaration.
677 (grub_mmap_get_post64): Likewise.
678 (grub_mmap_get_upper): Likewise.
679 (grub_mmap_get_lower): Likewise.
680
85c85365
VS
6812011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
682
683 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
684 uint32_t * to ensure alignment.
685 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
686
a23f2cc4
VS
6872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
688
93018f64
VS
689 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
690 uint16_t * to ensure alignment.
691 (sun_pc_partition_map_iterate): Make `block' a union to ensure
692 alignment.
693
6942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
695
696 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
697 to ensure alignment.
698 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
699
58acccd6
VS
7002011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
701
702 * grub-core/fs/ntfs.c (u16at): Make into inline function.
703 Handle unaligned pointers.
704 (u32at): Likewise.
705 (u64at): Likewise.
706 (fixup): Use byte access instead of v16at.
707 (find_attr): Fix imporper usage of v32at.
708 (read_data): Likewise.
709 (list_file): Handle byte-swapping and unaligned strings.
710 (grub_ntfs_label): Likewise.
711
9b05cad7
VS
7122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
713
714 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
715 as it's not necessarily aligned.
716
b3950b84
VS
7172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
718
719 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
720 redundant declaration.
721 (grub_serial_init): Likewise.
722 (grub_terminfo_init): Likewise.
723
fcd232b7
VS
7242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
725
726 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
727 function.
728 (ZAP_HASH_IDX): Likewise.
729 (ZAP_LEAF_HASH_SHIFT): Likewise.
730 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
731 (LEAF_HASH): Likewise.
732 (ZAP_LEAF_NUMCHUNKS): Likewise.
733 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
734 alignment invariants. Return pointer. All users updated.
735 (ZAP_LEAF_ENTRY): Make into inline function.
736 (NBBY): Removed.
737 (xor): LIkewise.
738 (xor_out): Use grub_crypto_xor.
739 (dnode_get_path): Use grub_get_unaligned.
740 (nvlist_find_value): Likewise.
741 (grub_zfs_nvlist_lookup_uint64): Likewise.
742 (grub_zfs_nvlist_lookup_string): Likewise.
743 (get_nvlist_size): Likewise.
744 (grub_zfs_open): Likewise.
745 (fill_fs_info): Likewise.
746 (grub_zfs_dir): Likewise.
747 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
748 alignment invariants.
749 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
750 necessarily aligned.
751
f138623a
VS
7522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
753
754 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
755
564840dc
VS
7562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
757
758 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
759 arithmetic to conserve alignment invariants.
760
9b40df20
VS
7612011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
762
763 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
764 redundant declaration.
765 (grub_efiemu_mm_obtain_request): Likewise.
766 (grub_efiemu_prepare): Likewise.
767
d1c930f9
VS
7682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
769
770 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
771 to match types.
772
4c5f3056
VS
7732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
774
775 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
776 case of aunaligned recptr.
777 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
778 alignment.
779 (grub_hfsplus_btree_search): Handle unaligned index.
780
728cba91
VS
7812011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
782
783 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
784 to get freetag and skip.
785
eb561f31
VS
7862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
787
788 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
789 array.
790 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
791 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
792
20993fbb
VS
7932011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
794
795 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
796 name for checksum and fix allocation algorithm.
797
1f313b94
VS
7982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
799
800 * include/grub/types.h (grub_properly_aligned_t): New type.
801 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
802 (grub_get_unaligned16): Add explicit casts.
803 (grub_get_unaligned32): Likewise.
804 (grub_get_unaligned64): Likewise.
805 (grub_set_unaligned16): New function.
806 (grub_set_unaligned32): Likewise.
807
47ae27ec
VS
8082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
809
810 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
811
78c2cd1c
VS
8122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
813
814 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
815 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
816 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
817
53072f9b
VS
8182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
819
820 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
821 conditionals.
822
055dc239
VS
8232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
824
825 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
826 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
827
496bd074
VS
8282011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
829
830 Unify and improve RAID and crypto xor.
831
832 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
833 changed to grub_crypto_xor
834 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
835 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
836 Use bigger types when possible.
837
ef6e4335
VS
8382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
839
840 * grub-core/disk/raid.c (scan_devices): Fix condition.
841
5d048bf2
VS
8422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
843
844 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
845 Make name a const ptr.
846
ee533335
VS
8472011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
848
849 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
850 first argument a const pointer.
851 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
852 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
853 proto.
854 (grub_children_iterate): Likewise.
855 (grub_machine_mmap_iterate): Remove redundant declaration.
856
cc8f3668
VS
8572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
858
859 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
860 (grub_cmd_acpi) [!x86]: Disable EBDA.
861
c5fc563a
VS
8622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
863
864 Enable UTF8 in gnulib regexp.
865
866 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
867 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
868 (isupper): Use grub_isupper.
869 (isascii): New inline function.
870 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
871 * grub-core/lib/posix_wrap/wctype.h: Likewise.
872 * grub-core/normal/charset.c (grub_utf8_process): New function.
873 (grub_utf8_to_utf16): Use grub_utf8_process.
874 (grub_encode_utf8_character): New function.
875 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
876 * include/grub/charset.h (grub_utf8_process): New declaration.
877 (grub_encode_utf8_character): Likewise.
878 * include/grub/misc.h (grub_islower): New inline function.
879 (grub_isupper): Likewise.
880 (grub_strchrsub): Moved down to fix the definitions.
881
0af2346f
VS
8822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
883
884 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
885 specification.
886
74dbd244
VS
8872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
888
889 * include/grub/loader.h (grub_loader_register_preboot_hook):
890 Use struct preboot * and not void * for handle. All users updated.
891 (grub_loader_unregister_preboot_hook): Likewise.
892
1bc8f60d
VS
8932011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
894
895 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
896 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
897 UTF-16-BE. All users updated.
898 (grub_hfsplus_cmp_catkey): Fix unicode handling.
899 (grub_hfsplus_iterate_dir): Likewise.
900 (grub_hfsplus_label): Likewise.
901
48d6e456
VS
9022011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
903
904 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
905
bf3a3857
VS
9062011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
907
908 Add missing const qualifiers.
909
910 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
911 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
912 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
913 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
914 (grub_lvm_check_flag): Likewise.
915 * grub-core/efiemu/i386/coredetect.c
916 (grub_efiemu_get_default_core_name): Likewise
917 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
918 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
919 * grub-core/fs/ntfs.c (fixup): Likewise.
920 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
921 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
922 (fzap_lookup): Likewise.
923 (zap_lookup): Likewise.
924 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
925 * grub-core/lib/legacy_parse.c (check_option): Likewise.
926 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
927 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
928 (grub_freebsd_add_meta_module): Likewise.
929 (grub_cmd_freebsd_module): Likewise.
930 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
931 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
932 (grub_xnu_writetree_get_size): Likewise.
933 (grub_xnu_writetree_toheap_real): Likewise.
934 (grub_xnu_find_key): Likewise.
935 (grub_xnu_create_key): Likewise.
936 (grub_xnu_create_value): Likewise.
937 (grub_xnu_register_memory): Likewise.
938 (grub_xnu_check_os_bundle_required): Likewise.
939 (grub_xnu_scan_dir_for_kexts): Likewise.
940 (grub_xnu_load_kext_from_dir): Likewise.
941 * grub-core/normal/color.c (color_list): Likewise.
942 * grub-core/normal/completion.c (current_word): Likewise.
943 * grub-core/normal/menu_entry.c (insert_string): Likewise.
944 * grub-core/term/serial.c (grub_serial_find): Likewise.
945 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
946 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
947 Likewise.
948 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
949 (grub_freebsd_add_meta_module): Likewise.
950 * include/grub/lib/arg.h (grub_arg_option): Likewise.
951 * include/grub/net.h (grub_net_card_driver): Likewise.
952 (grub_net_card): Likewise.
953 (grub_net_app_protocol): Likewise.
954 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
955 * include/grub/serial.h (grub_serial_find): Likewise.
956 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
957 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
958 (grub_xnu_create_value): Likewise.
959 (grub_xnu_find_key): Likewise.
960 (grub_xnu_scan_dir_for_kexts): Likewise.
961 (grub_xnu_load_kext_from_dir): Likewise.
962
963 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
964 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
965 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
966 Moved from here ...
967 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
968
112b4837
CW
9692011-11-28 Colin Watson <cjwatson@ubuntu.com>
970
971 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
972
49e891ac
VS
9732011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
974
975 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
976 (read_device): Fix size calculation.
977
fd258e5c
RM
9782011-11-25 Robert Millan <rmh@gnu.org>
979
980 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
981 (find_root_device_from_libzfs): Add zpool output parser to be used
982 as fallback when libzfs isn't available.
983
78845dc2
SG
9842011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
985
986 * po/Makefile.in.in: Add missing escape-continuation.
987
adac5211
VS
9882011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
989
990 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
991
10b64f1c
VS
9922011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
993
994 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
995
bb416954
VS
9962011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
997
998 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
999
bdfe9eeb
VS
10002011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1001
1002 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
1003
581ffa8a
VS
10042011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1005
1006 * grub-core/lib/adler32.c: Add missing license specification.
1007 * grub-core/lib/crc64.c: Likewise.
1008 * grub-core/loader/i386/pc/plan9.c: Likewise.
1009 * grub-core/partmap/plan.c: Likewise.
1010
2536cf64
LK
10112011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
1012
1013 Add facility to debug GRUB with gdb under qemu.
1014
1015 * grub-core/gdb_grub.in: New file.
1016 * grub-core/gmodule.pl.in: Likewise.
1017 * grub-core/Makefile.core.def (gmodule.pl): New script.
1018 (gdb_grub): Likewise.
1019
bc108a4a
VS
10202011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1021
1022 * util/grub-mount.c (argp_parser): Accept relative pathes.
1023 * util/grub-fstest.c (argp_parser): Likewise.
1024
111c1778
VS
10252011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1026
1027 Plan9 support.
1028
1029 * Makefile.util.def (libgrubmods): Add
1030 grub-core/partmap/plan.c.
1031 * docs/grub.texi: Notice Plan9 support.
1032 * grub-core/Makefile.core.def (plan9): New module.
1033 (part_plan): Likewise.
1034 * grub-core/loader/i386/pc/plan9.c: New file.
1035 * grub-core/partmap/plan.c: Likewise.
1036 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
1037 define.
1038 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
1039 * include/grub/mm.h (grub_extend_alloc): New inline function.
1040
c30be3b6
VS
10412011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1042
1043 Make Reed-Solomon faster by using power of generator representation of
1044 GF(256)*.
1045
1046 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
1047 (gf_double_t): Likewise.
1048 (gf_invert): Removed.
1049 (gf_powx): New array.
1050 (gf_powx_inv): Likewise.
1051 (scratch): Move higher.
1052 (gf_reduce): Removed.
1053 (gf_mul): Use powx.
1054 (gf_invert): Likewise.
1055 (init_inverts): Replaced with ...
1056 (init_powx): ...this. All users updated.
1057 (pol_evaluate): Replace multiplications with additions.
1058 (rs_encode): Likewise.
1059 (gauss_eliminate): Call gf_invert.
1060 (grub_reed_solomon_add_redundancy): Call init_powx.
1061 (grub_reed_solomon_recover): Call init_powx unconditionally.
1062
fa5aeffc
VS
10632011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1064
1065 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
1066
a346b81c
VS
10672011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1068
1069 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
1070 disk->partiton for safety.
1071
d89ee414
VS
10722011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1073
1074 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
1075 Fix a memory leak.
1076 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
1077
91ee7b6d
VS
10782011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1079
1080 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
1081
91e5a33d
VS
10822011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1083
1084 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
1085
9edd7be2
VS
10862011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1087
1088 Fix spaces handling in proc/self/mountinfo.
1089
1090 * util/getroot.c (unescape): New function.
1091 (grub_find_root_device_from_mountinfo): Use unescape.
1092
ba102053
VS
10932011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1094
1095 Support ZFS embedding.
1096
1097 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
1098 (grub_zfs_fs): Register grub_zfs_embed.
1099
aa94b870
VS
11002011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1101
1102 Fix MIPS compilation.
1103
1104 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
1105 * include/grub/offsets.h: Rename decompressor fields from
1106 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
1107 * util/grub-mkimage.c (image_targets): Use new names.
1108
5fbdac14
VS
11092011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1110
1111 Defer multiboot device parsing until we're in compressed part.
1112
1113 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
1114 bsd_part. setdevice has fallen into disuse.
1115 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
1116 (bsd_part): Likewise.
1117 (boot_dev): New variable.
1118 (multiboot_trampoline): Don't parse multiboot device.
1119 Pass multiboot device in %edx.
1120 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
1121 grub_boot_device.
1122 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
1123 Likewise.
1124 * grub-core/kern/i386/pc/startup.S: Save edx.
1125 (grub_boot_drive): Removed.
1126 (grub_install_dos_part): Likewise.
1127 (grub_install_bsd_part): Likewise.
1128 (grub_boot_device): New variable.
1129 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
1130 (grub_install_bsd_part): Likewise.
1131 (grub_boot_drive): Likewise.
1132 (grub_boot_device): New variable.
1133 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
1134 Removed.
1135 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
1136 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
1137 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
1138 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
1139 * util/grub-install.in: Remove redundant condition.
1140
691cbb58
VS
11412011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1142
1143 Fix bug introduced by previous commit.
1144
1145 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
1146
60240b8b
VS
11472011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1148
1149 Use decompressors framework on i386-pc. It increases core size
1150 by 46 bytes but improves compatibility and maintainability.
1151
1152 * grub-core/Makefile.core.def (lzma_decompress): New image.
1153 (kernel): Add i386_pc_ldflags.
1154 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
1155 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
1156 to real_to_prot, prot_to_real and device info.
1157 * include/grub/offsets.h: Renamed decompressor offsets.
1158 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
1159 (image_target_desc): Remove raw_size and rename decompressor fields.
1160 (compress_kernel): Handle lzma.
1161 (generate_image): Handle decompressors on i386-pc.
1162
e9d3421c
VS
11632011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1164
1165 * configure.ac: Add -fno-asynchronous-unwind-tables.
1166
2b23074a
VS
11672011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1168
1169 Move assembly code to C by using intwrap. It increases core size
1170 by 88 bytes but improves compatibility and maintainability.
1171
1172 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
1173 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
1174 ... here. Translated to C.
1175 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
1176 * grub-core/term/i386/pc/console.c (grub_console_getkey):
1177 ... here. Translated to C.
1178 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
1179 * grub-core/term/i386/pc/console.c (grub_console_getxy):
1180 ... here. Translated to C.
1181 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
1182 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
1183 ... here. Translated to C.
1184 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
1185 * grub-core/term/i386/pc/console.c (grub_console_cls):
1186 ... here. Translated to C.
1187 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
1188 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
1189 ... here. Translated to C.
1190 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
1191 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
1192 Translated to C.
1193 * grub-core/term/i386/pc/console.c (int10_9): New function.
1194 (grub_console_putchar): Likewise.
1195 * include/grub/i386/pc/console.h: Removed the not anymore shared
1196 functions.
1197
678f4b67
VS
11982011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1199
1200 Move grub_chainloader_real_boot out of the kernel.
1201
1202 * grub-core/Makefile.am: Remove machine/loader.h.
1203 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
1204 Removed.
1205 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
1206 variable.
1207 (grub_relocator16_keep_a20_enabled): Likewise.
1208 (grub_relocator16_boot): Fill new variables.
1209 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
1210 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
1211 relocator.
1212 (grub_chainloader_unload): Likewise.
1213 (grub_chainloader_cmd): Likewise.
1214 * include/grub/i386/pc/loader.h: Removed.
1215 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
1216 and esi. All initialisers updated.
1217
4626edf6
VS
12182011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12192011-11-12 Colin Watson <cjwatson@ubuntu.com>
1220
1221 * Makefile.util.def (grub-mount): New util.
1222 * .bzrignore: Add grub-mount.
1223 * configure.ac: Check for fuse and enable grub-mount if available.
1224 * docs/man/grub-mount.h2m: New file.
1225 * util/grub-mount.c: Likewise.
1226
10f0117b
VS
12272011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1228
1229 * grub-core/commands/efi/fixvideo.c: Gettextize.
1230 * grub-core/commands/hashsum.c: Likewise.
1231 * grub-core/commands/i386/cmostest.c: Likewise.
1232 * grub-core/commands/i386/pc/drivemap.c: Likewise.
1233 * grub-core/commands/i386/pc/lsapm.c: Likewise.
1234 * grub-core/commands/i386/pc/sendkey.c: Likewise.
1235 * grub-core/commands/lsmmap.c: Likewise.
1236 * grub-core/commands/menuentry.c: Likewise.
1237 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
1238 * grub-core/commands/setpci.c: Likewise.
1239 * grub-core/loader/i386/bsd.c: Likewise.
1240 * grub-core/loader/i386/linux.c: Likewise.
1241 * util/getroot.c: Likewise.
1242 * util/grub-editenv.c: Likewise.
1243 * util/grub-fstest.c: Likewise.
1244 * util/grub-mkfont.c: Likewise.
1245 * util/grub-mkimage.c: Likewise.
1246 * util/grub-mkpasswd-pbkdf2.c: Likewise.
1247 * util/grub-pe2elf.c: Likewise.
1248 * util/grub-probe.c: Likewise.
1249 * util/grub-setup.c: Likewise.
1250 * util/ieee1275/ofpath.c: Likewise.
1251 * util/misc.c: Likewise.
1252 * util/raid.c: Likewise.
1253
566f779b
RM
12542011-11-11 Robert Millan <rmh@gnu.org>
1255
1256 * util/getroot.c (grub_util_get_geom_abstraction): Remove
1257 __attribute__((unused)) from `os_dev', which *is* being used.
1258
b50787de
VS
12592011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1260
1261 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
1262 forgotten define.
1263 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
1264 GRUB_IA64_DL_GOT_ALIGN.
1265 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
1266 GRUB_IA64_DL_TRAMP_ALIGN.
1267
119d11c8
VS
12682011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1269
1270 Replace grub_fatal with normal errors in i386 linux loader.
1271
1272 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
1273 (allocate_pages): Check find_efi_mmap_size return value.
1274 (grub_e820_add_region): Return error.
1275 (grub_linux_boot): Check mmap return value.
1276
6e0632e2
VS
12772011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1278
1279 * grub-core/commands/acpihalt.c: Gettextized.
1280 * grub-core/commands/cacheinfo.c: Likewise.
1281 * grub-core/commands/cmp.c: Likewise.
1282 * grub-core/commands/efi/loadbios.c: Likewise.
1283 * grub-core/commands/gptsync.c: Likewise.
1284 * grub-core/commands/ieee1275/suspend.c: Likewise.
1285 * grub-core/commands/legacycfg.c: Likewise.
1286 * grub-core/commands/memrw.c: Likewise.
1287 * grub-core/commands/minicmd.c: Likewise.
1288 * grub-core/commands/parttool.c: Likewise.
1289 * grub-core/commands/time.c: Likewise.
1290 * grub-core/commands/videoinfo.c: Likewise.
1291 * grub-core/disk/geli.c: Likewise.
1292 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
1293 * grub-core/disk/luks.c: Likewise.
1294 * grub-core/disk/lvm.c: Likewise.
1295 * grub-core/font/font_cmd.c: Likewise.
1296 * grub-core/fs/zfs/zfscrypt.c: Likewise.
1297 * grub-core/fs/zfs/zfsinfo.c: Likewise.
1298 * grub-core/gfxmenu/view.c: Likewise.
1299 * grub-core/kern/emu/hostdisk.c: Likewise.
1300 * grub-core/kern/emu/main.c: Likewise.
1301 * grub-core/kern/emu/misc.c: Likewise.
1302 * grub-core/kern/emu/mm.c: Likewise.
1303 * grub-core/kern/mips/arc/init.c: Likewise.
1304 * grub-core/kern/mips/loongson/init.c: Likewise.
1305 * grub-core/kern/partition.c: Likewise.
1306 * grub-core/lib/i386/halt.c: Likewise.
1307 * grub-core/lib/mips/arc/reboot.c: Likewise.
1308 * grub-core/lib/mips/loongson/reboot.c: Likewise.
1309 * grub-core/loader/i386/pc/chainloader.c: Likewise.
1310 * grub-core/loader/i386/xnu.c: Likewise.
1311 * grub-core/loader/multiboot.c: Likewise.
1312 * grub-core/net/bootp.c: Likewise.
1313 * grub-core/net/net.c: Likewise.
1314 * grub-core/normal/term.c: Likewise.
1315 * grub-core/partmap/bsdlabel.c: Likewise.
1316 * grub-core/parttool/msdospart.c: Likewise.
1317 * grub-core/term/gfxterm.c: Likewise.
1318 * grub-core/term/terminfo.c: Likewise.
1319 * grub-core/video/i386/pc/vbe.c: Likewise.
1320 * util/grub-menulst2cfg.c: Likewise.
1321 * util/grub-mkdevicemap.c: Likewise.
1322 * util/grub-mklayout.c: Likewise.
1323 * util/grub-mkrelpath.c: Likewise.
1324 * util/grub-script-check.c: Likewise.
1325 * util/ieee1275/grub-ofpathname.c: Likewise.
1326 * util/resolve.c: Likewise.
1327
073aa7a9
VS
13282011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1329
1330 Support %1$d syntax.
1331
1332 * tests/printf_unit_test.c: New file.
1333 * Makefile.util.def (printf_test): New test.
1334 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
1335
c76b5417
VS
13362011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1337
1338 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
1339 fix.
1340
df067ad1
VS
13412011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1342
1343 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
1344 dprintf.
1345 * grub-core/font/font.c (grub_font_load): Likewise.
1346
5b289bc5
VS
13472011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1348
1349 * util/grub-macho2img.c: Add comment concerning gettext.
1350 * grub-core/lib/legacy_parse.c: Likewise.
1351
c1860f87
VS
13522011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1353
1354 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
1355 (grub_xvasprintf): Likewise.
1356
d35d0d37
VS
13572011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1358
1359 Add const keyword to grub_env_get and gettextize week days.
1360
1361 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
1362 (grub_read_hook_datetime): Return const char *.
1363 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
1364 updated.
1365 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
1366 Mark for gettext.
1367 (grub_get_weekday_name): Return const char *. Call gettext.
1368 * grub-core/script/argv.c (grub_script_argv_append): Receive const
1369 char * and len as the argument. All users updated.
1370 (grub_script_argv_split_append): Receive const char *.
1371 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
1372 * include/grub/env.h (grub_env_get): Likewise.
1373 (grub_env_read_hook_t): Return const char *.
1374 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
1375 (grub_script_argv_split_append): Likewise.
1376
9aed8a71
VS
13772011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1378
1379 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
1380
067fdf00
VS
13812011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1382
1383 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
1384 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
1385
a8bd9d39
VS
13862011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1387
1388 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
1389 Fix prototype.
1390
f7ce5baf
VS
13912011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1392
1393 Fix mips compilation.
1394
1395 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
1396 normal decoder.
1397 (hashes): Use in embed decoder as well (for sizes).
1398 (dec_stream_header): Fix embed decompressor logic.
1399 (dec_stream_footer): Likewise.
1400
9bb182f3
VS
14012011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1402
1403 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
1404 an error and not a fatal on unrecognised relocation types.
1405
63a9e6f6
VS
14062011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1407
1408 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
1409 Issue error rather than printf on unknown arguments.
1410
4c458569
VS
14112011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1412
1413 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
1414 Make buf a const.
1415
e2d22baf
VS
14162011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1417
1418 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
1419 Fix module name.
1420
53dc8590
VS
14212011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1422
1423 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
1424 leftover debug printf.
1425
6c189294
VS
14262011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1427
1428 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
1429
f7688369
VS
14302011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1431
1432 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
1433 A stylistic fix.
1434
11a775a3
VS
14352011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1436
1437 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
1438
33f784e8
SL
14392011-11-10 Shea Levy <slevy@tieronedesign.com>
1440
1441 Allow all modules to perform serial IO
1442
1443 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
1444 * include/grub/serial.h (grub_serial_port_configure): New inline
1445 function.
1446 (grub_serial_port_fetch): Likewise.
1447 (grub_serial_port_put): Likewise.
1448 (grub_serial_port_fini): Likewise.
1449 (grub_serial_find): New proto.
1450
f6276525
VS
14512011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1452
1453 Put symlink at the end of the node and fix a potential
1454 memory corruption.
1455
1456 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
1457 Make symlink into an array.
1458 (set_rockridge): Set have_symlink and alloc_dirents.
1459 (grub_iso9660_read_symlink): Use new layout.
1460 (grub_iso9660_iterate_dir): Fix memory corruption.
1461 Use new layout.
1462 (grub_iso9660_dir): Set have_symlink.
1463 (grub_iso9660_open): Likewise.
1464
c3591189
VS
14652011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1466
1467 Remove local keyword.
1468
1469 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
1470 (version_test_gt): Likewise.
1471 (version_find_latest): Likewise.
1472 (gettext_printf): Likewise.
1473 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
1474
cb544caa
VS
14752011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1476
1477 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
1478
45bd824d
VS
14792011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1480
1481 Fix ZFS memory and resource leaks.
1482
1483 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
1484 All users updated.
1485 Free type on exit.
1486 (fill_vdev_info): New parameter inserted. All users updated.
1487 (check_pool_label): Likewise.
1488 (scan_disk): Likewise.
1489 (scan_devices): Close non-inserted disks.
1490 (fzap_iterate): Free l.
1491 (unmount_device): Free children descripto memory.
1492
ad9a2f44
VS
14932011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1494
1495 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
1496 argument (access out of bounds).
1497
6b68db81
VS
14982011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1499
1500 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
1501 >= 6 drives.
1502
28840fda
VS
15032011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1504
1505 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
1506 Fix declaration.
1507
8a5a3a5b
VS
15082011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1509
1510 Fix several memory leaks.
1511
1512 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
1513 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
1514 (grub_cpio_dir): Likewise.
1515 * grub-core/fs/fat.c (grub_fat_label): Likewise.
1516 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
1517 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
1518 (grub_romfs_label): Likewise.
1519 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
1520 (squash_unmount): New function.
1521 (grub_squash_dir): Fix memory leak.
1522 (grub_squash_open): Likewise.
1523 (grub_squash_read): Likewise.
1524 (grub_squash_mtime): Likewise.
1525 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
1526 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
1527 * util/grub-fstest.c (fstest): Likewise.
1528
57b01250
VS
15292011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1530
1531 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
1532 avoid accessing beyond the array.
1533
19e81ba7
VS
15342011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1535
1536 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
1537
52b656c0
VS
15382011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1539
1540 Several AFFS fixes.
1541
1542 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
1543 (GRUB_AFFS_FLAG_FFS): Removed.
1544 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
1545 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
1546 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
1547 (grub_fshelp_node): Make block 32-bit.
1548 Add block_cache and last_block_cache.
1549 (grub_affs_read_block): Fill and use block cache.
1550 (grub_affs_read_file): Removed.
1551 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
1552 boot block.
1553 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
1554 safety.
1555 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
1556 space.
1557 (grub_affs_close): Free block cache.
1558 (grub_affs_read): Use grub_fshelp_read_file directly.
1559
438a746a
VS
15602011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1561
1562 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
1563 with no error set.
1564
49a45021
VS
15652011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1566
1567 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
1568 used variable.
1569 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
1570 Likewise.
1571
3ae17eb8
VS
15722011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1573
1574 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
1575
1576 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
1577 byteswap when needed.
1578
27610c38
VS
15792011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1580
1581 Fix FreeBSD compilation.
1582
1583 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
1584 to avoid circular dependency.
1585 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
1586 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
1587 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
1588
4a19b601
VS
15892011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1590
1591 Fix ZFS crypto error types.
1592
1593 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
1594 (grub_gcm_decrypt): Likewise.
1595 (grub_zfs_load_key_real): Fix error code type. Handle possible error
1596 from PBKDF2.
1597
958ee221
VS
15982011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1599
1600 Illumos support.
1601
1602 * Makefile.util.def (10_illumos): New script.
1603 * configure.ac: Set COND_HOST_ILLUMOS.
1604 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
1605 Support Illumos calls.
1606 (find_partition_start) [__sun__]: Likewise.
1607 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
1608 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
1609 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
1610 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
1611 device.
1612 * util/grub-probe.c (probe) [__sun__]: Do character check.
1613 * util/grub.d/10_illumos.in: New file.
1614
cac14fb6
VS
16152011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1616
1617 Support escaped commas in hostdisk.
1618
1619 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
1620 (find_grub_drive): Use unescape_cmp.
1621 (make_device_name): Escape commas.
1622
78e08dc3
VS
16232011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1624
1625 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
1626
9f421dd1
VS
16272011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1628
1629 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
1630 variable.
1631
ed64e9e2
VS
16322011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1633
1634 Support trampoline jumps on powerpc.
1635
1636 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
1637 __ia64__ path.
1638 (grub_dl_load_segments): Set mod->sz.
1639 (grub_dl_flush_cache): Flush whole space occupied by module, not just
1640 segments.
1641 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
1642 (jump): Likewise.
1643 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
1644 function.
1645 (trampoline): New struct.
1646 (trampoline_template): New const.
1647 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
1648 * include/grub/dl.h (grub_dl): Add sz element.
1649 [__powerpc__]: Follow __ia64__.
1650 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
1651 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
1652 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
1653 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
1654
3084ede4
VS
16552011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
1656
1657 ZFS crypto support.
1658
1659 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
1660 * grub-core/Makefile.core.def (zfscrypt): New module.
1661 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
1662 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
1663 it. All users updated.
1664 (grub_zfs_decrypt): New var.
1665 (grub_zfs_load_key): Likewise.
1666 (zio_checksum_functions): Add SHA256+MAC.
1667 (zio_checksum_verify): Handle incomplete comparison due to MAC.
1668 (zio_read): Handle encrypted blocks.
1669 (zap_verify): Remove incorrect check.
1670 (fzap_iterate): Handle non-standard fzap.
1671 (zap_iterate): Likewise.
1672 (zap_iterate_u64): New function.
1673 (dnode_get_fullpath): Load keys.
1674 * grub-core/fs/zfs/zfscrypt.c: New file.
1675 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
1676 (grub_crypto_ecb_encrypt): Make input const.
1677 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
1678 (grub_crypto_ecb_encrypt): Make input const.
1679 (GRUB_CIPHER_AES): New macro.
1680 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
1681 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
1682 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
1683 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
1684 prefix. All users updated.
1685 (grub_zfs_add_key): New proto.
1686 (grub_zfs_decrypt): Likewise.
1687 (grub_zfs_load_key): Likewise.
1688 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
1689 * util/grub-fstest.c (options): Add -K option.
1690 (argp_parser): Likewise.
1691
b632b404
VS
16922011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1693
1694 Support zle compression on ZFS.
1695
1696 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
1697 (decomp_table): Add zle.
1698 * include/grub/zfs/zio.h (zio_compress): Add zle.
1699
c7ba4f69
VS
17002011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1701
1702 Support BtrFS embedding.
1703
1704 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
1705 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
1706 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
1707 * util/grub-setup.c (setup): Use fs embedding if available.
1708 Add additional sanity check.
1709
455377d9
VS
17102011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1711
1712 * util/grub-install.in: Fix condition for config_opt.
1713
c2fd16ca
VS
17142011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1715
1716 Support third redundancy strip on raidz3.
1717
1718 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
1719 Return error on singularity. All users updated.
1720 (read_device): Don't stop on 3rd failure on raidz3.
1721
8622923b
VS
17222011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1723
1724 Support case-insensitive ZFS subvolumes.
1725
1726 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
1727 All users updated.
1728 (zap_hash): Likewise.
1729 (name_cmp): New function.
1730 (zap_leaf_array_equal): New parameter case_insensitive.
1731 All users updated.
1732 (zap_leaf_lookup): Likewise.
1733 (fzap_lookup): Likewise.
1734 (zap_lookup): Likewise.
1735 (dnode_get_path): New parameter case_insensitive. Retrieve case
1736 sensitiviness of a volume. All users updated.
1737 (dnode_get_fullpath): New parameter case_insensitive.
1738 All users updated.
1739 (grub_zfs_dir): Set info.case_insensitiveness.
1740
95f2e860
VS
17412011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1742
1743 Support second redundancy strip on raidz(2,3).
1744
1745 * grub-core/fs/zfs/zfs.c (powx): New array.
1746 (powx_inv): Likewise.
1747 (poly): New const.
1748 (xor_out): New function.
1749 (gf_mul): Likewise.
1750 (recovery): Likewise.
1751 (read_device): Use second redundancy strip.
1752
11ee4389
VS
17532011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1754
1755 Use a power of generator representation of GF(256) multiplication group
1756 to save space time and complexity.
1757
1758 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
1759 (raid6_table2): Likewise.
1760 (powx): New array.
1761 (powx_inv): Likewise.
1762 (poly): New const.
1763 (grub_raid_block_mul): Replace with ...
1764 (grub_raid_block_mulx): ...this.
1765 (grub_raid6_init_table): Rewritten.
1766 (grub_raid6_recover): Use power of generator representation.
1767
09e2763f
VS
17682011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1769
1770 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
1771 for the right device.
1772
8bec9a28
VS
17732011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1774
1775 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
1776 expected by grub-mkimage and it's more clear since there is no implicit
1777 padding.
1778
dbd3a32e
VS
17792011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1780
1781 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
1782 disk.
1783 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
1784
182c872a
PMH
17852011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
1786
1787 * util/grub-mkrescue.in: Fix handling xorriso option.
1788
1e51cabd
VS
17892011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1790
1791 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
1792 NULL.
1793
9cc3581d 17942011-11-03 crocket <crockabiscuit@gmail.com>
1795
1796 * util/grub.d/10_linux.in: Add Slackware initrd naming.
1797
158dc1ea
VS
17982011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1799
1800 XZ CRC64 and SHA256 support.
1801
1802 * Makefile.util.def (libgrubmods): Add crc64.c.
1803 * grub-core/Makefile.core.def (crc64): New module.
1804 * grub-core/lib/crc64.c: New file.
1805 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
1806 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
1807 Fix the type.
1808 (MAX_HASH_SIZE): New define.
1809 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
1810 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
1811 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
1812 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
1813 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
1814 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
1815 Handle non-crc32 hashes.
1816 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
1817 (dec_stream_header): Handle non-crc32 hashes.
1818 (dec_stream_footer): Likewise.
1819 (dec_block_header): Likewise.
1820 (dec_main): Likewise.
1821 (xz_dec_init): Likewise.
1822 (xz_dec_reset): Likewise.
1823 (xz_dec_end): Likewise.
1824 * util/import_gcry.py: Add CRC64 line.
1825
9d9b3d2f
VS
18262011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1827
1828 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
1829 as well.
1830
7d0ac931
VS
18312011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1832
1833 Make reiserfs label retrieval similar to other *_label functions.
1834
1835 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
1836 (REISERFS_MAX_LABEL_LENGTH): Removed.
1837 (REISERFS_LABEL_OFFSET): Likewise.
1838 (grub_reiserfs_label): Rewritten.
1839
18402011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1841
1842 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
1843 field.
1844
cf5ba824
VS
18452011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1846
1847 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
1848
17744004
VS
18492011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1850
1851 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
1852 drive failure on both raidz and raidz2.
1853
aca5aefc
VS
18542011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1855
1856 Fix RAIDZ(2) for >= 5 devices.
1857
1858 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
1859 asize argument. All users updated.
1860
ce8ca56e
VS
18612011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1862
1863 Fix RAIDZ(2).
1864
1865 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
1866 (fill_vdev_info_real): Set ashift.
1867 (read_device): Rewrite RAIDZ part based on reverse engineering.
1868
7c01e783
VS
18692011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
1870
1871 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
1872 don't report potentially unavialiable fields in debug output.
1873 (find_path): Fix double-free and memory leak.
1874
ce109e84
VS
18752011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
1876
1877 Read label on UFS1.
1878
1879 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
1880 (grub_ufs_fs): Always set .label.
1881
87661123
VS
18822011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
1883
1884 Use shifts in UFS.
1885
1886 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
1887 (grub_ufs_data): New field log2_blksz.
1888 (grub_ufs_read_file): Use shifts.
1889 (grub_ufs_mount): Check block size and logarithm it.
1890
46bc1dc2
VS
18912011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
1892
1893 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
1894 long symlinks.
1895
19ee2987
VS
18962011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1897
1898 Handle symlinks and long names on tar and cpio.
1899
1900 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
1901 (ATTR_FILE): Likewise.
1902 (ATTR_DIR): Likewise.
1903 (ATTR_LNK): Likewise.
1904 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
1905 (grub_cpio_find_file): Fill mode, handle linkname field as well as
1906 L and K entries.
1907 (grub_cpio_mount): Zero-fill data.
1908 (handle_symlink): New function.
46bc1dc2
VS
1909 (grub_cpio_dir): Handle symlinks.
1910 (grub_cpio_open): Likewise.
1911 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 1912
c83a08d8
VS
19132011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1914
1915 Fix iso9660 filename limitations and fix memory leaks.
1916
1917 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
1918 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
1919
45cdd3ea
VS
19202011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1921
1922 Fix JFS file name length limitations.
1923
1924 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
1925 (grub_jfs_diropen): Fix maximum filename length.
1926 (grub_jfs_getent): Fix filename length.
1927 (grub_jfs_lookup_symlink): Fix size checks.
1928
94ef05c2
VS
19292011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1930
1931 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
1932 string.
1933
785ab8c7
VS
19342011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1935
eb0b6b45
VS
1936 Leverage BFS implementation to read AFS.
1937
1938 * Makefile.util.def (libgrubmods): Add afs.c.
1939 * grub-core/Makefile.core.def (afs): New module
1940 * grub-core/fs/afs.c: New file.
1941 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
1942
19432011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1944
1945 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 1946
c4a1628f
VS
19472011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1948
1949 * grub-core/fs/bfs.c: Run indent.
1950
5825b379
VS
19512011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1952
1953 BFS implementation based on the specification.
1954
1955 * grub-core/fs/bfs.c: New file.
1956 * Makefile.util.def (libgrubmods): Add bfs.c.
1957 * grub-core/Makefile.core.def (bfs): New module.
1958
42b2a706
VS
19592011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1960
1961 * util/grub-fstest.c (cmd_cp): Clarify error message.
1962 (cmd_cmp): Likewise.
1963
61b99bfc
YB
19642011-10-30 Yves Blusseau <blusseau@zetam.org>
1965
1966 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
1967 and befs_be.
1968
faba3d16
VS
19692011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
1970
1971 Remove afs and befs because of copyright problem.
1972
1973 * grub-core/fs/afs.c: Removed.
1974 * grub-core/fs/afs_be.c: Removed.
1975 * grub-core/fs/befs.c: Removed.
1976 * grub-core/fs/befs_be.c: Removed.
1977 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
1978 * grub-core/Makefile.core.def (afs): Removed.
1979 (afs_be): Likewise.
1980 (befs): Likewise.
1981 (befs_be): Likewise.
1982
c39224b0
VS
19832011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1984
1985 Prefer rockridge over Joliet.
1986
1987 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
1988 to ...
1989 (set_rockridge): ... here.
1990 (grub_iso9660_mount): Check rockridge on the primary label when
1991 discovering. Ignore Joliet if Rockridge is present.
1992
e551115a
VS
19932011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1994
1995 Use shifts in nilfs2.
1996
1997 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
1998 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
1999 (grub_nilfs2_palloc_entries_per_group): Replace with ...
2000 (grub_nilfs2_log_palloc_entries_per_group): ... this.
2001 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
2002 (grub_nilfs2_entries_per_block): Replaced with ...
2003 (grub_nilfs2_log_entries_per_block_log): ... this.
2004 (grub_nilfs2_blocks_per_group): Replaced with ...
2005 (grub_nilfs2_blocks_per_group_log): ... this.
2006 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
2007 (grub_nilfs2_blocks_per_desc_block_log): ... this.
2008 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
2009 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
2010 (grub_nilfs2_palloc_entry_offset): Replaced ...
2011 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
2012 (grub_nilfs2_dat_translate): Use shifts.
2013 (grub_nilfs2_read_inode): Likewise.
2014 (GRUB_MOD_INIT): Ensure that logs are correct.
2015
564dd58c
VS
20162011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2017
2018 Use shifts in minix filesystem.
2019
2020 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
2021 (GRUB_MINIX_ZONE2SECT): Likewise.
2022 (grub_minix_data): Replace block_size with log_block_size.
2023 (grub_minix_read_file): Use shifts.
2024 (grub_minix_mount): Check block size and take a logarithm.
2025
ed9ba06d
VS
20262011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2027
2028 Use shifts in squash4.
2029
2030 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
2031 (squash_mount): Check block size and take logarithm.
2032 (direct_read): Use shifts.
2033
ad03fe76
VS
20342011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2035
2036 Correct befs block counting logic.
2037
2038 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
2039 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
2040 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
2041 (grub_afs_read_inode): Use block_shift.
2042 (RANGE_SHIFT): New definition.
2043 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
2044 unexpected conditions, use shifts and appropriate types.
2045 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
2046
6563f63d
VS
20472011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2048
2049 * grub-core/disk/raid.c (scan_devices): Check partition.
2050 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
2051
5b1ae25f
VS
20522011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2053
2054 Support BFS (befs) UUID.
2055
2056 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
2057 (grub_afs_small_data_element_header): New struct.
2058 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
2059 (grub_afs_read_attribute) [MODE_BFS]: New function.
2060 (grub_afs_iterate_dir): Allocate for complete inode.
2061 (grub_afs_mount): Likewise.
2062 (grub_afs_uuid) [MODE_BFS]: New function.
2063 (grub_afs_fs) [MODE_BFS]: Add .uuid.
2064
f8d82408
VS
20652011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2066
2067 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
2068 (zfs_unmount): Fix memory leak.
2069
5773fb64
VS
20702011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2071
2072 Support NTFS reparse points.
2073
2074 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
2075 (symlink_descriptor): New struct.
2076 (grub_ntfs_read_symlink): New function.
2077 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
2078 (grub_ntfs_open): Likewise.
2079
91c3fdde
VS
20802011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2081
2082 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
2083
3be82e10
VS
20842011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2085
2086 fstest xnu_uuid subcommand.
2087
2088 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
2089 grub-core/commands/xnu_uuid.c.
2090 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
2091 (fstest): Handle xnu_uuid.
2092 (options): Document xnu_uuid.
2093 (argp_parser): Parse xnu_uuid.
2094
8e32442e
VS
20952011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2096
2097 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
2098 -l argument. Add newline at the end if printing.
2099 (GRUB_MOD_INIT): Document -l.
2100
52a05075
VS
21012011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2102
2103 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
2104
1869edb5
VS
21052011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2106
2107 ZFS multi-device and version 33 support.
2108
2109 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
2110 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
2111 (grub_zfs_data): Add multidev-ice-related fields.
2112 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
2113 (dva_get_offset): Make dva const.
2114 (zfs_fetch_nvlist): New function.
2115 (fill_vdev_info_real): Likewise.
2116 (fill_vdev_info): Likewise.
2117 (check_pool_label): Likewise.
2118 (scan_disk): Likewise.
2119 (scan_devices): Likewise.
2120 (read_device): Likewise.
2121 (read_dva): Likewise.
2122 (zio_read_gang): Use read_dva.
2123 (zio_read_data): Likewise.
2124 (zap_leaf_lookup): Add missing endian conversion.
2125 (zap_verify): Add missing endian conversion. All users updated.
2126 (fzap_lookup): Likewise.
2127 (fzap_iterate): Likewise.
2128 (dnode_get_path): Handle SA bonus.
2129 (nvlist_find_value): Make input const. All users updated.
2130 (unmount_device): New function.
2131 (zfs_unmount): Use unmount_device.
2132 (zfs_mount): Use scan_disk.
2133 (zfs_mtime): New function.
2134 (grub_zfs_open): Handle system attributes.
2135 (fill_fs_info): Likewise.
2136 (grub_zfs_dir): Likewise.
2137 (grub_zfs_fs): Add mtime.
2138 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
2139 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
2140 (SA_MTIME_OFFSET): Likewise.
2141 (SA_SYMLINK_OFFSET): Likewise.
2142 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
2143 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
2144 (fstest): Support zfsinfo.
2145 (argp_parser): Likewise.
2146
186b4028
VS
21472011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2148
2149 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
2150 error.
2151
21522011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
2153
2154 ZFS fixes.
2155
2156 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
2157 sharing the same block. Iterate over correct number of indices.
2158 (dnode_get_path): Handle symlinks correctly.
2159
c0584900
VS
21602011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2161
2162 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
2163
67e2bd71
VS
21642011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2165
2166 Read label on HFS+.
2167
2168 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
2169 (grub_hfsplus_btree_search): Fix types.
2170 (grub_hfsplus_label): Implement.
2171
e9cc6b7b
VS
21722011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2173
2174 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
2175
19832ddb
VS
21762011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2177
2178 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
2179
66b40850
VS
21802011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2181
2182 Fix symlink handling on iso9660.
2183
2184 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
2185 All users updated.
2186 (grub_iso9660_susp_iterate): Accept zero-size iterate.
2187 (grub_iso9660_read_symlink): Moved most of code ...
2188 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
2189
db821363
VS
21902011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2191
2192 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
2193 Use union to avoid breaking strict-aliasing rules.
2194
e1211949
VS
21952011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2196
2197 Support multi-extent iso files.
2198
2199 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
2200 Add node.
2201 (grub_fshelp_node): Revamp. All users updated.
2202 (FLAG_*): New enum.
2203 (read_node): New function.
2204 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
2205 All users updated.
2206 (grub_iso9660_mount): Don't attempt to read sua when there is none.
2207 (get_node_size): New function.
2208 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
2209 entries.
2210 Fix memory leak on . and ..
2211 (grub_iso9660_read): Use read_node.
2212 (grub_iso9660_close): Free node.
2213
d4888031
VS
22142011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2215
2216 Fix tar 4G limit and handle paths containing dot.
2217
2218 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
2219 (canonicalize): New function.
2220 (grub_cpio_find_file): Use canonicalize. Store offs in
2221 grub_disk_addr_t.
2222 (grub_cpio_dir): Use grub_disk_addr_t.
2223 (grub_cpio_open): Likewise.
2224
9f12e664
VS
22252011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2226
2227 Fix handling of uncompressed blocks on squashfs and break 4G limit.
2228
2229 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
2230 unused flags.
2231 (grub_squash_inode): Add long_file and block_size.
2232 (grub_squash_cache_inode): New struct.
2233 (grub_squash_dirent): Make types into enum.
2234 (SQUASH_TYPE_LONG_REGULAR): New type.
2235 (grub_squash_frag_desc): Add field size.
2236 (SQUASH_BLOCK_FLAGS): New enum.
2237 (grub_squash_data): Use grub_squash_cache_inode.
2238 (grub_fshelp_node): Make ino_chunk 64-bit.
2239 (read_chunk): Minor argument change. All users updated.
2240 (squash_mount): Use correct le_to_cpu.
2241 (grub_squash_open): Handle LONG_REGULAR.
2242 (direct_read): New function.
2243 (grub_squash_read_data): Handle blocks correctly.
2244
9f326fba
VS
22452011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2246
2247 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
2248
f4d9b64b
VS
22492011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2250
2251 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
2252
5bbd28b8
VS
22532011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
2254
2255 Fix 2G limit on ZFS.
2256
2257 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
2258 types.
2259 (uberblock_verify): Likewise.
2260 (dmu_read): Likewise.
2261 (grub_zfs_read): Likewise. Remove invalid cast.
2262
68c72069
VS
22632011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
2264
2265 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
2266 (grub_jfs_blkno): Fix incorrect shift.
2267 (grub_jfs_read_file): Use more appropriate types.
2268
6e536dc8
VS
22692011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
2270
2271 Support triple indirect on minix2 and minix3.
2272
2273 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
2274 Declare triple_indir_zone.
2275 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
2276 indirect.
2277
e0864e7a
VS
22782011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
2279
2280 Minix FS fixes.
2281
2282 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
2283 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
2284 Rename ctime to mtime. All users updated.
2285 (grub_minix_get_file_block): Fix types and double indirect computations.
2286
89481cab
VS
22872011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2288
2289 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
2290 if no label is found.
2291 (grub_fat_iterate_dir): Fix file size type.
2292 (grub_fat_iterate_dir): Likewise.
2293
f646e143
VS
22942011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2295
2296 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
2297 save some space.
2298 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
2299 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
2300
534d769e
VS
23012011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2302
2303 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
2304
e084ba18
VS
23052011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2306
2307 * util/import_gcry.py: Accept space between # and include.
2308
3471ecdf
VS
23092011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2310
2311 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
2312
124df5f6
VS
23132011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2314
2315 Fine grainely disable warnings on lexer. Remove Wno-error on it.
2316
2317 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
2318 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
2319 yylex_strncpy.
2320 * grub-core/script/yylex.l: Add fine-grained #pragma.
2321
4defb8d5
VS
23222011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2323
2324 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
2325 New inline function.
2326 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
2327 Likewise.
2328 (memset) [GRUB_UTIL]: Likewise.
2329 (memcmp) [GRUB_UTIL]: Likewise.
2330
4e94ae65
VS
23312011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2332
2333 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
2334 inline function rather than a define.
2335
18c575e5
VS
23362011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2337
2338 * util/grub-setup.c: Add missing include.
2339
f8bc22a8
VS
23402011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2341
2342 * util/ieee1275/grub-ofpathname.c: Add missing include.
2343
3ce69fc9
VS
23442011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2345
2346 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
2347 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
2348 Likewise.
2349
d1e293bb
VS
23502011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2351
2352 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
2353 grub_memcmp usage.
2354
7a5c54a4
VS
23552011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2356
2357 * util/grub-install.in: Add datarootdir as per automake manual
2358 suggestion.
2359 * util/grub-mknetdir.in: Likewise.
2360
23612011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
2362
2363 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
2364 suggestion.
2365 * util/grub.d/10_kfreebsd.in: Likewise.
2366 * util/grub.d/10_linux.in: Likewise.
2367 * util/grub.d/10_netbsd.in: Likewise.
2368 * util/grub.d/10_windows.in: Likewise.
2369 * util/grub.d/20_linux_xen.in: Likewise.
2370
766f7d08
VS
23712011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2372
2373 Remove redundant grub_kernel_image_size.
2374
2375 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
2376 _edata and _start.
2377 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
2378 the small code. It moves it only by few bytes but simplifies the code.
2379 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
2380 _start.
2381 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
2382 (grub_kernel_image_size): Removed.
2383 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
2384 (grub_kernel_image_size): Removed.
2385 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
2386 compiled with Apple toolchain.
2387 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
2388 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
2389 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
2390 (grub_total_module_size): Likewise.
2391 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
2392 Removed.
2393 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
2394 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
2395 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
2396 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
2397 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
2398 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
2399 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
2400 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
2401 Removed.
2402 (grub_total_module_size): Removed.
2403 * util/grub-mkimage.c (image_target_desc): Remove image_size.
2404 (image_targets): Likewise.
2405 Set .compressed_size to no field on sparc.
2406 (generate_image): Remove kernel_image_size handling.
2407
fcf1d672
SJ
24082011-10-19 Szymon Janc <szymon@janc.net.pl>
2409
2410 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
2411 NULL pointer dereference.
2412
de9c615e
VS
24132011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2414
2415 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
2416 done with a dedicated section.
2417
2418 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
2419 Ensure the correct position of boot_path.
2420 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
2421 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
2422 other fields.
2423 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
2424 * include/grub/boot.h: Removed. All references removed.
2425 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
2426 Removed.
2427 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
2428
e55599dc
VS
24292011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2430
2431 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
2432 name.
2433
36dd20ad
VS
24342011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2435
2436 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
2437
f8f72eb8
VS
24382011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2439
2440 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
2441 Don't add the bogus brackets.
2442
a374751b
VS
24432011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2444
2445 ExFAT support.
2446
2447 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
2448 * grub-core/Makefile.core.def (exfat): New module.
2449 * grub-core/fs/exfat.c: New file.
2450 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
2451 (GRUB_FAT_ATTR_*): Make into an enum.
2452 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
2453 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
2454 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
2455 (GRUB_FAT_MAXFILE): Removed.
2456 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
2457 (grub_current_fat_bpb_t): New type.
2458 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
2459 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
2460 (grub_fat_dir_node_t): New type.
2461 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
2462 (fat_log2) [MODE_EXFAT]: Removed.
2463 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
2464 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
2465 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
2466 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
2467 (grub_fat_label) [MODE_EXFAT]: New function.
2468 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
2469 reserved_first_sector to 0.
2470
544c2487
VS
24712011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2472
2473 Move grub_reboot out of the kernel.
2474
2475 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
2476 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
2477 * grub-core/lib/efi/reboot.c: ... here.
2478 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
2479 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
2480 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
2481 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
2482 * grub-core/lib/i386/reboot_trampoline.S: ... here.
2483 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
2484 * grub-core/lib/ieee1275/reboot.c: ... here.
2485 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
2486 * grub-core/lib/mips/arc/reboot.c: ... here.
2487 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
2488 * grub-core/lib/mips/loongson/reboot.c: ...here.
2489 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
2490 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
2491 * include/grub/emu/misc.h (grub_reboot): New function declaration.
2492 * include/grub/i386/reboot.h: New file.
2493 * include/grub/mips/loongson/ec.h: Fix includes.
2494 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
2495 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
2496 * grub-core/lib/i386/reboot.c: New file.
2497
a97501d2
VS
24982011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2499
2500 Make grub_prefix into module to fix the arbitrary limit and save
2501 some space.
2502
2503 * grub-core/kern/emu/main.c (grub_prefix): Removed.
2504 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
2505 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
2506 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
2507 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
2508 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
2509 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
2510 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
2511 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
2512 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
2513 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
2514 * include/grub/ia64/efi/kernel.h: Removed.
2515 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
2516 (grub_prefix): Removed.
2517 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
2518 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
2519 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
2520 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
2521 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
2522 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
2523 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
2524 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
2525 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
2526 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
2527 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
2528 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
2529 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
2530 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
2531 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
2532 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
2533 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
2534 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
2535 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
2536 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
2537 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
2538 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
2539 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
2540 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
2541 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
2542 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
2543 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
2544 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
2545 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
2546 from module.
2547 * util/grub-mkimage.c (image_target_desc): Removed prefix and
2548 prefix_end.
2549 (image_targets): Likewise.
2550 (generate_image): Put prefix as a module.
2551
39705fad
VS
25522011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2553
2554 Replace grub_module_iterate with FOR_MODULES.
2555
2556 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
2557 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
2558 (grub_efi_modules_addr): ...this.
2559 * grub-core/kern/efi/init.c (grub_modbase): New variable.
2560 (grub_efi_init): Set grub_modbase.
2561 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
2562 (grub_modbase): New variable.
2563 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
2564 (grub_modbase): New variable.
2565 (grub_machine_init): Set grub_modbase.
2566 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
2567 (grub_modbase): New variable.
2568 (grub_machine_init): Set grub_modbase.
2569 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
2570 (grub_modbase): New variable.
2571 (grub_machine_init): Set grub_modbase.
2572 * grub-core/kern/main.c (grub_module_iterate): Remove.
2573 (grub_modules_get_end): Use grub_modbase.
2574 (grub_load_modules): Use FOR_MODULES.
2575 (grub_load_config): Likewise.
2576 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
2577 (grub_modbase): New variable.
2578 (grub_machine_init): Set grub_modbase.
2579 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
2580 (grub_modbase): New variable.
2581 (grub_machine_init): Set grub_modbase.
2582 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
2583 Removed.
2584 (grub_modbase): New variable.
2585 (grub_machine_init): Set grub_modbase.
2586 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
2587 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
2588 (grub_module_iterate): Likewise.
2589 (grub_modbase): New variable declaration.
2590 (FOR_MODULES): New macro.
2591
2afb7f6c
VS
25922011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2593
2594 * configure.ac: Check for __ctzdi2 and __ctzsi2.
2595 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
2596
366e34fa
VS
25972011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2598
2599 Fix few obvious type discrepancies.
2600
2601 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
2602 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
2603 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
2604 variable.
2605 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
2606 and connected types.
2607 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
2608 offset.
2609 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
2610 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
2611 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
2612 and connected types.
2613
177b960e
VS
26142011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2615
2616 Fix python 3.x incompatibilities.
2617
2618 * gentpl.py: Put brackets around print strings.
2619 * util/import_gcry.py: Open explicitly as utf-8.
2620 Use in instead of has_key.
2621
3b619ae1
VS
26222011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2623
2624 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
2625 (GRUB_XFS_INO_AGBITS): Make into inline function.
2626 (GRUB_XFS_INO_INOINAG): Likewise.
2627 (GRUB_XFS_INO_AG): Likewise.
2628 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
2629 (GRUB_XFS_EXTENT_OFFSET): Likewise.
2630 (GRUB_XFS_EXTENT_BLOCK): Likewise.
2631 (GRUB_XFS_EXTENT_SIZE): Likewise.
2632 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
2633 (GRUB_XFS_NEXT_DIRENT): Likewise.
2634 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
2635 (grub_xfs_read_file): Fix offset type.
2636
8bcebcb8
RM
26372011-10-15 Robert Millan <rmh@gnu.org>
2638
2639 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
2640
0017e5ef
RM
26412011-10-15 Robert Millan <rmh@gnu.org>
2642
2643 Fix build problem on FreeBSD and GNU/kFreeBSD.
2644
2645 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
2646
d8919552
VS
26472011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2648
2649 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
2650
2651 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
2652 types.
2653 (grub_hfsplus_btree_recoffset): Likewise.
2654 (grub_hfsplus_btree_recptr): Likewise.
2655 (grub_hfsplus_find_block): Likewise.
2656 (grub_hfsplus_btree_search): Likewise.
2657 (grub_hfsplus_read_block): Likewise.
2658 (grub_hfsplus_read_file): Likewise.
2659 (grub_hfsplus_mount): Likewise.
2660 (grub_hfsplus_btree_iterate_node): Likewise.
2661 (grub_hfsplus_btree_search): Likewise.
2662 (grub_hfsplus_iterate_dir): Likewise.
2663 (grub_hfsplus_read): A small code simplification.
2664
c81296b6
VS
26652011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2666
2667 * grub-core/kern/emu/hostdisk.c
2668 (convert_system_partition_to_system_disk): Don't assume that children
2669 of mapper nodes are mapper nodes.
2670
0eb8ffb1
VS
26712011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2672
2673 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
2674 * include/grub/misc.h (grub_isxdigit): New function.
2675 * grub-core/video/colors.c (my_isxdigit): Removed. All users
2676 switched to grub_isxdigit.
2677 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
2678 number starting with a letter.
2679
a98f4a08
RM
26802011-10-09 Robert Millan <rmh@gnu.org>
2681
2682 LVM support for FreeBSD and GNU/kFreeBSD.
2683
2684 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
2685 GNU/kFreeBSD.
2686 (LVM_DEV_MAPPER_STRING): Move from here ...
2687 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
2688 * util/getroot.c: Include `<grub/util/lvm.h>'.
2689 (grub_util_get_dev_abstraction): Enable
2690 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
2691 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
2692 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
2693 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
2694 support it.
2695 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
2696 GNU/kFreeBSD.
2697 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
2698 when LVM abstraction is required for ${GRUB_DEVICE}.
2699
050e8e90
SJ
27002011-10-06 Szymon Janc <szymon@janc.net.pl>
2701
2702 Add support for LZO compression in GRUB:
2703 - import of minilzo library,
2704 - LZO decompression for btrfs,
2705 - lzop files decompression.
2706
2707 * grub-core/io/lzopio.c: New file.
2708 * grub-core/lib/adler32.c: Likewise.
2709 * grub-core/lib/minilzo/lzoconf.h: Likewise.
2710 * grub-core/lib/minilzo/lzodefs.h: Likewise.
2711 * grub-core/lib/minilzo/minilzo.c: Likewise.
2712 * grub-core/lib/minilzo/minilzo.h: Likewise.
2713 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
2714 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
2715 grub-core/lib/minilzo/minilzo.c to common.
2716 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
2717 cflags in cppflags.
2718 * grub-core/Makefile.core.def (btrfs): Likewise.
2719 * grub-core/Makefile.core.def (lzopio): New module.
2720 (adler32): Likewise.
2721 * grub-core/fs/btrfs.c: Include minilzo.h.
2722 (GRUB_BTRFS_COMPRESSION_LZO): New define.
2723 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
2724 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
2725 (grub_btrfs_lzo_decompress): New function.
2726 (grub_btrfs_extent_read): Add support for LZO compression type.
2727 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
2728 (GRUB_USHRT_MAX): Likewise.
2729 (GRUB_UINT_MAX): Likewise.
2730 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
2731 (UINT_MAX): Likewise.
2732 (CHAR_BIT): Likewise.
2733 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
2734 grub-core/lib/posix_wrap/limits.h
2735 (UCHAR_MAX): Likewise.
2736 * include/grub/file.h (grub_file_filter_id): New compression filter
2737 GRUB_FILE_FILTER_LZOPIO.
2738 * include/grub/file.h (grub_file_filter_id): Set
2739 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
2740 * include/grub/types.h (grub_get_unaligned16): New function.
2741 (grub_get_unaligned32): Likewise.
2742 (grub_get_unaligned64): Likewise.
2743 * util/import_gcry.py (cryptolist): Add adler32.
2744
0eb8ffb1
VS
27452011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
2746
2747 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
2748 in perspective decreases the complexity of build system and fixes
2749 compilation right now.
2750
ce79cc99 27512011-10-01 Ales Nesrsta <starous@volny.cz>
2752
2753 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
2754 (fixed problem related to using UHCI with coreboot).
2755
8667a314
BC
27562011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
2757
2758 * gentpl.py: Use Autogen macros so that the output template file
2759 (Makefile.tpl) size is reduced.
2760
fc5efcc0
MK
27612011-09-29 Mads Kiilerich <mads@kiilerich.com>
2762
2763 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
2764 extra_dist.
2765
d1ab689d
ML
27662011-09-29 Mario Limonciello <mario_limonciello@dell.com>
2767
2768 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
2769 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
2770
c05de032
ML
27712011-09-29 Mario Limonciello <mario_limonciello@dell.com>
2772
2773 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
2774 _fullpath.
2775
cca7ccd8
ML
27762011-09-29 Mario Limonciello <mario_limonciello@dell.com>
2777
2778 Remove extra declaration of sleep for mingw32.
2779
2780 * util/misc.c (sleep) [__MINGW32__]: Removed.
2781 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
2782
e0b0dc83
GS
27832011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
2784
2785 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
2786 type and packname.
2787 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
2788 Resurrected.
2789 (NETBSD_BTINFO_BOOTWEDGE): New definition.
2790 (grub_netbsd_btinfo_bootwedge): New struct.
2791 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
2792 New function.
2793 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
2794
91a1a164
TH
27952011-09-28 Thomas Haller <thomas.haller@fen-net.de>
2796
2797 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
2798 loader.
2799
2ded951e
AB
28002011-09-28 Andreas Born <futur.andy@googlemail.com>
2801
2802 Fix incorrect identifiers in bash-completion.
2803
2804 * util/bash-completion.d/grub-completion.bash.in
2805 (_grub_mkpasswd-pbkdf2): Rename to ...
2806 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
2807 (_grub_script-check): Rename to ...
2808 (_grub_script_check): ... this. All users updated.
2809
69915030
VS
28102011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2811
2812 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
2813 Return 0 if disk isn't biosdisk.
2814
20fd15f9
GS
28152011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
2816
2817 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
2818 on NetBSD.
2819 * Makefile.util.def (grub-fstest): Likewise.
2820
1a7d7db9
GS
28212011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
2822
2823 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
2824 Get sector size from disk label.
2825
2221ab6c
CW
28262011-09-05 Colin Watson <cjwatson@ubuntu.com>
2827
2828 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
2829 */README* as well as README*.
2830 Reported by: Axel Beckert.
2831
ca51c4a0
VS
28322011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2833
2834 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
2835 case of less than 256 MiB of RAM.
2836
ab80f326
VS
28372011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2838
2839 * grub-core/commands/wildcard.c (make_regex): Handle @.
2840
4155e697
VS
28412011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2842
2843 * util/grub-install.in: Move cryptodisk logic to appropriate place.
2844
ab178c08
SJ
28452011-08-21 Szymon Janc <szymon@janc.net.pl>
2846
2847 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
2848 AC_LANG_CONFTEST macros.
2849
7dc3c686
SJ
28502011-08-20 Szymon Janc <szymon@janc.net.pl>
2851
2852 Add grub-fstest option to uncompress data for commands.
2853
2854 * util/grub-fstest.c (uncompress): New var.
2855 (options): New option -u.
2856
fe8d4a7b
SJ
28572011-08-20 Szymon Janc <szymon@janc.net.pl>
2858
2859 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
2860 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
2861
a5219af1
SJ
28622011-08-20 Szymon Janc <szymon@janc.net.pl>
2863
2864 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
2865 file type was not recognized correctly (not gzip or corrupted).
2866
f87abff5
VS
28672011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
2868
2869 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
2870 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
2871
d94497ea
VS
28722011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
2873
2874 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
2875 loongson.
2876 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
2877 video_radeon_fuloong2e.
2878 * grub-core/video/radeon_fuloong2e.c: New file.
2879 * include/grub/video.h (grub_video_id_t): Add new ID
2880 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
2881
0d1fd011
VS
28822011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
2883
2884 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
2885 define.
2886 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
2887 that PRID matches the detected subplatform and reset the subplatform
2888 if it doesn't.
2889
84beb0ee
VS
28902011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
2891
2892 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
2893
1227c133
VS
28942011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
2895
2896 Fix PCI iterating on functions >= 4.
2897
2898 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
2899 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
2900 Removed.
2901 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
2902 (grub_pci_read): Fix bitmask.
2903 (grub_pci_read_word): Likewise.
2904 (grub_pci_read_byte): Likewise.
2905 (grub_pci_write): Likewise.
2906 (grub_pci_write_word): Likewise.
2907 (grub_pci_write_byte): Likewise.
2908
9594c689
VS
29092011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
2910
2911 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
2912 can still be specified in TARGET_CFLAGS)
2913
14a2562c
VS
29142011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
2915
2916 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
2917
2918 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
2919 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
2920 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
2921 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
2922 (FULOONG): Rename to ...
2923 (FULOONG2F): ... this. All users updated.
2924 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
2925 (machtype_fuloong2f_str): ... this.
2926 (machtype_fuloong2e_str): New string.
2927 Check for machtype_fuloong2e_str.
2928 * grub-core/loader/mips/linux.c (loongson_machtypes)
2929 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
2930 * grub-core/term/serial.c (loongson_defserial)
2931 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
2932 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
2933 loongson_defserial.
2934 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
2935 Rename to ...
2936 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
2937 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
2938 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
2939 to IMAGE_FULOONG2F_FLASH. All users updated.
2940 (image_targets): Rename images.
2941 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
2942
b526cbb6
SJ
29432011-08-19 Szymon Janc <szymon@janc.net.pl>
2944
2945 Make enable of disk cache statistics code configurable.
2946
2947 * configure.ac: --enable-cache-stats added.
2948 * config.h.in (DISK_CACHE_STATS): New define.
2949 * grub-core/Makefile.core.def (cacheinfo): New command.
2950 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
2951 * grub-core/commands/cacheinfo.c: New file.
2952 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
2953 moved to cacheinfo.c.
2954 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
2955 debug code.
2956 * include/grub/disk.h: Likewise.
2957
fb739ccd
SJ
29582011-08-19 Szymon Janc <szymon@janc.net.pl>
2959
2960 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
2961 * grub-core/Makefile.am: Likewise.
2962
2bba8cfd
VS
29632011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
2964
2965 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
2966 non-zero pull.
2967
43526629
VS
29682011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
2969
2970 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
2971 All users updated.
2972 (grub_jfs_lookup_symlink): Use correct starting inode.
2973
5c144cc8
VS
29742011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
2975
2976 * util/grub-setup.c (main): Add missing gcry initialisation.
2977
b1257f65
VS
29782011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
2979
2980 Don't accept text modes on EFI when booting Linux.
2981
2982 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
2983 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
2984
828bc390
ML
29852011-08-15 Mario Limonciello <mario_limonciello@dell.com>
29862011-08-15 Colin Watson <cjwatson@ubuntu.com>
2987
2988 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
2989 use of "/path/.." as in grub-install for EFI as well as handling
2990 symlinks correctly.
2991 Fixes Debian bug #637768.
2992
5f60ccac
CW
29932011-08-15 Colin Watson <cjwatson@ubuntu.com>
2994
2995 * util/grub-probe.c: Remove duplicate #include.
2996
6dc212f9
RM
29972011-08-10 Robert Millan <rmh@gnu.org>
2998
2999 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
3000
3001 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
3002 function.
3003 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
3004 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
3005
66816d85
RM
30062011-08-03 Robert Millan <rmh@gnu.org>
3007
3008 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
3009 la_array as packed.
3010 Reported by: Zachary Bedell
3011
20168fca
CW
30122011-07-26 Colin Watson <cjwatson@ubuntu.com>
3013
3014 * configure.ac: The Loongson port requires grub-mkfont due to its
3015 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
3016 be built.
3017
303b6246
CW
30182011-07-26 Colin Watson <cjwatson@ubuntu.com>
3019
3020 * util/grub-install.in: Don't source grub-mkconfig_lib until after
3021 processing arguments (otherwise help2man fails when GRUB has not yet
3022 been installed).
3023
6795300e
VS
30242011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3025
41aa28ea
VS
3026 New script grub-mkstandalone.
3027
3028 * Makefile.util.def (grub-mkstandalone): New script.
3029 * docs/man/grub-mkstandalone.h2m: New file.
3030 * util/grub-mkstandalone.in: Likewise.
3031
30322011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3033
3034 Support ATA disks with 4K sectors.
6795300e
VS
3035
3036 * include/grub/ata.h (grub_ata): New member log_sector_size.
3037 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
3038 (grub_ata_identify): Read sector size.
3039 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
3040
92227597
VS
30412011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3042
3043 * util/grub-install.in: Don't use uhci outside of x86.
3044
c77069f5
VS
30452011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3046
3047 * util/grub-mkrescue.in: Add missing quotes.
3048
30492011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
3050
3051 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
3052 dereference.
3053
583168a2
VS
30542011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3055
3056 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
3057
6be1c01f
VS
30582011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3059
3060 * include/grub/video.h: add missing EXPORT_FUND on
3061 grub_video_edid_checksum and grub_video_edid_preferred_mode.
3062
a1167439
VS
30632011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3064
3065 * include/grub/mips/kernel.h: Fix define conflict.
3066
bf66054f
VS
30672011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3068
3069 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
3070 all four ways.
3071
8fc4fa45
CW
30722011-07-21 Colin Watson <cjwatson@ubuntu.com>
3073
3074 Preferred resolution detection for VBE.
3075
3076 * grub-core/video/video.c (grub_video_edid_checksum): New function.
3077 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
3078 the Flat Panel extension, in line with the X.org VESA driver.
3079 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
3080 New function.
3081 (grub_vbe_bios_get_ddc_capabilities): Likewise.
3082 (grub_vbe_bios_read_edid): Likewise.
3083 (grub_vbe_get_preferred_mode): Likewise.
3084 (grub_video_vbe_setup): When the mode is "auto", try to get the
3085 preferred mode from VBE, and use the largest mode that is no larger
3086 than the preferred mode (some BIOSes expose a preferred mode that is
3087 not in their mode list!). If this fails, fall back to 640x480 as a
3088 safe conservative choice.
3089 (grub_video_vbe_get_edid): New function.
3090 (grub_video_vbe_adapter): Add get_edid.
3091 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
3092 (struct grub_video_adapter): Add get_edid.
3093 (grub_video_edid_checksum): Add prototype.
3094 (grub_video_edid_preferred_mode): Likewise.
3095 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
3096 structure.
3097
3098 * grub-core/commands/videoinfo.c (print_edid): New function.
3099 (grub_cmd_videoinfo): Print EDID if available.
3100
3101 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
3102 is more appropriate on a wider range of platforms than 640x480.
3103 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
3104 documentation.
3105
ca5572a9
VS
31062011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3107
3108 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
3109
e4bcf625
VS
31102011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3111
3112 * po/POTFILES.in: Regenerate.
3113
c4edd548
VS
31142011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3115
3116 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
3117 incorrect memory usage.
3118
16a2bab0
VS
31192011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3120
3121 * util/grub-install.in: Source grub-mkconfig_lib.
3122
2e418de6
VS
31232011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
3124
3125 Remove getroot.c from core on emu platform.
3126
3127 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
3128 kern/emu/raid.c.
3129 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
3130 useless.
3131 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
3132 * util/getroot.c (get_win32_path): ... here.
3133 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
3134 * util/getroot.c (fini_libzfs): ... here.
3135 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
3136 * util/getroot.c (grub_get_libzfs_handle): ... here.
3137 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
3138 Moved from here...
3139 * util/getroot.c (grub_find_zpool_from_dir): ... here.
3140 * grub-core/kern/emu/misc.c
3141 (grub_make_system_path_relative_to_its_root): Moved from here...
3142 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
3143 * grub-core/kern/emu/getroot.c: Moved from here ...
3144 * util/getroot.c: ... here. All users updated.
3145 * grub-core/kern/emu/raid.c: Moved from here ...
3146 * util/raid.c: ... here. All users updated.
3147
def9832a
VS
31482011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
3149
3150 * po/POTFILES.in: Regenerate.
3151
cd8fe79a
VS
31522011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
3153
3154 Fix compilation on GNU/Linux.
3155
3156 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
3157 Disable geli.
3158 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
3159 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
3160 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
3161
a251b719
VS
31622011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
31632011-07-07 Michael Gorven <michael@gorven.za.net>
31642011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
3165
3166 LUKS and GELI support.
3167
3168 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
3169 grub-core/disk/luks.c, grub-core/disk/geli.c,
3170 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
3171 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
3172 grub-core/lib/arg.c.
3173 (libgrubmods.a): Remove gcrypts cflags and cppflags.
3174 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
3175 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
3176 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
3177 (grub-bin2h): Add libgcry.a.
3178 (grub-mkimage): Likewise.
3179 (grub-mkrelpath): Likewise.
3180 (grub-script-check): Likewise.
3181 (grub-editenv): Likewise.
3182 (grub-mkpasswd-pbkdf2): Likewise.
3183 (grub-pe2elf): Likewise.
3184 (grub-fstest): Likewise.
3185 (grub-mkfont): Likewise.
3186 (grub-mkdevicemap): Likewise.
3187 (grub-probe): Likewise.
3188 (grub-ofpath): Likewise.
3189 (grub-mklayout): Likewise.
3190 (example_unit_test): Likewise.
3191 (grub-menulst2cfg): Likewise.
3192 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
3193 * grub-core/Makefile.core.def (cryptodisk): New module.
3194 (luks): Likewise.
3195 (geli): Likewise.
3196 * grub-core/disk/AFSplitter.c: New file.
3197 * grub-core/disk/cryptodisk.c: Likewise.
3198 * grub-core/disk/geli.c: Likewise.
3199 * grub-core/disk/luks.c: Likewise.
3200 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
3201 grub_util_is_lvm.
3202 (grub_util_get_dm_abstraction): New function.
3203 (grub_util_follow_gpart_up): Likewise.
3204 (grub_util_get_geom_abstraction): Likewise.
3205 (grub_util_get_dev_abstraction): Use new functions.
3206 (grub_util_pull_device): Pull GELI and LUKS.
3207 (grub_util_get_grub_dev): Handle LUKS and GELI.
3208 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
3209 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
3210 (follow_geom_up): Removed.
3211 (grub_util_fd_seek): New function.
3212 (open_device): Use grub_util_fd_seek.
3213 (nread): Rename to ..
3214 (grub_util_fd_read): ... this. All users updated.
3215 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
3216 (grub_crypto_cbc_decrypt): Likewise.
3217 (grub_crypto_hmac_write): Likewise.
3218 (grub_crypto_hmac_buffer): Likewise.
3219 (grub_password_get): Extend to util.
3220 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
3221 New member modname.
3222 (gcry_md_spec) [GRUB_UTIL]: Likewise.
3223 * include/grub/cryptodisk.h: New file.
3224 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
3225 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
3226 LUKS and GELI.
3227 (grub_util_follow_gpart_up): New proto.
3228 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
3229 (grub_util_fd_read): Likewise.
3230 (grub_cryptodisk_cheat_mount): Likewise.
3231 (grub_util_cryptodisk_print_uuid): Likewise.
3232 (grub_util_get_fd_sectors): Likewise.
3233 * util/grub-fstest.c (mount_crypt): New var.
3234 (fstest): Mount crypto if requested.
3235 (options): New option -C.
3236 (argp_parser): Parse -C.
3237 (main): Init and fini gcry.
3238 * util/grub-install.in: Support cryptodisk install.
3239 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
3240 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
3241 cryptodisk.
3242 (prepare_grub_to_access_device): Likewise.
3243 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
3244 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
3245 (probe_cryptodisk_uuid): New function.
3246 (probe_abstraction): Likewise.
3247 (probe): Use new functions.
3248 * util/import_gcry.py: Create Makefile.utilgcry.def.
3249 Add modname member.
3250
9bfdcbbc
VS
32512011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
3252
3253 Lazy device scanning.
3254
3255 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
3256 (grub-setup): Remove util/raid.c.
3257 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
3258 * grub-core/disk/lvm.c (scan_depth): New variable.
3259 (grub_lvm_iterate): Rescan if necessary.
3260 (find_lv): New function based on grub_lvm_open.
3261 (grub_lvm_open): Use find_lv. Rescan on error.
3262 (is_node_readable): New function.
3263 (is_lv_readable): Likewise.
3264 (grub_lvm_scan_device): Skip already found disks.
3265 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
3266 Stop if searched device is found and readable.
3267 * grub-core/disk/raid.c (inscnt): New variable.
3268 (scan_depth): Likewise.
3269 (scan_devices): New function based on grub_raid_register. Abort if
3270 looked for device is found.
3271 (grub_raid_iterate): Rescan if needed.
3272 (find_array): NEw function based on -grub_raid_open.
3273 (grub_raid_open): Use find_array and rescan.
3274 (insert_array): Set became_readable_at.
3275 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
3276 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
3277 New function.
3278 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
3279 (grub_util_pull_device): New function.
3280 (grub_util_get_grub_dev): Call grub_util_pull_device.
3281 * util/raid.c: Moved to ..
3282 * grub-core/kern/emu/raid.c: ... here.
3283 (grub_util_raid_getmembers): New parameter "bootable".
3284 All users updated. Support 1.x.
3285 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
3286 All users updated.
3287 * include/grub/disk.h (grub_disk_pull_t): New enum.
3288 (grub_disk_dev): Change iterate prototype.
3289 All users updated.
3290 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
3291 New proto.
3292 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
3293 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
3294 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
3295 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
3296 All users updated.
3297 * include/grub/util/raid.h: Removed.
3298
1c358e59
VS
32992011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
3300
3301 * po/POTFILES.in: Regenerate.
3302
abee94ed
VS
33032011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
3304
3305 Unify sparc init with other ieee1275.
3306
3307 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
3308 instead of kern/sparc64/ieee1275/init.c.
3309 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
3310 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
3311 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
3312 grub/machine/kernel.h.
3313 (grub_ieee1275_original_stack) [__sparc__]: New variable.
3314 (grub_claim_heap) [__sparc__]: Use sparc version.
3315 (grub_machine_init): Moved args parsing to
3316 (grub_parse_cmdline): ...this.
3317 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
3318 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
3319 New definition.
3320 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
3321
3322 Move BOOTP to separate file.
3323
3324 * grub-core/Makefile.core.def (net): Add net/bootp.c.
3325 * grub-core/net/net.c: Move all BOOTP functions to
3326 * grub-core/net/bootp.c: ... here.
3327
3328 Use frame interface on PXE.
3329
3330 * grub-core/Makefile.core.def (pxecmd): Removed.
3331 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
3332 * grub-core/commands/i386/pc/pxecmd.c: Removed.
3333 * grub-core/i386/pc/pxe.c: Moved from here ...
3334 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
3335 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
3336 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
3337
3338 EFI network support.
3339
3340 * grub-core/Makefile.core.def (efinet): New module.
3341 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
3342 here...
3343 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
3344 All users updated.
3345 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
3346 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
3347 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
3348 * grub-core/net/drivers/efi/efinet.c: New file.
3349 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
3350 (grub_efi_net_config): New extern var.
3351
3352 Various cleanups and bugfixes.
3353
3354 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
3355 error.
3356 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
3357 disk declared as partition.
3358 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
3359 leak on failure.
3360 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
3361 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
3362 (grub_debug_zalloc): Likewise.
3363 (grub_debug_realloc): Likewise.
3364 (grub_debug_memalign): Likewise.
3365 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
3366 Check that target is IPv4.
3367 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
3368 local-mac-address as fallback.
3369 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
3370 memory leak.
3371 * grub-core/net/ip.c (ipchksum): Rename to ...
3372 (grub_net_ip_chksum): ... this. All users updated.
3373 (grub_net_recv_ip_packets): Special handling for DHCP.
3374 * util/grub-mkimage.c (generate_image): Zero-out aout header.
3375
3376 Unify prefix handling
3377
3378 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
3379 (grub_machine_get_bootlocation): ... this.
3380 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
3381 (grub_machine_get_bootlocation): ... this.
3382 (grub_prefix): New variable.
3383 (prefix): Removed.
3384 (root_dev): New variable.
3385 (dir): Likewise.
3386 (main): Use new variables.
3387 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
3388 Revamped into ...
3389 (grub_machine_get_bootlocation): ... this.
3390 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
3391 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
3392 (grub_machine_get_bootlocation): ... this.
3393 (grub_machine_set_prefix): Removed.
3394 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
3395 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
3396 Revamped into ...
3397 (grub_machine_get_bootlocation): ... this.
3398 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
3399 (grub_set_prefix_and_root): ... this. All users updated.
3400 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
3401 Revamped into ...
3402 (grub_machine_get_bootlocation): ... this.
3403 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
3404 (grub_machine_get_bootlocation): New proto.
3405 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
3406
3407 Less intrusive and more reliable seek on network implementation.
3408
3409 * grub-core/kern/file.c (grub_file_net_seek): Removed.
3410 (grub_file_seek): Don't call grub_file_net_seek.
3411 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
3412 (grub_net_fs_read_real): .. this.
3413 (grub_net_seek_real): Use net->offset.
3414 (grub_net_fs_read): Seek if necessary.
3415
3416 Unify IEEE1275 netwotk config with the other platforms.
3417
3418 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
3419 New variable.
3420 (grub_machine_get_bootlocation): Support network.
3421 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
3422 Support type and device parsing.
3423 (grub_ieee1275_get_device_type): New function.
3424 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
3425 into ...
3426 (grub_ieee1275_net_config_real): ... this.
3427 (grub_ofnet_probecards): Removed.
3428 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
3429 * include/grub/ieee1275/ofnet.h: Removed.
3430 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
3431 extern var.
3432 (grub_ieee1275_get_device_type): New function.
3433
3434 Unify network device closing across platforms and make more robust.
3435
3436 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
3437 grub_grubnet_fini.
3438 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
3439 already.
3440 * grub-core/net/net.c (grub_net_network_level_interface_register):
3441 Update num_ifaces.
3442 (grub_net_card_unregister): Close all interfaces.
3443 (receive_packets): Don't poll if no iterfaces are registered.
3444 Open if necessary.
3445 (grub_net_fini_hw): New function.
3446 (grub_net_restore_hw): Likewise.
3447 (fini_hnd): New variable.
3448 (GRUB_MOD_INIT): Register preboot hook.
3449 (GRUB_MOD_FINI): Run and unregister preboot hook.
3450
3451 Poll network cards when idle.
3452
3453 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
3454 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
3455 * grub-core/net/net.c (receive_packets): Save last poll time.
3456 (grub_net_poll_cards_idle_real): New function.
3457 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
3458 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
3459 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
3460
3461 Rename ofnet interfaces.
3462
3463 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
3464 (grub_ofnet_findcards): Use ofnet_%s names.
3465
3466 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
3467
3468 Cleanup socket opening.
3469
3470 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
3471 (grub_net_fs_close): Likewise.
3472 (grub_net_fs_read_real): Use eof member.
3473 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
3474 (+grub_net_udp_close): New inline function.
3475
3476 * include/grub/net/tftp.h: Moved to the top of ...
3477 * grub-core/net/tftp.c: ... here.
3478 * include/grub/net/ip.h: Moved mostly to the top of ...
3479 * grub-core/net/ip.c: ... here.
3480 * include/grub/net/ethernet.h: Moved mostly to the top of ...
3481 * grub-core/net/ethernet.c: ... here.
3482
3483 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
3484
3485 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
3486 FS name.
3487
3488 * include/grub/net/ip.h (ipv4_ini): Removed.
3489 (ipv4_fini): Likewise.
3490
3491 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
3492 (grub_net_send_ip_packets): Likewise.
3493
cf1337aa
VS
34942011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
3495
3496 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
3497 grub_read_cmos prototype.
3498
93c06ff9
VS
34992011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
3500
3501 VGA text support in qemu-mips
3502
3503 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
3504 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
3505 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
3506 text.
3507 * grub-core/kern/i386/qemu/init.c: Renamed to ...
3508 * grub-core/kern/vga_init.c: ... this.
3509 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
3510 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
3511 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
3512 Adjust.
3513 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
3514 GRUB_MACHINE_PCI_IO_BASE.
3515
748ccabe
VS
35162011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
3517
3518 MIPS qemu flash support.
3519
3520 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
3521 magic.
3522 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
3523 (grub_machine_init): Probe memory if its size isn't known.
3524 * util/grub-mkimage.c (image_targets): Add flash targets.
3525 (generate_image): Handle flash targets.
3526
d7345994
VS
35272011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
3528
3529 MIPS qemu at_keyboard support.
3530
3531 * gentpl.py (videoinkernel): Add qemu-mips.
3532 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
3533 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
3534 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
3535 modules.
3536 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
3537 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
3538 * grub-core/term/serial.c (grub_serial_register)
3539 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
3540
a07a81b3
VS
35412011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
3542
3543 CMOS support on sparc.
3544
3545 * gentpl.py (cmos): Add powerpc and sparc.
3546 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
3547 powerpc and sparc.
3548 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
3549 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
3550 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
3551 grub_set_datetime_cmos.
3552 * grub-core/lib/ieee1275/cmos.c: New file.
3553 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
3554 (find_rtc): Set no_ieee1275_rtc on error.
3555 (grub_get_datetime): Call grub_get_datetime_cmos on error.
3556 (grub_set_datetime): Call grub_set_datetime_cmos on error.
3557 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
3558 fail. Move value to argument. All users updated
3559 (grub_cmos_write): Likewise.
3560 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
3561 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
3562 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
3563 grub_get_datetime_cmos and grub_set_datetime_cmos.
3564
77546584
GS
35652011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
3566
3567 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
3568 sourcing grub-mkconfig_lib.
3569 * util/update-grub_lib.in: Likewise.
3570 * util/grub.d/00_header.in: Likewise.
3571 * util/grub.d/10_hurd.in: Likewise.
3572 * util/grub.d/10_kfreebsd.in: Likewise.
3573 * util/grub.d/10_linux.in: Likewise.
3574 * util/grub.d/10_netbsd.in: Likewise.
3575 * util/grub.d/10_windows.in: Likewise.
3576 * util/grub.d/20_linux_xen.in: Likewise.
3577 * util/grub.d/30_os-prober.in: Likewise.
3578
54894791
CW
35792011-06-28 Colin Watson <cjwatson@ubuntu.com>
3580
3581 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
3582 default_bg_color rather than black.
3583 (grub_gfxterm_fullscreen): Likewise.
3584 (grub_gfxterm_background_color_cmd): Save new background color in
3585 default_bg_color.
3586
8d5d8444
VS
35872011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3588
3589 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
3590
5afeb5bd
VS
35912011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3592
3593 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
3594 mismerge.
3595
ba7df45e
VS
35962011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3597
3598 Chainloading on coreboot support.
3599
3600 * grub-core/Makefile.core.def (chain): Add coreboot.
3601 * grub-core/loader/i386/coreboot/chainloader.c: New file.
3602
d0b526b2
VS
36032011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3604
3605 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
3606 if it happens.
3607
5ff1d945
VS
36082011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3609
3610 Implement time command.
3611
3612 * grub-core/Makefile.core.def (time): New module.
3613 * grub-core/commands/time.c: New file.
3614 * grub-core/script/parser.y: Remove "time" keyword.
3615 * grub-core/script/yylex.l: Likewise.
3616
5ebaad7e
VS
36172011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3618
3619 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
3620
bdea3798
VS
36212011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3622
3623 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
3624 when handling leftovers.
3625
b28c5655
VS
36262011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3627
3628 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
3629 so that help2man doesn't fail.
3630
b6f945dc
VS
36312011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3632
3633 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
3634 type in pointers on sparc64.
3635 (get_card_packet): Likewise.
3636
f9b75e8a
CW
36372011-06-27 Colin Watson <cjwatson@ubuntu.com>
3638
3639 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
3640 with `*'.
3641 (grub_cmd_videoinfo): Fetch current video mode.
3642
1e3d9b86
VS
36432011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3644
3645 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
3646 because of underlying system restrictions.
3647
efff4b1c
VS
36482011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3649
3650 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
3651 necessary.
3652
9fc9ce37
VS
36532011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3654
3655 Coreboot video support.
3656
3657 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
3658 (vbe): Likewise.
3659 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
3660 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
3661 here ...
3662 * grub-core/kern/i386/int.S: ... here.
3663 * grub-core/video/i386/pc/vbe.c: Updated includes.
3664 * grub-core/video/i386/pc/vga.c: Likewise.
3665 * include/grub/i386/coreboot/memory.h
3666 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
3667 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
3668 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
3669 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
3670 Disable interrupts.
3671 * include/grub/i386/pc/vga.h: Removed. All users updated.
3672
41bec7fe
VS
36732011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3674
3675 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
3676 definitions for dprintf.
3677 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
3678
ca80309d
VS
36792011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3680
3681 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
3682 prototype.
3683 (get_card_packet): Likewise.
3684
9e322ce8
YB
36852011-06-26 Yves Blusseau <blusseau@zetam.org>
3686
3687 Display the path of the file when file is not found
3688
3689 * grub-core/fs/fat.c: Display the filename when file is not found.
3690 * grub-core/fs/fshelp.c: Likewise.
3691 * grub-core/fs/hfs.c: Likewise.
3692 * grub-core/fs/jfs.c: Likewise.
3693 * grub-core/fs/minix.c: Likewise.
3694 * grub-core/fs/ufs.c: Likewise.
3695 * grub-core/fs/btrfs.c: Likewise.
3696 * grub-core/commands/i386/pc/play.c: Likewise.
3697
cbf597af
SJ
36982011-06-26 Szymon Janc <szymon@janc.net.pl>
3699
3700 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
3701 pointer checks before calling grub_free().
3702 * grub-core/commands/wildcard.c (match_devices): Likewise.
3703 * grub-core/commands/wildcard.c (match_files): Likewise.
3704 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
3705 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
3706 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
3707 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
3708 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
3709 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
3710 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
3711 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
3712 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
3713
6295b32f
P
37142011-06-25 Patrick <p55@mailinator.com>
3715
3716 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
3717
77c0840b
VS
37182011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3719
3720 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
3721 (grub_pxe_send): Likewise.
3722 (GRUB_MOD_INIT): Fix types.
3723
40ea05de
SJ
37242011-06-24 Szymon Janc <szymon@janc.net.pl>
3725
3726 * grub-core/io/xzio.c: Fix code style issues
3727
90162423
MRA
37282011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
37292011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
3730
3731 Network infrastructure.
3732 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
3733
3734 * include/grub/net/arp.h: New file.
90162423
MRA
3735 * include/grub/net/device.h: Likewise.
3736 * include/grub/net/ethernet.h: Likewise.
3737 * include/grub/net/ip.h: Likewise.
3738 * include/grub/net/netbuff.h: Likewise.
3739 * include/grub/net/tftp.h: Likewise.
3740 * include/grub/net/udp.h: Likewise.
3741 * include/grub/ieee1275/ofnet.h: Likewise.
3742 * include/grub/emu/export.h: Likewise.
3743 * include/grub/net.h: Likewise.
3744 * grub-core/net/arp.c: Likewise.
3745 * grub-core/net/ethernet.c: Likewise.
3746 * grub-core/net/ip.c: Likewise.
3747 * grub-core/net/udp.c: Likewise.
3748 * grub-core/net/tftp.c: Likewise.
3749 * grub-core/net/netbuff.c: Likewise.
3750 * grub-core/net/net.c: Likewise.
3751 * grub-core/net/drivers/emu/emunet.c: Likewise.
3752 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
3753 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
3754 export.h.
3755 * grub-core/Makefile.core.def (net): New module.
3756 (tftp): Likewise.
3757 (ofnet): Likewise.
3758 (emunet): Likewise.
3759 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
3760 network protocols.
3761 * grub-core/kern/device.c (grub_net_open) : New variable.
3762 (grub_device_open): Handle network device.
3763 (grub_device_close): Likewise.
3764 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
3765 (grub_grubnet_fini): Likewise.
3766 (grub_file_seek): Seek in network device.
3767 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
3768 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
3769 network root.
3770 (grub_machine_fini): Call grub_grubnet_fini.
3771 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
3772 network.
3773 (grub_ieee1275_get_aliasdevname): New function.
3774 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
3775 Add unofficial Solaris network info.
3776 (grub_multiboot_make_mbi): Likewise.
3777 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
3778 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
3779 * include/grub/device.h (grub_fs): Removed.
3780 * include/grub/err.h (grub_err_t): Add network-related values.
3781 * include/grub/i386/pc/pxe.h: Removed bootp parts.
3782 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
3783 (grub_ieee1275_get_aliasdevname): New proto.
3784 * include/grub/net.h: Rewritten.
423a1849 3785
031f22a0
VS
37862011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
3787
3788 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
3789 names.
3790
4388ca72
VS
37912011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
3792
3793 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
3794 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
3795 it truncates the output.
3796 Reported by: Ximin Luo.
3797
98e2f506
VS
37982011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
3799
3800 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
3801
2a5e94d8
VS
38022011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
3803
3804 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
3805 partmap before abstraction.
3806
535c1910
AK
38072011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
3808
3809 * util/grub-mkconfig_lib.in: Add missing quotes.
3810
bc09e1a2
VS
38112011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
3812
3813 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
3814 old method if mountinfo would return /dev/root and /dev/root doesn't
3815 exist.
3816
290766fb
VS
38172011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
3818
3819 ZFS zlib support
3820
3821 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
3822 (decomp_table): Add zlib entries.
3823 (zio_read): USe 8 bits for compression function rather than 3.
3824 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
3825
38262011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
3827
3828 * grub-core/disk/ahci.c: Add missing license statements.
3829 * grub-core/fs/romfs.c: Likewise.
3830 * grub-core/lib/ia64/setjmp.S: Likewise.
3831 * grub-core/loader/i386/pc/freedos.c: Likewise.
3832 * grub-core/loader/ia64/efi/linux.c: Likewise.
3833 * grub-core/video/colors.c: Likewise.
3834 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
3835
5ab3f48a
VS
38362011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3837
3838 AHCI support.
3839
3840 * grub-core/Makefile.core.def (ata_pthru): Removed.
3841 (ahci): New module.
3842 (pata): Likewise.
3843 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
3844 on unload.
3845 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
3846 readwrite.
3847 (grub_hdparm_do_check_powermode_cmd): Likewise.
3848 (grub_hdparm_do_smart_cmd): Likewise.
3849 (grub_hdparm_set_val_cmd): Likewise.
3850 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
3851 * grub-core/disk/ahci.c: New file.
3852 * grub-core/disk/ata.c: Factor out the low-level part into ...
3853 * grub-core/disk/pata.c: ... here.
3854 * grub-core/disk/ata_pthru.c: Contents moved to ...
3855 * grub-core/disk/pata.c: ... here.
3856 * grub-core/disk/scsi.c (grub_scsi_names): New array.
3857 (grub_scsi_iterate): Use grub_scsi_names.
3858 (grub_scsi_open): Likewise.
3859 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
3860 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
3861 (grub_ata_regs_t): New struct.
3862 (grub_disk_ata_pass_through_parms): Likewise.
3863 (grub_ata_device): Renamed to ...
3864 (grub_ata): ... this.
3865 (grub_ata_dev): New struct.
3866 Removed all low-level inline functions.
3867 * include/grub/scsi.h: Add PATA and AHCI subsystems.
3868 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
3869 iterate hooks and open. All users updated.
3870 * util/grub-install.in: Handle AHCI disk module.
3871
c31dc5f5
SJ
38722011-06-23 Szymon Janc <szymon@janc.net.pl>
3873
3874 Add support for DRI and RSTn markers in JPEG files.
3875
3876 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
3877 (JPEG_MARKER_RST0): Likewise.
3878 (JPEG_MARKER_RST1): Likewise.
3879 (JPEG_MARKER_RST2): Likewise.
3880 (JPEG_MARKER_RST3): Likewise.
3881 (JPEG_MARKER_RST4): Likewise.
3882 (JPEG_MARKER_RST5): Likewise.
3883 (JPEG_MARKER_RST6): Likewise.
3884 (JPEG_MARKER_RST7): Likewise.
3885 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
3886 (grub_jpeg_decode_dri): New function.
3887 (grub_jpeg_decode_sos): Move image data related part into
3888 grub_jpeg_decode_data function.
3889 (grub_jpeg_decode_data): New function.
3890 (grub_jpeg_reset): New function.
3891 (grub_jpeg_decode_jpeg): Handle new markers.
3892
fe12fd5b
VS
38932011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3894
3895 * util/ieee1275/ofpath.c (check_sas): Close fd.
3896 (main): Free of_path.
3897 Reported by: David Volgyes <dvolgyes>.
3898
03147f46
VS
38992011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3900
3901 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
3902 Reported by: David Volgyes <dvolgyes>.
3903
cad3237f
VS
39042011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3905
3906 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
3907 file after stat.
3908 Reported by: David Volgyes <dvolgyes>.
3909
13548d26
VS
39102011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3911
3912 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
3913
3914 Reported by: David Volgyes <dvolgyes>.
3915
e061a1b5
VS
39162011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3917
3918 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
3919 Prevent memory leak.
3920
1abe47dc
VS
39212011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3922
3923 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
3924 (main): Close file.
e061a1b5 3925 Reported by: David Volgyes <dvolgyes>.
1abe47dc 3926
fbc62666
VS
39272011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3928
3929 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
3930 to continue if allocation is failed.
3931
3932 Reported by: David Volgyes <dvolgyes>.
3933
e98c83e9
DV
39342011-06-23 David Volgyes <dvolgyes>
3935
3936 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
3937 dereference.
3938
a199a8cd
VS
39392011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3940
3941 Fix spurious warning.
3942
3943 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
3944 (acorn_partition_map_find): Use .bin member.
3945
e2d1dba0
VS
39462011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3947
3948 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
3949 /dev/root as a valid device.
3950
8a5d6919
JM
39512011-06-23 Jim Meyering <meyering@redhat.com>
3952
e2d1dba0
VS
3953 Avoid NULL deref in grub_device_open.
3954
8a5d6919
JM
3955 * grub-core/kern/device.c (grub_device_open): Don't dereference
3956 a NULL pointer upon failed grub_env_get.
3957
f7db6f4a
VS
39582011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3959
3960 Support non-512B sectors and agglomerate reads.
3961
3962 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
3963 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
3964 (disk_io_guid): Removed.
3965 (make_devices): Locate solely by BlockIO.
3966 (grub_efidisk_open): Fill log_sector_size and total_sectors.
3967 (grub_efidisk_read): Use read_blocks.
3968 (grub_efidisk_write): Use write_blocks.
3969 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
3970 log_sector_size.
3971 (get_safe_sectors): Handle non-512B sectors.
3972 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
3973 sectors.
3974 (grub_biosdisk_write): Handle non-512B sectors.
3975 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
3976 (grub_scsi_read): Remove special non-512B block handling (now handled
3977 one level up).
3978 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
3979 and do sanity checks.
3980 (grub_disk_adjust_range): Handle non-512B sectors.
3981 (transform_sector): New function.
3982 (grub_disk_read_small): Likewise.
3983 (grub_disk_read): Rewritten.
3984 (grub_disk_write): Handle non-512B sectors.
3985 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
3986 log_sector_size.
3987 (open_device): Use log_sector_size.
3988 (grub_util_biosdisk_read): Likewise.
3989 (grub_util_biosdisk_write): Likewise.
3990 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
3991 non-512B sectors.
3992 (pc_partition_map_embed): Likewise.
3993 * include/grub/disk.h (grub_disk): New field log_sector_size.
3994 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
3995 (GRUB_DISK_CACHE_BITS): Increased to 6.
3996 * util/grub-fstest.c (fstest): New command testload.
3997 (argp_parser): Likewise.
3998
881ac815
RM
39992011-06-16 Robert Millan <rmh@gnu.org>
4000
4001 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
4002 `ata' driver on kernel of FreeBSD 9.
4003
4004 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
4005 (get_ataraid_disk_name): New functions.
4006 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
4007 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
4008 get_ataraid_disk_name() and get_ada_disk_name().
4009
1e9aef7d
CW
40102011-06-13 Colin Watson <cjwatson@ubuntu.com>
4011
4012 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
4013 input format.
4014
351c7c8a
CW
40152011-05-29 Colin Watson <cjwatson@ubuntu.com>
4016
4017 * docs/grub.texi (Obtaining and Building GRUB): Substitute
4018 `ftp.gnu.org' for `alpha.gnu.org'.
4019
6b4e6430
CW
40202011-05-27 Colin Watson <cjwatson@ubuntu.com>
4021
4022 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
4023 partitions under /dev/disk/by-id/.
4024
c64db050
CW
40252011-05-27 Colin Watson <cjwatson@ubuntu.com>
4026
4027 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
4028 after ten consecutive open failures. Scanning all the way up to
4029 10000 is excessive and can cause serious performance problems in
4030 some configurations.
4031 Fixes Ubuntu bug #787461.
4032
245f4aba
VS
40332011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4034
4035 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
4036 opening new one.
4037
f767c929
VS
40382011-05-21 Colin Watson <cjwatson@ubuntu.com>
40392011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4040
4041 Don't stat devices unless we have to.
4042
4043 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
4044 dir == /dev/mapper.
4045 (grub_guess_root_device): Use already known os_dev if possible.
4046 * grub-core/kern/emu/hostdisk.c
4047 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
4048 if device is known to be a dm one.
4049
f35fa3a6
CW
40502011-05-20 Colin Watson <cjwatson@ubuntu.com>
4051
4052 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
4053 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
4054 Reported by: Pawel Tecza.
4055
9a79fcf2
VS
40562011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
4057
4058 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
4059 (lsefisystab): Likewise.
4060 (lssal): Likewise.
4061 (lsefimmap): Likewise.
4062 (hdparm): Enable on qemu-mips.
4063 (setjmp): Add ia64 nodist.
4064 (serial): Simplify tags.
4065
63e3eea9
CW
40662011-05-18 Colin Watson <cjwatson@ubuntu.com>
4067
4068 * Makefile.util.def (grub-ofpathname): Install manual page.
4069
09728256
CW
40702011-05-18 Colin Watson <cjwatson@ubuntu.com>
4071
4072 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
4073
8b63a142
CW
40742011-05-18 Colin Watson <cjwatson@ubuntu.com>
4075
4076 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
4077
e775d8ed
VS
40782011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4079
4080 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
4081 into dprintf.
4082
bf947d36
VS
40832011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4084
4085 Use full 64-bit division.
4086
4087 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
4088 (grub_divmod64): ... this.
4089 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
4090 version.
4091
b84f26c5
CW
40922011-05-18 Colin Watson <cjwatson@ubuntu.com>
4093
4094 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
4095 `source'.
4096
5626056f
CW
40972011-05-18 Colin Watson <cjwatson@ubuntu.com>
4098
4099 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
4100 to avoid accidents when debugging with 'sh -x'.
4101 * grub-core/gensyminfo.sh.in: Likewise.
4102 * tests/example_scripted_test.in: Likewise.
4103 * tests/grub_cmd_regexp.in: Likewise.
4104 * tests/grub_script_blanklines.in: Likewise.
4105 * tests/grub_script_dollar.in: Likewise.
4106 * tests/grub_script_expansion.in: Likewise.
4107 * tests/grub_script_final_semicolon.in: Likewise.
4108 * tests/partmap_test.in: Likewise.
4109 * tests/util/grub-shell-tester.in: Likewise.
4110 * tests/util/grub-shell.in: Likewise.
4111
e2965f4a
CW
41122011-05-18 Colin Watson <cjwatson@ubuntu.com>
4113
4114 Move gfxmenu color handling to video, so that gfxterm can use it
4115 too.
4116
4117 * grub-core/gfxmenu/named_colors.c: Move to ...
4118 * grub-core/video/colors.c: ... here. Rename
4119 grub_gui_get_named_color to grub_video_get_named_color.
4120 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
4121 * grub-core/video/colors.c (my_isxdigit): ... here.
4122 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
4123 Move to ...
4124 * grub-core/video/colors.c (parse_hex_color_component): ... here.
4125 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
4126 to ...
4127 * grub-core/video/colors.c (grub_video_parse_color): ... here.
4128
4129 * include/grub/gui.h (grub_gui_color_t): Move to ...
4130 * include/grub/video.h (grub_video_rgba_color_t): ... here.
4131 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
4132 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
4133 * include/grub/gui.h (grub_gui_map_color): Move to ...
4134 * include/grub/video.h (grub_video_map_rgba_color): ... here.
4135 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
4136 to ...
4137 * include/grub/video.h (grub_video_get_named_color): ... here.
4138 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
4139 * include/grub/video.h (grub_video_parse_color): ... here.
4140
4141 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
4142 video/colors.c.
4143 (gfxmenu): Remove gfxmenu/named_colors.c.
4144 (video) [videomodules]: Add video/colors.c.
4145
4146 Add a background_color command.
4147
4148 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
4149 function.
4150 (GRUB_MOD_INIT): Register background_color command.
4151 (GRUB_MOD_FINI): Unregister background_color command.
4152 (redraw_screen_rect): Allow blend/replace of text layer to be
4153 controlled independently from whether there is a background bitmap.
4154 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
4155 changing bitmap.
4156
1e4b4390
VS
41572011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4158
26618ff0
VS
4159 Patch BPB in ntldr and chainloader --bpb.
4160
1e4b4390
VS
4161 * grub-core/fs/fat.c: Include grub/fat.h.
4162 (grub_fat_bpb): Moved to ...
4163 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
4164 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
4165 grub/ntfs.h.
4166 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
4167 Moved from here...
4168 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
4169 here.
4170 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
4171 New function.
4172 (grub_chainloader_cmd): Patch BPB if --bpb is given.
4173 (GRUB_MOD_INIT): Show --bpb.
4174 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
4175 * grub-core/normal/main.c (features): New variable.
4176 (GRUB_MOD_INIT): Set feature_* variables.
4177 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
4178 proto.
4179 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
4180
cf02731e
VS
41812011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4182
4183 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
4184 for cleanness.
4185
e3a1073f
VS
41862011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4187
4188 FreeDOS direct loading support.
4189
4190 * docs/grub.texi (Supported OS): Add FreeDOS.
4191 * grub-core/Makefile.core.def (freedos): New module.
4192 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
4193 variable.
4194 (grub_relocator16_boot): Handle %ebx.
4195 * grub-core/lib/i386/relocator16.S: Likewise.
4196 * grub-core/loader/i386/pc/freedos.c: New file.
4197
05caa461
VS
41982011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4199
4200 Long Linux command line support.
4201
4202 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
4203 (maximal_cmdline_size): New variable.
4204 (allocate_pages): Use maximal_cmdline_size.
4205 (grub_cmd_linux): Set and use maximal_cmdline_size.
4206 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
4207 (allocate_pages): Use maximal_cmdline_size.
4208 (grub_cmd_linux): Set and use maximal_cmdline_size.
4209 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
4210 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
4211 and cmdline_size.
4212
a2491e23
VS
42132011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
42142011-05-18 Colin Watson <cjwatson@ubuntu.com>
4215
4216 Improve devmapper support
4217
4218 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
4219 (grub_util_is_lvm): New function.
4220 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
4221 than lvm if not dmraid.
4222 Handle mapped md nodes.
4223 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
4224 (grub_util_device_is_mapped): ... this. Make always available. All users
4225 updated.
4226 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
4227 (convert_system_partition_to_system_disk): Handle lvm, mpath and
4228 dmraid nodes.
4229 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
4230
6ad6223e
VS
42312011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4232
4233 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
4234
4235 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
4236 * grub-core/modinfo.sh.in: New file.
4237 * grub-core/Makefile.core.def (modinfo.sh): New script.
4238 * util/grub-mknetdir.in: Use modinfo.sh.
4239 * util/grub-mkrescue.in: Likewise.
4240
543a8f6e
VS
42412011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4242
4243 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
4244 Fix potential usage of Elf32 instead of Elf64 when compiling on
4245 32-bit architecture. Add endianness macros while on it.
4246
4959e111
VS
42472011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4248
4249 Use mipsel- rather than mips- in directories involving mipsel ports to
4250 allow both endiannesses coexist.
4251
4252 * configure.ac: proparate target_cpu=mipsel rather than resetting to
4253 mips. All conditions adjusted.
4254 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
4255 variable.
4256 * util/grub-install.in: Adjust conditions to take renaming into account.
4257 * util/grub-mkimage.c (image_targets): Likewise. New target
4258 mips-qemu_mips-elf for bigendian mips.
4259
35341bbc
VS
42602011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4261
4262 Avoid unnecessary copying on MIPS.
4263
4264 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
4265 early if src == dest.
4266 * util/grub-mkimage.c (generate_image): Arange for src == dest if
4267 compression is none.
4268
b772baed
VS
42692011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4270
4271 Reduce memory footprint on SGI by putting modules before the kernel
4272 as opposed to after.
4273
4274 * grub-core/Makefile.core.def (kernel): Increase linking address.
4275 (none_decompress): Likewise.
4276 (xz_decompress): Likewise.
4277 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
4278 address.
4279 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
4280 layout change.
4281 (grub_arch_modules_addr): New function.
4282 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
4283 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
4284 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
4285 here.
4286 * grub-core/kern/mips/startup.S (total_size): Rename to ...
4287 (grub_total_modules_size): ... this. Make global.
4288 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
4289 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
4290 New definition.
4291 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
4292 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
4293 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
4294 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
4295 * util/grub-mkimage.c (image_target_desc): New flag
4296 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
4297 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
4298 (generate_image): Handle images with modules before kernel.
4299
566a1917
VS
43002011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4301
4302 Prevent potential loss of memory map by overwrite on qemu-mips.
4303
4304 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
4305 Save ram size in $s4.
4306 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
4307 All users changed to grub_arch_memsize.
4308 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
4309 Loongson.
4310 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
4311 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
4312 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
4313 external variable.
4314
5d420cd9
CW
43152011-05-17 Colin Watson <cjwatson@ubuntu.com>
4316
4317 * .bzrignore: Remove grub-dumpbios.
4318
d064b830
CW
43192011-05-17 Colin Watson <cjwatson@ubuntu.com>
4320
4321 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
4322 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
4323 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
4324 existing options which append).
4325 * docs/grub.texi (Simple configuration): Document new options.
4326 Reported by: Ian Jackson. Fixes Debian bug #617538.
4327
3ca2b466
CW
43282011-05-17 Colin Watson <cjwatson@ubuntu.com>
4329
4330 * util/grub-fstest.c (cmd_cat): New function.
4331 (fstest): Handle CMD_CAT.
4332 (options): Add cat.
4333 (argp_parser): Handle cat.
4334
24c9143a
CW
43352011-05-17 Colin Watson <cjwatson@ubuntu.com>
4336
4337 * Makefile.util.def (grub-bin2h): Don't install.
4338 * docs/man/grub-bin2h.h2m: Remove.
4339
90f7ac19
VS
43402011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4341
4342 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
4343 place.
4344
8d4a5178
VS
43452011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4346
4347 Reenable qemu-mips port.
4348
4349 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
4350 Fix small arc bug while on it.
4351 * gentpl.py: Handle qemu_mips.
4352 * grub-core/Makefile.am: Likewise.
4353 * grub-core/Makefile.core.def: Likewise.
4354 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
4355 inappropriate includes.
4356 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
4357 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
4358 * grub-core/kern/main.c (grub_modules_get_end)
4359 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
4360 * grub-core/kern/mips/qemu-mips: Moved to ..
4361 * grub-core/kern/mips/qemu_mips: ... this.
4362 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
4363 (grub_machine_init): Call terminfo_init and serial_init.
4364 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
4365 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
4366 New variable.
4367 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
4368 parameter passing.
4369 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
4370 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
4371 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
4372 * include/grub/mips/qemu_mips/cmos.h: New file.
4373 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
4374 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
4375 Removed.
4376 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
4377 Use correct mips-style address.
4378 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
4379 (GRUB_TICKS_PER_SECOND): Removed.
4380 (grub_get_rtc): Likewise.
4381 (grub_cpu_idle): Likewise.
4382 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
4383 New definition.
4384 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
4385 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
4386 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
4387 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
4388 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
4389 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
4390 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
4391 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
4392
400b9371
VS
43932011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4394
4395 SGI ARCS port.
4396
4397 * Makefile.util.def (libgrubmods.a): Add dvh.c.
4398 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
4399 platforms.
4400 * configure.ac: New target mips-arc.
4401 * gentpl.py: Likewise.
4402 * grub-core/Makefile.am: Likewise.
4403 * grub-core/Makefile.core.def: Likewise.
4404 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
4405 (none_decompress): Likewise.
4406 (lsdev): New module.
4407 (datetime): Use lib/arc/datetime.c on ARC.
4408 (part_dvh): New module.
4409 * grub-core/commands/arc/lsdev.c: New file.
4410 * grub-core/disk/arc/arcdisk.c: Likewise.
4411 * grub-core/kern/mips/arc/init.c: Likewise.
4412 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
4413 aligned addresses.
4414 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
4415 support.
4416 (grub_arch_dl_relocate_symbols): Likewise.
4417 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
4418 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
4419 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
4420 platforms.
4421 * grub-core/lib/arc/datetime.c: New file.
4422 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
4423 pci.h on non-loongson.
4424 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
4425 (grub_linux_boot): Set unused registers to 0.
4426 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
4427 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
4428 * grub-core/mmap/mips/uppermem.c: ...here.
4429 * grub-core/partmap/dvh.c: New file.
4430 * grub-core/term/arc/console.c: Likewise.
4431 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
4432 (grub_terminfo_set_current): Add terminal "arc".
4433 (grub_terminfo_readkey): Support ARC sequences.
4434 * include/grub/arc/arc.h: New file.
4435 * include/grub/arc/console.h: Likewise.
4436 * include/grub/disk.h (grub_disk_dev_id): Add
4437 GRUB_DISK_DEVICE_ARCDISK_ID.
4438 * include/grub/mips/arc/kernel.h: New file.
4439 * include/grub/mips/arc/memory.h: Likewise.
4440 * include/grub/mips/arc/time.h: Likewise.
4441 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
4442 * include/grub/mips/kernel.h (grub_halt): ... here.
4443 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
4444 here...
4445 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
4446 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
4447 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
4448 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
4449 proto.
4450 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
4451 from here ...
4452 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
4453 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
4454 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
4455 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
4456 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
4457 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
4458 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
4459 (grub_phys_addr_t): Moved from here ...
4460 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
4461 (grub_vtop): Moved from here ...
4462 * include/grub/mips/memory.h (grub_vtop): ... here.
4463 (grub_map_memory): Moved from here ...
4464 * include/grub/mips/memory.h (grub_map_memory): ... here.
4465 (grub_unmap_memory): Moved from here ...
4466 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
4467 (grub_machine_mmap_iterate): Moved from here ...
4468 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
4469 (grub_mmap_get_lower): Moved from here ...
4470 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
4471 (grub_mmap_get_upper): Moved from here ...
4472 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
4473 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
4474 here ...
4475 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
4476 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
4477 here ...
4478 * include/grub/mips/time.h (grub_get_rtc): ... here.
4479 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
4480 here ...
4481 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
4482 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
4483 here ...
4484 * include/grub/mips/time.h (grub_cpu_idle): ... here.
4485 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
4486 definition.
4487 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
4488 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
4489 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
4490 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
4491 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
4492 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
4493 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
4494 (GRUB_MACHINE_LINK_ADDR): Likewise.
4495 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
4496 to 6.
4497 * util/grub-install.in: Run dvhtool on ARC.
4498 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 4499 (generate_image): Handle ECOFF output for mips-arc.
400b9371 4500
c8ecc840
VS
45012011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
4502
4503 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
4504 blocks.
4505
153a4b55
VS
45062011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
4507
4508 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
4509 after enabling port.
4510
ff44d107
VS
45112011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
4512
4513 Skip incorrect USB devices.
4514
4515 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
4516 configcnt == 0.
4517 * include/grub/usb.h (grub_usb_err_t): New enum value
4518 GRUB_USB_ERR_BADDEVICE.
4519
638dbe4f
VS
45202011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
4521
4522 Fuloong video init support.
4523
4524 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
4525 well.
4526 (grub_vga_read_arx): New function.
4527 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
4528 definition.
4529 (framebuffer): New members io, mmioptr and mmiobase.
4530 (read_sis_cmd): New function.
4531 (write_sis_cmd): Likewise.
4532 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
4533 rather than 640x400.
4534 * grub-core/video/sis315_init.c: New file.
4535
c3fc520c
VS
45362011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4537
4538 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
4539 non-loongson.
4540 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
4541 to grub_dl_register_symbol.
4542
67b1e5c9
VS
45432011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4544
4545 Fix compilation errors.
4546
4547 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
4548 potentially unused.
4549 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
4550 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
4551 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
4552 to loongson machines.
4553
b756f75f
VS
45542011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4555
4556 Several FS mtime support.
4557
4558 * grub-core/fs/affs.c (grub_affs_time): New struct.
4559 (grub_affs_file): New field mtime.
4560 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
4561 type. Removed 'size'. New field 'di'. All users updated.
4562 (grub_affs_mount): Simplify checsum checking.
4563 (grub_affs_iterate_dir): New helper grub_affs_create_node.
4564 (grub_affs_dir): Handle mtime.
4565 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
4566 (grub_cpio_dir): Likewise.
4567 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
4568 (grub_hfs_filerec): New field mtime.
4569 (grub_hfs_dir): Handle mtime.
4570 (grub_hfs_mtime): New function.
4571 (grub_hfs_fs): Register grub_hfs_mtime.
4572 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
4573 (grub_iso9660_dir): New field mtime.
4574 (grub_fshelp_node): New field dirent.
4575 (iso9660_to_unixtime): New function.
4576 (iso9660_to_unixtime2): Likewise.
4577 (grub_iso9660_read_symlink): Use node->dirent.
4578 (grub_iso9660_iterate_dir): Likewise.
4579 (grub_iso9660_dir): Set mtime.
4580 (grub_iso9660_mtime): New function.
4581 (grub_iso9660_fs): Register grub_iso9660_mtime.
4582 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
4583 (grub_jfs_inode): New fields atime, ctime and mtime.
4584 (grub_jfs_dir): Set mtime.
4585 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
4586 * grub-core/fs/ntfs.c (list_file): Set mtime.
4587 (grub_ntfs_dir): Likewise.
4588 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
4589 (grub_reiserfs_iterate_dir): Set mtime.
4590 (grub_reiserfs_dir): Likewise.
4591 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
4592 (grub_fshelp_node): Likewise.
4593 (grub_sfs_iterate_dir): Set mtime.
4594 (grub_sfs_dir): Likewise.
4595 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
4596 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
4597 (grub_xfs_inode): New fields atime, mtime, ctime.
4598 (grub_xfs_dir): Set mtime.
4599 * include/grub/datetime.h (grub_datetime2unixtime): New function.
4600 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
4601 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
4602
4603 Support UDF symlinks.
4604
4605 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
4606 (grub_ufs_read_symlink): New function. All users updated.
4607
4608 Check amiga partmap checksum.
4609
4610 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
4611 (grub_amiga_partition): Likewise.
4612 (amiga_partition_map_checksum): New function.
4613 (amiga_partition_map_iterate): Check checksum.
4614
5470225d
VS
46152011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4616
4617 ROMFS support.
4618
4619 * Makefile.util.def (libgrubmods.a): Add romfs.
4620 * grub-core/Makefile.core.def (romfs): New module.
4621 * grub-core/fs/romfs.c: New file.
4622
d4680a35
VS
46232011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4624
4625 Squashfs v4 support.
4626
4627 * Makefile.util.def (libgrubmods.a): Add squash4.
4628 * grub-core/Makefile.core.def (squash4): New module.
4629 * grub-core/fs/squash4.c: New file.
4630 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
4631 disk_input_start, disk_input.
4632 (get_byte): Handle disk_input.
4633 (grub_zlib_disk_read): New function.
4634 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
4635
bcb18e74
FZ
46362011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
46372011-05-15 Feiran Zheng <famcool@gmail.com>
4638
4639 * Makefile.util.def (libgrubmods.a): Add minix3.
4640 * grub-core/Makefile.core.def (minix3): New module.
4641 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
4642 (GRUB_MINIX_BSIZE): Removed.
4643 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
4644 (grub_minix_ino_t): New type.
4645 (grub_minix_le_to_cpu_ino): New macro.
4646 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
4647 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
4648 (grub_minix_data): New field block_size.
4649 (grub_minix_read_file): Handle 64-bit correctly.
4650 * grub-core/fs/minix3.c: New file.
4651
32297d5f
TG
46522011-05-15 Tristan Gingold <gingold@free.fr>
46532011-05-15 Robert Millan <rmh.grub@aybabtu.com>
46542011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4655
4656 IA64 support.
4657
4658 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
4659 * configure.ac: Add ia64-efi target.
4660 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
4661 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
4662 * gentpl.py: Add ia64_efi platform.
4663 Rename x86_efi to efi and Add ia64-efi. All users updated.
4664 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
4665 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
4666 Remove kern/generic/rtc_get_time_ms.c on EFI.
4667 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
4668 kern/ia64/dl_helper.c on ia64-efi.
4669 Add kern/emu/cache.c on emu.
4670 (linux): Use on loader/ia64/efi/linux.c on ia64.
4671 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
4672 whether symbol is a function.
4673 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
4674 (grub_symbol): New field 'isfunc'.
4675 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
4676 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
4677 (grub_dl_load_segments): Place all sections into the same region.
4678 [__ia64__]: Create trampolines and got.
4679 [GRUB_MACHINE_EMU]: Call mprotect.
4680 (grub_dl_resolve_symbols): Resolve symbol type as well.
4681 [__ia64__]: Create function descriptors.
4682 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
4683 (grub_rtc_get_time_ms): ... this. Expressions simplified.
4684 (grub_get_rtc): New function.
4685 * grub-core/kern/emu/cache.c [__ia64__]: New file.
4686 * grub-core/kern/emu/cache.S: Renamed to ...
4687 * grub-core/kern/emu/cache_s.S: ... this.
4688 [__ia64__]: Add a nop.
4689 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
4690 [__ia64__]: New function.
4691 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
4692 * grub-core/kern/ia64/dl.c: New file.
4693 * grub-core/kern/ia64/dl_helper.c: Likewise.
4694 * grub-core/kern/ia64/efi/init.c: New file.
4695 * grub-core/kern/ia64/efi/startup.S: Likewise.
4696 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
4697 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
4698 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
4699 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
4700 * grub-core/loader/ia64/efi/linux.c: New file.
4701 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
4702 (GRUB_MOD_DEP): Likewise.
4703 (grub_dl) [__ia64__]: New fields got and tramp.
4704 (grub_dl): New field 'base'.
4705 (grub_dl_register_symbol): New argument isfunc. All users updated.
4706 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
4707 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
4708 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
4709 (grub_ia64_dl_get_tramp_got_size): New proto.
4710 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
4711 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
4712 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
4713 * include/grub/efi/api.h: Skip call wrappers on ia64.
4714 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
4715 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
4716 * include/grub/elf.h (ELF_ST_INFO): New definition.
4717 * include/grub/ia64/efi/kernel.h: New file.
4718 * include/grub/ia64/efi/memory.h: Likewise.
4719 * include/grub/ia64/efi/time.h: Likewise.
4720 * include/grub/ia64/kernel.h: Likewise.
4721 * include/grub/ia64/setjmp.h: Likewise (from glibc).
4722 * include/grub/ia64/time.h: New file.
4723 * include/grub/ia64/types.h: Likewise.
4724 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
4725 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
4726 New protos.
4727 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
4728 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
4729 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
4730 * util/grub-mkimage.c (image_target_desc): New field pe_target.
4731 All users updated.
4732 (EFI64_HEADER_SIZE): New definition. All users updated.
4733 (image_targets): Add ia64-efi.
4734 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
4735 jumpers_addr. All users updated.
4736 Create function descriptors.
4737 (count_funcs): New function.
4738 (unaligned_uint32): New struct.
4739 (MASK20): New definition.
4740 (MASK19): Likewise.
4741 (MASKF21): Likewise.
4742 (add_value_to_slot_20b): New function.
4743 (add_value_to_slot_21_real): Likewise.
4744 (add_value_to_slot_21): Likewise.
4745 (ia64_kernel_trampoline): New struct.
4746 (nopm): New variable.
4747 (jump): Likewise.
4748 (make_trampoline): New function.
4749 (relocate_addresses): Handle ia64.
4750 (make_reloc_section): Likewise.
4751 (load_image): Likewise.
4752
983b414d
VS
47532011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4754
4755 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
4756 warning. Move variables before code while on it.
4757
5d063cdc
VS
47582011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4759
4760 Fuloong support.
4761
4762 * configure.ac: Rename yeeloong platform to loongson. All users updated.
4763 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
4764 * grub-core/boot/mips/loongson/fuloong.S: New file.
4765 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
4766 Explicitly init CS5536.
4767 [FULOONG]: Don't use serial until CS5536 is available.
4768 Set GPIO based on dumps.
4769 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
4770 [FULOONG]: Handle GPIO and memory controller differences.
4771 Parse machine type in $a2.
4772 * grub-core/boot/mips/startup_raw.S: Determine and save the
4773 architecture.
4774 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
4775 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
4776 init on architecture type.
4777 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
4778 SIS315E. Don't init at_keyboard on fuloong.
4779 (grub_halt): Support Fuloong.
4780 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
4781 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
4782 (loongson_machtypes): New array.
4783 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
4784 type.
4785 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
4786 config. All users updated. Handle CS5536 serial.
4787 * grub-core/term/serial.c (grub_serial_register): Conditionalise
4788 default port on machine type. Register serial as inactive.
4789 * grub-core/video/sis315pro.c: New file.
4790 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
4791 definition.
4792 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
4793 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
4794 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
4795 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
4796 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
4797 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
4798 to ...
4799 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
4800 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
4801 definition.
4802 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
4803 (grub_arch_machine): New extern var.
4804 * include/grub/mips/loongson/serial.h
4805 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
4806 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
4807 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
4808 (GRUB_MACHINE_SERIAL_PORT0): ... this.
4809 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
4810 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
4811 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
4812 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
4813 * include/grub/term.h (grub_term_register_input_inactive): New inline
4814 function.
4815 (grub_term_register_output_inactive): Likewise.
4816 * include/grub/video.h (grub_video_driver_id): New value
4817 GRUB_VIDEO_DRIVER_SIS315PRO.
4818 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
4819 New field "names". All users updated.
4820 New field value IMAGE_FULOONG_FLASH.
4821 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
4822
6ada82d1
JU
48232011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
4824
4825 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
4826 and add some clarification.
4827
90c571a4
VS
48282011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4829
4830 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
4831 platforms if kernel is compressed.
4832
de04eecf
VS
48332011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4834
4835 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
4836 unused modules since currently referrence counter isn't reliable and
4837 there isn't much memory to recover there anyway.
4838
57688121
VS
48392011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4840
4841 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
4842 rather than resetting it to allow modules to reference themselves
4843 in init.
4844
3d2c7e35
VS
48452011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4846
4847 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
4848 counter on dependencies since grub_dl_unref already handles this.
4849
b25db218
VS
48502011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4851
4852 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
4853 on error if not already done.
4854
25a45338
VS
48552011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4856
4857 Fix few potential memory misusage.
4858
4859 * grub-core/font/font.c (load_font_index): Don't free char_index to
4860 avoid double free.
b25db218
VS
4861 (grub_font_load): Zero-fill font at alloc for safety.
4862 Close file on error.
4863 (free_font): Free bmp_idx.
25a45338 4864
0cac83df
VS
48652011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4866
4867 * docs/grub.texi (Installation): Fix several outdated claims.
4868
2217a143
VS
48692011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4870
4871 Handle module_license on windows.
4872
4873 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
4874 sections shifted.
4875 (insert_string): Make argument const char * instead of char *.
4876 (write_section_data): Handle long section names.
4877 Handle module_license.
4878
d4de6b01
VS
48792011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4880
4881 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
4882 handle class-free menuentries.
4883 (grub_normal_add_menu_entry): Add a check to be sure.
4884
4c2a3b43
VS
48852011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4886
4887 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
4888 PgUp and PgDown.
4889
85c6210f
VS
48902011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
4891
4892 * configure.ac: Bump version to 1.99.
4893
36084912
VS
48942011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
4895
4896 Give ATA device a bit more time on first try in order to allow disks
4897 to spin up.
4898
4899 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
4900 if dev->present is 1. Reset dev->present on failure.
4901 (grub_ata_device_initialize): Set dev->present to 1.
4902 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
4903 (grub_ata_device): New member 'present'.
4904
bda0e219
VS
49052011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
4906
4907 * util/grub-mkimage.c (generate_image): Update hash.
4908
19e1c41b
VS
49092011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
4910
4911 Flush caches on DMA memory.
4912
4913 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
4914 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
4915 (grub_dma_free): Likewise.
4916 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
4917
91bbcc0c
VS
49182011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
4919
4920 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
4921 to avoid asm treating ld and sd as macros.
4922
60ddfad3
VS
49232011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
4924
4925 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
4926 decompressor.
4927
a298aa04
VS
49282011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
4929
4930 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
4931 grub_decompress_core since later would fail if grub_decompress_core
4932 is too far.
4933
9b44feca
VS
49342011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
4935
4936 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
4937 R_MIPS_JALR since it's used by newer compiler.
4938
56dbe7b4
VS
49392011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4940
4941 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
4942
52856af2
VS
49432011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4944
4945 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
4946 file_path to 0 for surety.
4947 (grub_chainloader_boot): Set exit_data to NULL.
4948 Unset the loader once done.
4949 (grub_cmd_chainloader): Fix confusing error message if file is empty.
4950
9c9bfc6d
VS
49512011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4952
4953 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
4954 unknown key into a dprintf.
4955
dd94a3df
VS
49562011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4957
4958 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
4959 on first non-existant partition.
4960
fa68d99c
VS
49612011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4962
4963 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
4964 openning fails.
4965 Reported by: Mark Korenberg.
4966
157effb7
VS
49672011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4968
4969 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
4970 overflow.
4971
ea75312f
VS
49722011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4973
4974 * util/grub-mkimage.c (main): Explicitely flush and sync the output
4975 before closing to ensure that it will be readable by grub-setup.
4976
072b5d31
VS
49772011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
4978
4979 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
4980 (devpath_1): Use MAKE_PIWG_PATH.
4981 (devpath_2): Likewise.
4982 (devpath_3): Likewise.
4983 (devpath_4): Likewise.
4984 (devpath_5): Likewise.
4985 (devpath_6): Likewise.
4986
4987 The appleldr.mod was checked that to be binary identical to previous
4988 version.
4989
7fae0051
Z
49902011-05-05 Zach <mikezackles>
4991
4992 Support 2010 Macbooks.
4993
4994 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
4995 (devs): Add devpath_6.
4996
7c515bee
VS
49972011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
4998
4999 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
5000 /dev/random. /dev/urandom is good enough for our purposes (salting).
5001
ed660bd8
VS
50022011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5003
5004 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
5005
ee5614b7
VS
50062011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5007
5008 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
5009 hexadecimal.
5010
664889a6
VS
50112011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5012
5013 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
5014 and not 0 on failure.
5015
bd405bbc
CW
50162011-05-03 Colin Watson <cjwatson@ubuntu.com>
5017
5018 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
5019 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
5020 disk; otherwise grub_fs_probe will not fall back to the next
5021 filesystem.
5022 (grub_pxefs_open): Likewise, for consistency.
5023 Reported and tested by: Ezekiel Grave.
5024
4ebff753
CW
50252011-05-03 Colin Watson <cjwatson@ubuntu.com>
5026
5027 * tests/partmap_test.in: Don't hardcode path to parted.
5028 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
5029
8f942553
CW
50302011-05-01 Colin Watson <cjwatson@ubuntu.com>
5031
5032 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
5033 of `ls' to find out which devices are available.
5034
3c62402d
VS
50352011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5036
5037 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
5038 than source address for efi mmap buffer.
5039
723f63f2
VS
50402011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5041
5042 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
5043 wrong action on non-detecting the magic.
5044
68797f92
VS
50452011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5046
5047 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
5048 already supplied by another part of the module (fixes compilation on
5049 FreeBSD).
5050
6be8715d
VS
50512011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5052
5053 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
5054 match the one used by mdadm.
5055
e91dba5b
CW
50562011-04-21 Colin Watson <cjwatson@ubuntu.com>
5057
5058 * po/README: Add instructions for creating po/LINGUAS.
5059
c85140b3
CW
50602011-04-21 Colin Watson <cjwatson@ubuntu.com>
5061
5062 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
5063 #551428.
5064
5065 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
5066 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
5067 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
5068 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
5069 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
5070 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
5071 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
5072 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
5073 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
5074 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
5075 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
5076 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
5077 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
5078 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
5079 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
5080 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
5081 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
5082 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
5083 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
5084 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
5085 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
5086 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
5087
92051871
CW
50882011-04-21 Colin Watson <cjwatson@ubuntu.com>
5089
5090 * grub-core/kern/emu/getroot.c
5091 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
5092 test that was incorrectly reintroduced in r3214.
5093 Reported by: Ian Dall. Fixes Savannah bug #33133.
5094
b13f79a4
CW
50952011-04-21 Colin Watson <cjwatson@ubuntu.com>
5096
5097 Fix stack pointer handling in 16-bit relocator.
5098
5099 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
5100 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
5101 Fixes Ubuntu bug #683904.
5102
9b710a88
VS
51032011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5104
5105 * configure.ac: Bump version to 1.99~rc2.
5106
d97e7b59
VS
51072011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5108
5109 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
5110 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
5111 * grub-core/lib/x86_64/setjmp.S: Likewise.
5112 * grub-core/lib/mips/setjmp.S: Likewise.
5113 * grub-core/lib/powerpc/setjmp.S: Likewise.
5114 * grub-core/lib/sparc64/setjmp.S: Likewise.
5115
0624551c
VS
51162011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5117
5118 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
5119 * grub-core/lib/efi/datetime.c: Likewise.
5120
e8f28d4c
VS
51212011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5122
5123 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
5124 New function.
5125 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
5126 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
5127 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
5128
bba79a15
VS
51292011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5130
5131 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
5132 bitmap.
5133 (grub_gfxterm_term_init): Likewise.
5134
abc474ef
VS
51352011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5136
5137 Take into account the decorations the computing menu entry width.
5138
5139 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
5140 (grub_gfxmenu_create_box): Register get_border_width.
5141 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
5142 if available.
5143 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
5144 get_border_width.
5145
e74b3947
EP
51462011-04-18 Endres Puschner <code@e7p.de>
5147
5148 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
5149 Don't skip first class.
5150
34faa595
VS
51512011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5152
5153 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
5154 chunks.
5155 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
5156
93a777e3
VS
51572011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5158
5159 Complete 64-bit division support.
5160
5161 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
5162 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
5163 * include/grub/misc.h (grub_divmod64): Rename to ...
5164 (grub_divmod64_full): ... this.
5165 (grub_divmod64): New inline function.
5166
a5102d94
VS
51672011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5168
5169 * util/grub-mkimage.c (generate_image): Add forgotten comma.
5170
f3fb7b36
VS
51712011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5172
5173 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
5174 performing the necessary test.
5175
9ac718b0
VS
51762011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5177
5178 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
5179 (kfreebsd.elf): Likewise.
5180 (pc-chainloader.elf): Likewise.
5181 (ntldr.elf): Likewise.
5182
50d2cc5a
VS
51832011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5184
5185 Identify RAID by its UUID rather than (guessed) name.
5186
5187 * grub-core/disk/raid.c (ascii2hex): New function.
5188 (grub_raid_open): Accept mduuid/%s specification.
5189 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
5190 (get_mdadm_uuid): ... this.
5191 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
5192
e03f7bea
VS
51932011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
5194
5195 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
5196 to negative size.
5197
e74c3112
CW
51982011-04-13 Colin Watson <cjwatson@ubuntu.com>
5199
5200 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
5201 btrfs subvolume.
5202 * util/grub.d/20_linux_xen.in: Likewise.
5203
78fa584f
CW
52042011-04-13 Colin Watson <cjwatson@ubuntu.com>
5205
5206 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
5207 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
5208
5209 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
5210 Build a list of relevant visible mounts using the mnt_id and
5211 parent_mnt_id fields, and then scan that list at the end.
5212
9d5f8162
CW
52132011-04-12 Colin Watson <cjwatson@ubuntu.com>
5214
5215 * docs/grub.texi (normal): New section.
5216 (normal_exit): New section.
5217 (Embedded configuration): Add reference to normal.
5218 (GRUB only offers a rescue shell): Likewise.
5219 * docs/grub-dev.texi (Error Handling): Fix typo.
5220
09a9d66f
CW
52212011-04-12 Colin Watson <cjwatson@ubuntu.com>
5222
5223 * NEWS: Drop obsolete entry about probe-only btrfs support.
5224
0c676933
CW
52252011-04-12 Colin Watson <cjwatson@ubuntu.com>
5226
5227 * util/import_gcry.py: Fix typo.
5228
ec9f5e0d
VS
52292011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5230
5231 * NEWS: Add btrfs support.
5232
fe6b2cba
VS
52332011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
52342011-04-11 Colin Watson <cjwatson@ubuntu.com>
5235
5236 BtrFS support. Written by me (Vladimir) with important bugfixes and
5237 even more important testing by Colin.
5238
5239 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
5240 * grub-core/Makefile.core.def (btrfs): Add crc.c.
5241 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
5242 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
5243 mem_input_off and mem_input. All users updated to accept in-RAM input.
5244 (gzio_seek): New function.
5245 (test_zlib_header): Likewise.
5246 (grub_gzio_read): Likewise.
5247 (grub_zlib_decompress): Likewise.
5248 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
5249 Accept partial and non-virtual mounts.
5250 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
5251 avoid receiving /dev/dm-X as device.
5252 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
5253 Handle bind and partial mounts.
5254 * grub-core/lib/crc.c: New file.
5255 * include/grub/deflate.h: Likewise.
5256 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
5257 proto.
5258 * include/grub/lib/crc.h: New file.
5259
e745cf0c
VS
52602011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5261
5262 Implement automatic module license checking according to new GNU
5263 guidelines.
5264
5265 * grub-core/kern/dl.c (grub_dl_check_license): New function.
5266 (grub_dl_load_core): Use grub_dl_check_license.
5267 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
5268 (GRUB_MOD_LICENSE): Likewise.
5269 (GRUB_MOD_DUAL_LICENSE): Likewise.
5270 All modules updated.
5271
2a9bc016
CW
52722011-04-11 Colin Watson <cjwatson@ubuntu.com>
5273
5274 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
5275 reserved_first_sector to 1. btrfs reserves plenty of space for boot
5276 loaders.
5277 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
5278
8a3bc88e
VS
52792011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5280
5281 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
5282
af869a4a
VS
52832011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5284
5285 * util/grub-fstest.c (read_file): Report GRUB error if file opening
5286 failed.
5287
9ee8d94f
VS
52882011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5289
5290 * grub-core/kern/file.c (grub_file_open): Don't take into account the
5291 parenthesis in the middle of the filename.
5292
b01abe3e
VS
52932011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5294
5295 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
5296 rather than trying to put initrd way too high.
5297 Reported by: Ryan Lortie <desrt@desrt.ca>
5298
335bda1e
VS
52992011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5300
5301 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
5302 improperly removed string.
5303
5ca1a64d
VS
53042011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5305
5306 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
5307 is_disk.
5308 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
5309 (open_device) Likewise.
5310 (grub_util_biosdisk_close): Likewise.
d8ce9995 5311 Reported by: Mark Korenberg.
5ca1a64d 5312
cbac5b1e
AK
53132011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
5314
5315 * util/grub-mkconfig_lib.in: Add missing quotes.
5316
088cdb65
CW
53172011-04-10 Colin Watson <cjwatson@ubuntu.com>
5318
5319 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
5320 is NULL.
5321
8b8a81fa
VS
53222011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5323
5324 Dynamically count the number of lines for the lower banner.
5325
5326 * grub-core/normal/menu_entry.c (per_term_screen): New member
5327 num_entries.
5328 (print_down): Use num_entries.
5329 (update_screen): Likewise.
5330 (grub_menu_entry_run): Set num_entries.
5331 * grub-core/normal/menu_text.c (menu_viewer_data): New member
5332 num_entries.
5333 (grub_print_message_indented): Move real part to ...
5334 (grub_print_message_indented_real): ... here. Additional argument
5335 dry_run.
5336 (draw_border): Additional argument num_entries.
5337 (print_message): Additional argument dry_run.
5338 (print_entries): Receive menu viewer data.
5339 (grub_menu_init_page): New argment num_entries.
5340 (menu_text_set_chosen_entry): Use num_entries.
5341 (grub_menu_try_text): Likewise.
5342 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
5343 All users updated.
5344 (grub_ucs4_count_lines): New function.
5345 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
5346 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
5347 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
5348 (grub_term_border_height): Likewise.
5349 (grub_term_num_entries): Likewise.
5350
277f955b
VS
53512011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5352
5353 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
5354 Remove now unused string.
5355
536ce85a
CW
53562011-04-09 Colin Watson <cjwatson@ubuntu.com>
5357
5358 * docs/grub-dev.texi (Finding your way around): Update for 1.99
5359 build system.
5360 (Getting started): GRUB is developed in Bazaar now, not Subversion.
5361
5362 (Comment): Fix typo.
5363 (Getting started): General copy-editing.
5364 (Typical Development Experience): Likewise.
5365 (Error Handling): Likewise.
5366 (Video API): Likewise.
5367
2cf09e32
CW
53682011-04-09 Colin Watson <cjwatson@ubuntu.com>
5369
5370 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
5371 throughout.
5372
1ec652f4
VS
53732011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5374
5375 * util/grub-mkimage.c (main): Handle special naming of yeeloong
5376 directory.
5377
2c583728
CW
53782011-04-08 Colin Watson <cjwatson@ubuntu.com>
5379
5380 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
5381 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
5382 "development".
5383
d7a565e9
VS
53842011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5385
5386 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
5387 grub_strcpy since the lines aren't necessarily 0-terminated.
5388
7c2e4909
VS
53892011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5390
5391 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
5392 root on legacy.
5393
34c09785
VS
53942011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5395
5396 * grub-core/commands/probe.c (options): Argument to set isn't optional.
5397 (GRUB_MOD_INIT): DEVICE isn't optional.
5398
6a6f8058
VS
53992011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5400
5401 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
5402 word on new line if it's too long anyway. Fixes a hang.
5403
2e335e90
VS
54042011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5405
5406 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
5407 const.
5408 * util/grub-setup.c (main): Reuse md device name if available.
5409 * util/raid.c (grub_util_raid_getmembers): Receive device name and
5410 not GRUB name as argument.
5411 Based on patch by: Florian Wagner <fwagner>.
5412
10a7a867
VS
54132011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5414
5415 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
5416 Place mbi on low memory for better compatibility.
5417
7a3d6cd9
VS
54182011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5419
5420 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
5421
18dd6b47
VS
54222011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
54232011-04-08 Colin Watson <cjwatson@ubuntu.com>
5424
5425 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 5426 * conf/Makefile.common: Likewise.
18dd6b47 5427
3c0e3f14
VS
54282011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5429
f7148863
VS
5430 * grub-core/normal/menu.c: Add missing include.
5431
54322011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5433
5434 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 5435
6d1fa41f
MZ
54362011-04-08 Martin Zuther <mzuther@mzuther.de>
5437
5438 * util/grub-mkconfig.in: Ignore emacsen backup.
5439
478182a8
VS
54402011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5441
5442 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
5443 on open.
5444 (grub_util_biosdisk_close): Likewise.
5445
72a89a54
VS
54462011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5447
5448 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
5449 const attribute and use grub_isdigit.
5450
b5ebecfa
A
54512011-04-06 Andrey <dev_null@ukr.net>
5452
5453 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
5454 gcc warning.
5455
7755f66e
VS
54562011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5457
5458 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
5459 useful grub_dprintf's.
5460
461121ff
VS
54612011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5462
5463 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
5464
2a961775
VS
54652011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5466
5467 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
5468
adf594cc
VS
54692011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5470
5471 Output errors if theme loading failed.
5472
5473 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
5474 grub_gfxterm_fullscreen on error paths to ...
5475 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
5476 theme loading error.
5477
665900a3
VS
54782011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5479
5480 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
5481 space for older compilers.
5482 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
5483
a562b479
VS
54842011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5485
5486 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
5487 and report them as not RAID members since they are useless for GRUB.
5488 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
5489
850e9373
VS
54902011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5491
5492 Increase LVM implementation robustness in order not to crash on
5493 configurations like pvmove. Previously code assumed that in some places
5494 only lvs or only pvs are used whereas it seems that they are used
5495 interchangeably.
5496
5497 * grub-core/disk/lvm.c (read_node): New function.
5498 (read_lv): Use read_node.
5499 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
5500 Match volumes only at the end when all lvs are found. Take both
5501 pvs (first) and lvs (second) into account.
5502 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
5503 mirror_* into node_*. All users updated.
5504 (grub_lvm_stripe): Merge this ...
5505 (grub_lvm_mirror): ... and this ...
5506 (grub_lvm_node): ... into this. All users updated.
5507
6f332153
VS
55082011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5509
5510 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
5511 of function to allow further scanning for LVMs.
5512
829ea451
VS
55132011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5514
5515 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
5516 on failed seek as it breaks open fd reusage.
5517
09ceb9a5
VS
55182011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5519
5520 * util/grub-install.in: Add a recommendation to use --recheck before
5521 reporting bugs.
5522
67e11623
VS
55232011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5524
5525 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
5526 are obtained.
5527
caee5efd
VS
55282011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5529
5530 GRUB developper manual based on existing Internals section and
5531 contributions by the various authors with active copyright assignment.
5532
5533 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
5534 * docs/font_char_metrics.png: New file.
5535 * docs/font_char_metrics.txt: Likewise.
5536 * docs/grub-dev.texi: Likewise.
5537 * docs/grub.texi (Internals): Move from here ...
5538 * docs/grub-dev.texi: ... here.
5539
2cccc747
CW
55402011-04-01 Colin Watson <cjwatson@ubuntu.com>
5541
5542 Store the loopback device as data on loopback grub_disk structures,
5543 rather than the file it points to. This fixes use of freed memory
5544 if an existing loopback device is replaced.
5545
5546 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
5547 disk->data, not dev->file.
5548 (grub_loopback_read): Adjust file assignment to match.
5549 Fixes Ubuntu bug #742967.
5550
186ae367
CW
55512011-04-01 Colin Watson <cjwatson@ubuntu.com>
5552
5553 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
5554 when replacing an existing device.
5555
cfed2ad0
VS
55562011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5557
5558 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
5559 memory corruptions.
5560
5561 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
5562 unsigned.
5563 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
5564 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
5565 (grub_jfs_read_inode): Likewise.
5566 (grub_jfs_opendir): Likewise. Remove now useless casts.
5567 (grub_jfs_getent): Likewise.
5568 Make ino a grub_uint32_t rather than int.
5569 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
5570 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
5571 division and module with bit operations.
5572 (grub_jfs_find_file): Make ino a grub_uint32_t.
5573 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
5574
05d2ed32
CW
55752011-04-01 Colin Watson <cjwatson@ubuntu.com>
5576
5577 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
5578 warning. (This was in fact always initialised before use, but GCC
5579 wasn't smart enough to prove that.)
5580 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
5581
91dc6073
VS
55822011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5583
5584 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
5585 stack alignment.
5586 (efi_wrap_1): Likewise.
5587 (efi_wrap_2): Likewise.
5588 (efi_wrap_3): Likewise.
5589 (efi_wrap_4): Likewise.
5590 (efi_wrap_5): Likewise.
5591 (efi_wrap_6): Likewise.
5592 (efi_wrap_10): Likewise.
5593 Based on information by: Red Hat/Peter Jones.
5594
a8afc1d1
CW
55952011-03-31 Colin Watson <cjwatson@ubuntu.com>
5596
5597 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
5598 set-but-not-used variable.
5599
a826cc7d
CW
56002011-03-31 Colin Watson <cjwatson@ubuntu.com>
5601
5602 * docs/grub.texi (Simple configuration): Be more explicit about
5603 GRUB_DEFAULT, and add an example.
5604 Reported by: Leslie Rhorer.
5605
875b67ba
CW
56062011-03-30 Colin Watson <cjwatson@ubuntu.com>
5607
5608 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
5609 shell".
5610
fd7cd914
AS
56112011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
5612
5613 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
5614 * util/grub.d/20_linux_xen.in: Likewise.
5615
090b1b6a
VS
56162011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
5617
5618 * util/grub.d/10_linux.in: Try alternative config filenames where
5619 we parse config file.
5620 * util/grub.d/20_linux_xen.in: Likewise.
5621
baad885c
AS
56222011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
5623
5624 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
5625 * util/grub.d/20_linux_xen.in: Likewise.
5626
241e41f5
VS
56272011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
5628
5629 * grub-core/disk/raid.c (insert_array): Add few potentially
5630 useful grub_util_info.
5631 (grub_raid_register): Likewise.
5632
56445fb2
VS
56332011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
5634
5635 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
5636 Preserve partition number in mdadm code path.
5637
c871b1c6
VS
56382011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
5639
5640 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
5641 few potentially useful grub_util_info.
5642
5e631b4f
CW
56432011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
5644
5645 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
5646
2d5d0333
CW
56472011-03-30 Colin Watson <cjwatson@ubuntu.com>
5648
5649 * docs/grub.texi (default): Use @example rather than nested
5650 itemized lists to avoid breaking gendocs.
5651
3d7ed04e
CW
56522011-03-30 Colin Watson <cjwatson@ubuntu.com>
5653
5654 * docs/grub.texi (Future): Update.
5655
abf04200 56562011-03-30 Colin Watson <cjwatson@ubuntu.com>
5657
5658 * docs/grub.texi (Environment): New chapter.
5659 (Changes from GRUB Legacy): Link to "Environment block" section for
5660 details of limitations.
5661 (Simple configuration): Likewise. Link to documentation of gfxmode
5662 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
5663 respectively.
5664 (Shell-like scripting): Note that normal variables are stored in the
5665 environment.
5666 (gettext): Link to documentation of lang and locale_dir.
5667 (list_env): New section.
5668 (load_env): New section.
5669 (save_env): New section.
5670
5671 (Reporting bugs): Fix typo.
5672
e1ad0edd
VS
56732011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
5674
5675 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
5676 the example.
5677
5d803174
VS
56782011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
5679
5680 * grub-core/term/at_keyboard.c (set_scancodes)
5681 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
5682
2a2da1d0
CW
56832011-03-30 Colin Watson <cjwatson@ubuntu.com>
5684
5685 * docs/grub.texi (Menu-specific commands): Remove some semantics
5686 that were true in GRUB Legacy but not in GRUB 2.
5687 (submenu): New section.
5688 (false): New section.
5689 (read): New section.
5690 (true): New section.
5691
a7527639
CW
56922011-03-30 Colin Watson <cjwatson@ubuntu.com>
5693
5694 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
5695
56962011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
5697
5698 * docs/grub.texi (Simple configuration): Explain some of the
5699 current limitations of grub-mkconfig.
8a748df2 5700 Reported by: Leslie Rhorer.
e30af029 5701
fc858482
VS
57022011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5703
5704 Old macs search for boot.efi rather than for bootia32.efi.
5705
5706 * util/grub-install.in: Copy bootia32.efi to boot.efi.
5707 * util/grub-mkrescue.in: Likewise.
5708 Suggested by: Peter Jones.
5709
e1eb511d
VS
57102011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5711
5712 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
5713
70e75364
VS
57142011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5715
5716 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
5717 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
5718 (grub_lvm_mirror): New struct.
5719 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
5720 (grub_lvm_iterate): Iterate only visible volumes.
5721 (grub_lvm_read): Factor out to ..
5722 (read_lv): ... this. Support mirrors.
5723 (grub_lvm_read): New wrapper function.
5724 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
5725 stripped or mirrored.
5726
fc18f6a3
VS
57272011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5728
5729 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
5730
5c650f4c
CW
57312011-03-29 Colin Watson <cjwatson@ubuntu.com>
5732
5733 * docs/grub.texi (loopback): New section.
5734
61d7156b
CW
57352011-03-29 Colin Watson <cjwatson@ubuntu.com>
5736
5737 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
5738 removed -p option.
5739
994b8264
CW
57402011-03-29 Colin Watson <cjwatson@ubuntu.com>
5741
5742 * docs/grub.texi (BIOS installation): New section, partly based on
5743 previous text in other sections.
5744 (Installing GRUB using grub-install): Replace BIOS discussion with a
5745 cross-reference.
5746 (Images): Likewise.
5747
9e4d19e0
VS
57482011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5749
5750 * grub-core/kern/emu/hostdisk.c (find_partition_start)
5751 [HAVE_DIOCGDINFO]: Add safety checks.
5752
a307c0b2
VS
57532011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5754
5755 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
5756 per default compiled in kernel and prior to 8.0 isn't shipped at all.
5757
b4db4f39
CW
57582011-03-29 Colin Watson <cjwatson@ubuntu.com>
5759
5760 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
5761 real_sb->size is zero (e.g. RAID-0), get the disk size from
5762 real_sb->data_size instead.
5763 Fixes Ubuntu bug #743136.
5764
35e5f84c
VS
57652011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5766
5767 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
5768 printf clauses for printing size and start.
5769
d2e29d81
VS
57702011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5771
5772 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
5773 Reported and tested by: Timothy Nikkel.
5774
ed5587af
VS
57752011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5776
5777 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
5778 (dirty_region_add_real): ... this.
5779 (dirty_region_add): Don't discard margin refresh when performing
5780 scheduled repaint.
5781
a1dc717c
VS
57822011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5783
5784 * grub-core/lib/relocator.c (allocate_regstart)
5785 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
5786 terminals are capabple of malloc-free operation.
5787 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
5788 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
5789
9f3677d3
VS
57902011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
5791
5792 * util/grub-setup.c: Copy the partition table zone if floppy support
5793 is disabled, even if no partition table is found.
5794
5795 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
5796 during POST if an invalid partition table is contained in the PBR
5797 of the active partition when GRUB is installed to a partition.
5798
24148725
CW
57992011-03-28 Colin Watson <cjwatson@debian.org>
5800
5801 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
5802 comment.
5803
f329eda7
CW
58042011-03-28 Colin Watson <cjwatson@debian.org>
5805
5806 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
5807 to be specific about what kind of RAID device we're scanning for.
5808
c482ad98
SG
58092011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
5810
5811 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
5812 return freed string.
5813
5ee04984
VS
58142011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
5815
5816 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
5817
f4727da9
VS
58182011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
5819
5820 Use libgeom on FreeBSD to detect partitions.
5821
5822 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
5823 (grub-mkrelpath): Likewise.
5824 (grub-script-check): Likewise.
5825 (grub-editenv): Likewise.
5826 (grub-mkpasswd-pbkdf2): Likewise.
5827 (grub-fstest): Likewise.
5828 (grub-mkfont): Likewise.
5829 (grub-mkdevicemap): Likewise.
5830 (grub-probe): Likewise.
5831 (grub-setup): Likewise.
5832 (grub-ofpathname): Likewise.
5833 (grub-mklayout): Likewise.
5834 (example_unit_test): Likewise.
5835 (grub-menulst2cfg): Likewise.
5836 * grub-core/Makefile.core.def (grub-emu): Likewise.
5837 (grub-emu-lite): Likewise.
5838 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
5839 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
5840 define HAVE_DIOCGDINFO.
5841 (follow_geom_up) [FreeBSD]: New function.
5842 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
5843 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
5844 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
5845 unconditionally of HAVE_DIOCGDINFO.
5846
82fe6c75
VS
58472011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
5848
5849 Fix FreeBSD compilation problem.
5850
5851 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
5852 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
5853
4c6c9431
CW
58542011-03-24 Colin Watson <cjwatson@ubuntu.com>
5855
5856 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
5857 Switch back to page zero before loading a kernel, since some kernel
5858 drivers expect that.
5859 Thanks to: Felix Kuehling.
5860
c7064d94
VS
58612011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5862
5863 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
5864 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
5865 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
5866
3f71cded
VS
58672011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5868
5869 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
5870 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
5871
ef6de21a
VS
58722011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5873
5874 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
5875 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
5876 malloc is disabled.
5877
8bc66a2c
VS
58782011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5879
5880 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
5881 for modules headers when counting the needed allocation size.
5882
5657722c
VS
58832011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5884
5885 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
5886 if no ASCII character is found to prevent crash.
5887
41a85f55
AK
58882011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
5889
5890 * grub-core/video/bitmap.c (match_extension): Ignore case.
5891
59e1e5f1
VS
58922011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5893
5894 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
5895
bd4d051a
VS
58962011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5897
5898 * grub-core/script/parser.y: Declare "time" as valid argument.
5899
bae7fcc1
PJ
59002011-03-23 Peter Jones <pjones@redhat.com>
5901
5902 Fix incorrect assert failure reporting.
5903
5904 * grub-core/tests/example_functional_test.c (example_test): Add
5905 a failure comment.
5906 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
5907 (failure_start): ...this. Check that malloc succeeded.
5908 Don't call xvasprintf. Return failure struct.
5909 (failure_append_vtext): New function.
5910 (failure_append_text): Likewise.
5911 (add_failure): Likewise.
5912 (grub_test_assert_helper): Likewise.
5913 * include/grub/test.h (grub_test_assert_helper): New declaration.
5914 (grub_test_assert): Macro rewritten.
5915
537dc9be
VS
59162011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5917
5918 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
5919
fa3e01bf
VS
59202011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5921
5922 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
5923
b1d28404
VS
59242011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5925
5926 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
5927 into GRUB-style one.
5928
2e3e2e09
VS
59292011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5930
5931 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
5932 error and not grub_errno.
5933 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
5934
ed57e557
VS
59352011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5936
5937 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
5938 GRUB_USB_SPEED_NONE in case of failure and not the error code.
5939
d1611f01
VS
59402011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5941
5942 * grub-core/efiemu/i386/pc/cfgtables.c
5943 (grub_machine_efiemu_init_tables): Make declaration a prototype.
5944 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
5945 (grub_xnu_unlock): Likewise.
5946 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
5947
7d4e39d6
VS
59482011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5949
5950 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
5951 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
5952 * grub-core/commands/hashsum.c (aliases): Likewise.
5953 * grub-core/commands/setpci.c (pci_registers): Likewise.
5954 * grub-core/disk/usbms.c (attach_hook): Likewise.
5955 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
5956 (zio_checksum_table): Likewise.
5957 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
5958 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
5959 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
5960 * grub-core/lib/relocator.c (leftovers): Likewise.
5961 (extra_blocks): Likewise.
5962 * grub-core/loader/i386/bsd.c (relocator): Likewise.
5963 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
5964 (modules_last): Likewise.
5965 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
5966 (devices): Likewise.
5967 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
5968 (modules_last): Likewise.
5969 * grub-core/normal/auth.c (users): Likewise.
5970 * grub-core/normal/context.c (initial_menu): Likewise.
5971 (current_menu): Likewise.
5972 * grub-core/normal/crypto.c (crypto_specs): Likewise.
5973 * grub-core/term/serial.c (grub_serial_ports): Likewise.
5974 (grub_serial_terminfo_input_template): Likewise.
5975 (grub_serial_terminfo_output_template): Likewise.
5976 (grub_serial_terminfo_input): Likewise.
5977 (grub_serial_terminfo_output): Likewise.
5978 (registered): Likewise.
5979 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
5980
40fc4659
VS
59812011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5982
5983 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
5984 grub_video_mode_type_t.
5985 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
5986 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
5987 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
5988
2da48d28
VS
59892011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5990
5991 * util/grub-install.in: Correct the x86-64 name as x86_64.
5992
9b43bf39
CW
59932011-03-11 Colin Watson <cjwatson@ubuntu.com>
5994
5995 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
5996 initial chunk read from the kernel always includes GRUB's multiboot
5997 header, which is now outside the first sector.
5998
be1a7ce0
CW
59992011-03-09 Colin Watson <cjwatson@ubuntu.com>
6000
6001 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
6002 cached mmap_size, so that this works correctly when called multiple
6003 times.
6004 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
6005
83a3c48d
CW
60062011-03-09 Colin Watson <cjwatson@ubuntu.com>
6007
6008 * docs/grub.texi (Simple configuration): Tidy up formatting.
6009
57d75699
SJ
60102011-03-07 Szymon Janc <szymon@janc.net.pl>
6011
6012 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
6013 Set-but-not-used variable removed.
6014
028501a0
VS
60152011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6016
6017 Workaround yet another IEEE1275 bug.
6018
6019 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
6020 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
6021 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
6022 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
6023 is set.
6024 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6025 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
6026
d998657d
VS
60272011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6028
6029 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
6030 error.
6031
fee7cdd4
CW
60322011-02-11 Colin Watson <cjwatson@ubuntu.com>
6033
6034 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
6035 empty, since in that case we can only generate either nothing or a
6036 syntactically invalid configuration file.
6037 Reported by: Michal Suchanek. Fixes Debian bug #612898.
6038
97286eb5
CW
60392011-02-09 Colin Watson <cjwatson@ubuntu.com>
6040
6041 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
6042 (Making a GRUB bootable CD-ROM): Likewise.
6043 (Invoking grub-mkrescue): New section.
6044 Reported by: Yann Dirson. Fixes Debian bug #612585.
6045
22b28eb3
CW
60462011-02-09 Colin Watson <cjwatson@ubuntu.com>
6047
6048 * util/grub-install.in: Remove unnecessary brackets from tr
6049 arguments.
6050 * util/grub.d/10_hurd.in: Likewise.
6051 * util/grub.d/10_kfreebsd.in: Likewise.
6052 * util/grub.d/10_linux.in: Likewise.
6053 * util/grub.d/20_linux_xen.in: Likewise.
6054 Reported by: Jamie Heilman. Fixes Debian bug #612564.
6055
7e735e43
CW
60562011-02-08 Colin Watson <cjwatson@ubuntu.com>
6057
6058 * include/grub/file.h (not_easly_seekable): Rename to ...
6059 (not_easily_seekable): ... this. Update all users.
6060
800f1881
CW
60612011-01-28 Colin Watson <cjwatson@ubuntu.com>
6062
6063 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
6064 grub-mkrescue.
6065
3281d3d6
VS
60662011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6067
6068 * util/grub-mkimage.c (generate_image): Refuse to create the images
6069 bigger than the actual flash (512K) in Loongson machines. 512K is also
6070 the biggest chip supported by them.
6071
3533413c
VS
60722011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6073
6074 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
6075
73ae4f4f
VS
60762011-01-22 Anthony DeRobertis <anthony@derobert.net>
6077
6078 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
6079 super_offset field.
6080
37f4f608
VS
60812011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6082
6083 * util/grub-install.in: Ignore install device on platforms
6084 where it doesn't make sense. Always use UUIDs except on pc, efi and
6085 sparc64.
6086 Reported by: Daniel Kahn Gillmor.
6087
03a4ccb5
VS
60882011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6089
6090 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
6091
ffc8f4d8
VS
60922011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6093
6094 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
6095 (iterate_real): Don't rely on partition being non-NULL.
6096
80f23be7
VS
60972011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6098
6099 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
6100 supported platforms. Put a compile time assert for this rather than
6101 generate a warning with 32-bit shift.
6102
5d4f4dd5
VS
61032011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6104
6105 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
6106 logical expression more readable.
6107
e489601a
VS
61082011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6109
6110 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
6111 even if some elements have a name.
6112 Reported by: Alexander GQ Gerasiov.
6113
96e0a6ea
CW
61142011-01-22 Colin Watson <cjwatson@ubuntu.com>
6115
6116 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
6117 path unreadable if `grub-probe -t abstraction' fails, for example if
6118 memberlist fails on an LVM volume group.
6119 Reported by: Darius Jahandarie.
6120
81431e2b
CW
61212011-01-22 Colin Watson <cjwatson@ubuntu.com>
6122
6123 * docs/grub.texi (Simple configuration): Document
6124 GRUB_PRELOAD_MODULES.
6125
5e79d66a
CW
61262011-01-17 Colin Watson <cjwatson@ubuntu.com>
6127
6128 * .bzrignore: Remove nonexistent grub-pbkdf2.
6129
646ada34
VS
61302011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
6131
6132 * configure.ac: Bump version to 1.99~rc1.
6133
04360337
VS
61342011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
6135
6136 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
6137 for safety.
6138
46c9db88
VS
61392011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6140
6141 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
6142 module.
6143
61442011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
6145
6146 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
6147
4fbf1852
VS
61482011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6149
6150 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
6151 diskdevid.
6152
f1632d4d
VS
61532011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6154
6155 Fix compilation on cygwin.
6156
6157 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
6158 -R .drectve on cygwin.
6159 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
6160 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
6161 (COND_CYGWIN): New condition.
6162 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
6163 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
6164 not @TARGET_OBJ2ELF@.
6165 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
6166 type to determine whether aux is to be used.
6167
0b5e127b
VS
61682011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6169
6170 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
6171 realpath'ed device string.
6172 Handle floppy (somewhat).
6173 Issue error in unknown case rather than garbage.
6174 Reported by: Axel Beckert.
6175
173b71e9
VS
61762011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6177
6178 * util/grub.d/00_header.in (load_video): Handle the case when no video
6179 drivers available.
6180 Thanks to: Axel Beckert.
6181
f8f479db
VS
61822011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6183
6184 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
6185 variable. Fixes problem on big endian platforms.
6186
8fc0a245
VS
61872011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6188
6189 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
6190 It doesn't work well there.
6191
b8494fbe
VS
61922011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6193
6194 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
6195 warning.
6196 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
6197 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
6198 counter.
6199
b44a558c
VS
62002011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6201
6202 Use alias->path rather than buggy "canon".
6203
6204 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
6205 (ofdisk_hash_add): New argument curcan. All users updated.
6206
51fa856c
CW
62072011-01-11 Colin Watson <cjwatson@ubuntu.com>
6208
6209 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
6210
9da068a5
VS
62112011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6212
6213 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
6214 loadmask before doing any calculations. Use correct type for offset.
6215 (grub_linux_load64): Likewise.
6216
86205c94
CW
62172011-01-11 Colin Watson <cjwatson@ubuntu.com>
6218
6219 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
6220 with NULL.
6221 (console_grub_equivalences_unshift): Likewise.
6222 Reported by: Daniel Dehennin.
6223
4531a206
VS
62242011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6225
6226 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
6227 (set_env_limn_ro): Likewise.
6228 (GRUB_MOD_INIT): Likewise.
6229 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
6230 ARRAY_SIZE while on it.
6231 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
6232 * grub-core/normal/context.c (grub_env_export): Move from here ...
6233 * grub-core/kern/env.c (grub_env_export): ... here.
6234 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
6235 prefix.
6236 * grub-core/kern/main.c (grub_main): Export root and prefix.
6237 * include/grub/env.h (grub_env_export): Export.
6238 Reported by: Seth Goldberg.
6239
45146057
VS
62402011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6241
6242 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
6243 Take into account space used by ELF sections and multiboot palette.
6244 Reported by: Grégoire Sutre.
6245
f093110b
VS
62462011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6247
6248 * BUGS: New file.
6249
3395fe52
VS
62502011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6251
6252 Pass more appropriate video id to Linux.
6253
6254 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
6255 grub_video_get_driver_id and variable gfxpayloadforcelfb to
6256 fill have_vga.
6257 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
6258 shift params->lfb_size.
6259 * include/grub/i386/linux.h: Make an enume out of have_vga values.
6260
c2fa6cbb
VS
62612011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6262
6263 * util/grub-menulst2cfg.c: Add missing include of misc.h.
6264
b3ff6ff0
VS
62652011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6266
6267 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
6268 separator and pass bootpath/devid even if only one of them is available.
6269 Reported by: Seth Goldberg.
6270
ae67942e
VS
62712011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6272
6273 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
6274 implementations bug on them.
6275
6276 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
6277 memory.
6278 (filter_memory_map): Likewise.
6279
d570097a
VS
62802011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6281
6282 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
6283 Reported by: nebuchadnezzar.
6284
a508e776
VS
62852011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6286
6287 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
6288 Reported by: nebuchadnezzar.
6289
dcb883b1
VS
62902011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6291
6292 Submenu default support.
6293
6294 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
6295 auto_boot. All users updated.
6296 Declared static.
6297 Handle chosen and default with submenus.
6298 (grub_menu_execute_with_fallback): Declared static.
6299 Don't notify failure if autobooted. Upper level does it.
6300 (menuentry_eq): New function.
6301 (get_entry_number): Use menuentry_eq.
6302 (show_menu): New parameter "autobooted". All users updated.
6303 (grub_show_menu): Likewise.
6304 * include/grub/normal.h (grub_show_menu): Likewise.
6305 * include/grub/menu.h (grub_menu_execute_entry): Removed.
6306 (grub_menu_execute_with_fallback): Likewise.
6307
6fef99b4
VS
63082011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6309
6310 * util/grub-mklayout.c (usage): Update help text.
6311
47a77af5
VS
63122011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6313
6314 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
6315
ce6bb3ee
VS
63162011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6317
6318 * util/grub-menulst2cfg.c (main): Trim the line.
6319
db87be2a
VS
63202011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6321
6322 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
6323 (grub_machine_init): Don't check amount of low memory as reportedly
6324 INT 12h can be broken and if low memory is too low we wouldn't have
6325 gotten into grub_machine_init anyway.
6326
c49849cc
VS
63272011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6328
6329 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
6330 (grub_machine_mmap_iterate): Take low memory into account
6331
b1969b30
VS
63322011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6333
6334 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
6335 badfs.
6336 Reported by: TiCPU.
6337
cf0eaf13
VS
63382011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6339
6340 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
6341 members errors.
6342
1f060f39
GS
63432011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
6344
6345 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
6346 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
6347
a21e5672
GS
63482011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
6349
6350 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
6351 openbsd and netbsd types being in part_bsd module.
6352
c88172fa
VS
63532011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6354
6355 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
6356 (_FILE_OFFSET_BITS): Likewise.
6357 Reported by: Seth Goldberg.
6358
53798c4b
GS
63592011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
6360
6361 * configure.ac: Check for libdevmapper header.
6362
e7121b69
VS
63632011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6364
6365 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
6366 avoid aliasing.
6367 (fzap_lookup): Likewise.
6368 (dnode_get): Likewise.
6369 (make_mdn): Likewise.
6370 (zfs_mount): Likewise.
6371 (fzap_iterate): Use temporary pointer to avoid aliasing.
6372 (grub_zfs_read): Likewise.
6373 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
6374 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
6375 pointers to avoid aliasing.
6376 (grub_cmd_xnu_kernel64): Likewise.
6377 (grub_xnu_load_driver): Likewise.
6378
fc836af9
VS
63792011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6380
6381 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
6382 aliasing warning.
6383 (grub_cmd_terminal_output): Likewise.
6384 Reported and tested by: Grégoire Sutre.
6385
f9f37648
VS
63862011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6387
6388 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
6389 warning.
6390 Reported and tested by: Grégoire Sutre.
6391
ec1dfd63
VS
63922011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6393
6394 * configure.ac: Do CPU substitution even if it's specified explicitly.
6395 Reported and tested by: Alain Greppin.
6396
9462775a
VS
63972011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6398
6399 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
6400 Reported and tested by: Alain Greppin.
6401
0fd48e35
VS
64022011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6403
6404 Satisfy some bison versions need for inttypes.h.
6405
6406 * grub-core/lib/posix_wrap/inttypes.h: New file.
6407 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
6408 (int16_t): Likewise.
6409 (int32_t): Likewise.
6410 (int64_t): Likewise.
6411 Reported and tested by: Alain Greppin.
6412
43f1bc83
VS
64132011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6414
6415 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
6416 Silence spurious warning.
6417 Reported and tested by: Alain Greppin.
6418
64d1f041
SJ
64192011-01-07 Szymon Janc <szymon@janc.net.pl>
6420
6421 * docs/grub.texi (Support automatic decompression): Update with xz
6422 decompression support.
6423
25953e10
SJ
64242011-01-07 Szymon Janc <szymon@janc.net.pl>
6425
6426 Improve loaders' kernel command line handling.
6427
6428 * grub-core/lib/cmdline.c: New file.
6429 * include/grub/lib/cmdline.h: Likewise.
6430 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
6431 grub_create_loader_cmdline to create kernel command line.
6432 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
6433 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
6434 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
6435 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
6436 (linux): Add lib/cmdline.c on common.
6437
e72d259f
VS
64382011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6439
6440 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
6441 inopos might be unaligned.
6442
c0cf26da
VS
64432011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6444
6445 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
6446 endian transformations.
6447 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
6448 Based on report by: Doug Nazar.
6449
0ca09e6c
DN
64502011-01-07 Doug Nazar <nazard.michi@gmail.com>
6451
6452 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
6453 array->members[i].start_sector.
6454 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
6455
014b6806
VS
64562011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6457
6458 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
6459 Reported and tested by: Grégoire Sutre.
6460
415502c2
CW
64612011-01-06 Colin Watson <cjwatson@ubuntu.com>
6462
6463 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
6464 avoid causing test failures by clearing the screen.
6465
71b6a2b7
CW
64662011-01-06 Colin Watson <cjwatson@ubuntu.com>
6467
6468 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
6469 Fix prefix check to handle the case where dir ends with a slash
6470 (most significantly, "/" itself).
6471 Reported by: Michael Vogt.
6472
b3f8d28a
VS
64732011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6474
6475 Run terminfo_cls on initing terminfo output to clear the screen and
6476 move the cursor to (0,0).
6477
6478 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
6479 Call grub_terminfo_output_init.
6480 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
6481 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
6482 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
6483
4c3e4f37
VS
64842011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6485
6486 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
6487 only when needed.
6488
488f71f1
VS
64892011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6490
6491 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
6492 CTRL.
6493
18a38098
VS
64942011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6495
6496 The E820 type 5 is BADRAM, not EXEC_CODE.
6497
6498 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
6499 (GRUB_E820_BADRAM): New define.
6500 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
6501 into reserved. Propagate BADRAM.
6502 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
6503 (GRUB_E820_BADRAM): New define.
6504
9eae2084
VS
65052011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6506
6507 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
6508 Ignore the memory post-4G.
6509 (grub_relocator_firmware_alloc_region): Additional debug statement.
6510
ebc71d28
VS
65112011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6512
6513 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
6514 names.
6515 Reported by: David Pravec.
6516
446fa400
VS
65172011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6518
6519 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
6520 BIOSes.
6521
a0159f37
VS
65222011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6523
6524 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
6525 Prevent overflow.
6526 (grub_reed_solomon_recover): Likewise.
6527
e5146ca1
VS
65282011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6529
6530 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
6531
65322011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
6533
6534 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
6535 variable.
6536
5b1bdf12
CW
65372011-01-04 Colin Watson <cjwatson@ubuntu.com>
6538
6539 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
6540 descriptions of extract_legacy_entries_source and
6541 extract_legacy_entries_configfile.
6542 Reported by: Seung Soo, Ha.
6543
99d925aa
CW
65442011-01-03 Colin Watson <cjwatson@ubuntu.com>
6545
6546 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
6547 on devices that do not implement function 0.
6548
4af0504b
DV
65492011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
6550
6551 * grub-core/fs/hfsplus.c: Make parent unsigned.
6552 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
6553 overflows.
6554 (grub_hfsplus_cmp_extkey): Likewise
6555
469ee10a
VS
65562011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6557
6558 * util/grub-install.in: Correctly use bootloader_id and not
6559 GRUB_DISTRIBUTOR on efibootmgr line.
6560
323a8e9c
VS
65612011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6562
6563 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
6564
1b394975
IC
65652010-12-31 Ian Campbell <ijc@hellion.org.uk>
6566
6567 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
6568 Xen and reorder menu item wording to make it clearer that this entry
6569 will launch Xen. Print separate messages when loading Xen and
6570 Linux.
6571
275bff5f
VS
65722010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
6573
6574 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
6575 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
6576 loop in case of incorrect amiga partmap.
6577
307806cb
VS
65782010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
6579
6580 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
6581 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
6582 Reported by:EHeM.
6583
b12b923e
VS
65842010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
6585
6586 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
6587 spurious warning.
6588 Reported by: crocket
6589
14b48a19
VS
65902010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6591
6592 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
6593 Preload EFIemu.
6594 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
6595
693db2df
VS
65962010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6597
6598 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
6599 is loaded
6600 (grub_cmd_xnu_kextdir): Likewise.
6601 (grub_cmd_xnu_splash): Likewise.
6602
c7638645
VS
66032010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6604
6605 Avoid using Reed-Solomon with 0 redundancy.
6606
6607 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
6608 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
6609 or 0 redundancy.
6610 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
6611 (grub_reed_solomon_recover): Likewise.
6612
25dd4780
VS
66132010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6614
6615 Don't use disk subsystem in freebsd_boot.
6616
6617 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
6618 (freebsd_biosdev): Likewise.
6619 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
6620 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
6621
0b2db943
VS
66222010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
6623
6624 Handling of files of unknown size is currently limited. They can't be
6625 used e.g. for initrd or modules. Moreover gzip handling of not
6626 easily seekable files is buggy. Disable unknown file size for now. May
6627 be inefficient but works.
6628
6629 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
6630 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
6631
5c408d0f
MP
66322010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
6633
6634 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
6635 floppy probe.
6636
190a011a
JD
66372010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
6638
6639 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
6640
022d01b8
SL
66412010-12-25 Shea Levy <shlevy>
6642
6643 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
6644
c4855fdc
VS
66452010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6646
6647 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
6648 Windows Server 2008.
6649 Reported by: Devin Giddings.
6650
0354b867
VS
66512010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6652
6653 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
6654 writing an error message because of async power management.
6655 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
6656 (grub_reboot): Likewise.
6657
ab66c69f
JU
66582010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
6659
6660 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
6661 keep unit tests from failing when they shouldn't.
6662
1426ef35
CW
66632010-12-21 Colin Watson <cjwatson@ubuntu.com>
6664
6665 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
6666 previous patch increased the size of the RS code by 20 bytes (at
6667 least with gcc-4.4), so increase this by 20 bytes to match.
6668 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
6669
20641b6b
CW
66702010-12-21 Colin Watson <cjwatson@ubuntu.com>
6671
6672 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
6673 scratch area. Make sure to initialise chosen in standalone mode as
6674 well as non-standalone.
6675 Reported by: Robert Hooker and Andy Whitcroft.
6676 Tested by: Andy Whitcroft.
6677
d060ad60
CW
66782010-12-21 Colin Watson <cjwatson@ubuntu.com>
6679
6680 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
6681 constructing a new unescaped string and passing it to grub_xputs in
6682 one go, rather than passing characters to grub_printf one at a time.
6683
b889cfad
CW
66842010-12-21 Colin Watson <cjwatson@ubuntu.com>
6685
6686 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
6687 initialising utf16.
6688
4e01b6c8
CW
66892010-12-21 Colin Watson <cjwatson@ubuntu.com>
6690
6691 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
6692 comment. Add an extra layer of quotation, requiring the output of
6693 this function to be used in a printf format string.
6694 (gettext_printf): New function.
6695 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
6696 Extract translatable strings from here-documents and use a temporary
6697 variable instead, so that xgettext can find them.
6698 * util/grub.d/10_kfreebsd.in: Likewise.
6699 * util/grub.d/10_linux.in: Likewise.
6700 * util/grub.d/20_linux_xen.in: Likewise.
6701
6702 * po/grub.d.sed: New file.
6703 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
6704 arguments. Set c-format flags on all strings extracted from
6705 util/grub.d/ (xgettext refuses to include these itself for strings
6706 it extracted from a shell file, but these really are c-format).
6707
5318fe98
VS
67082010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
6709
6710 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
6711 Avoid next pointing to nowhere.
6712
6c85b743
VS
67132010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
6714
6715 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
6716 rather than assuming than rootblock is exactly in the middle.
6717 (grub_affs_label): Likewise.
6718
a2a08a35
VS
67192010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
6720
6721 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
6722 reserved_first_sector to 0.
6723 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
6724 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
6725 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
6726
7059d1ec
VS
67272010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
6728
6729 Fix handling of UTF-16 UDF labels.
6730
6731 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
6732 (read_string): .. here.
6733 (grub_udf_label): Use read_string.
6734
30aff4cb
BC
67352010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
6736
6737 * grub-core/normal/menu_entry.c (run): Execute commands from menu
6738 editor under argument scope.
6739 Reported by: Jordan Uggla
6740
5cf86f4b
VS
67412010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
6742
6743 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
6744
32570200
CW
67452010-12-18 Colin Watson <cjwatson@ubuntu.com>
6746
6747 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
6748 line, and other keys scroll an entire page (previous handling was
6749 for \r and \n to scroll a page and other keys to scroll two lines).
6750
e1dffcf2
VS
67512010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
6752
6753 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
6754 Set ptrdest to correct get_physical_target_address rather than
6755 incorrect get_virtual_current_address.
6756
b04298cf 67572010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
6758
6759 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
6760 correct cat to grub_uint8_t * rather than grub_uint32_t *.
6761
5367ecd3
CW
67622010-12-10 Colin Watson <cjwatson@ubuntu.com>
6763
6764 * .bzrignore: Ignore grub-core/rs_decoder.S.
6765
1fb430f8
CW
67662010-12-10 Colin Watson <cjwatson@ubuntu.com>
6767
6768 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
6769 .mo/.mo.gz opening sequence to ...
6770 (grub_mofile_open_lang): ... here.
6771 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
6772 * util/grub.d/00_header.in (grub_lang): Include country part of
6773 locale.
6774 Reported by: Mario Limonciello.
6775
a94a6671
RM
67762010-12-09 Robert Millan <rmh@gnu.org>
6777
6778 * NEWS: Document addition of ZFS support.
6779
24b7938b
CW
67802010-12-04 Colin Watson <cjwatson@ubuntu.com>
6781
6782 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
6783 rather than `/ 2', as the latter requires -Wa,--divide which would
6784 require bumping our minimum binutils version.
6785
bddc3ef6
BC
67862010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
6787
6788 * util/grub-script-check.c (main): Print script line number on
6789 error.
6790
bf78d5b2
RM
67912010-12-01 Robert Millan <rmh@gnu.org>
6792
6793 * grub-core/fs/zfs/zfs.c: New file.
6794 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
6795 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
6796 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
6797 * grub-core/fs/zfs/zfsinfo.c: Likewise.
6798
6799 * include/grub/zfs/dmu.h: Likewise.
6800 * include/grub/zfs/dmu_objset.h: Likewise.
6801 * include/grub/zfs/dnode.h: Likewise.
6802 * include/grub/zfs/dsl_dataset.h: Likewise.
6803 * include/grub/zfs/dsl_dir.h: Likewise.
6804 * include/grub/zfs/sa_impl.h: Likewise.
6805 * include/grub/zfs/spa.h: Likewise.
6806 * include/grub/zfs/uberblock_impl.h: Likewise.
6807 * include/grub/zfs/vdev_impl.h: Likewise.
6808 * include/grub/zfs/zap_impl.h: Likewise.
6809 * include/grub/zfs/zap_leaf.h: Likewise.
6810 * include/grub/zfs/zfs.h: Likewise.
6811 * include/grub/zfs/zfs_acl.h: Likewise.
6812 * include/grub/zfs/zfs_znode.h: Likewise.
6813 * include/grub/zfs/zil.h: Likewise.
6814 * include/grub/zfs/zio.h: Likewise.
6815 * include/grub/zfs/zio_checksum.h: Likewise.
6816
6817 * Makefile.util.def: Build ZFS into libgrubmods.
6818 * grub-core/Makefile.core.def: Build zfs.mod.
6819
3f0f3831
SJ
68202010-11-30 Szymon Janc <szymon@janc.net.pl>
6821
6822 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
6823 variable.
6824 * grub-core/commands/wildcard.c (match_files): Likewise.
6825
3a4253b2
RM
68262010-11-30 Robert Millan <rmh@gnu.org>
6827
6828 * grub-core/loader/i386/bsd.c
6829 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
6830 whether kernel is loaded using grub_loader_is_loaded(), rather
6831 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
6832 certain error conditions.
6833
8c317b27
RM
68342010-11-30 Robert Millan <rmh@gnu.org>
6835
c5c9cd3e
RM
6836 * grub-core/commands/echo.c: Include `<grub/term.h>'.
6837 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 6838
49d3ab46
VS
68392010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
6840
6841 Avoid using tricks for initialising endian variables.
6842
6843 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
6844 Make const.
6845 (GRUB_MOD_INIT): Don't byte-swap.
6846 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
6847 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
6848 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
6849 (grub_swap_bytes32_compile_time): Likewise.
6850 (grub_cpu_to_le32_compile_time): Likewise.
6851 (grub_cpu_to_le16_compile_time): Likewise.
6852
f420a804
VS
68532010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
6854
6855 * util/grub-setup.c (setup): Stop recommending --force. People who
6856 understand the dangers of blocklists are able to find this option
6857 anyway and the ones who don't shouldn't use it anyway.
6858
4e7db17b
RM
68592010-11-26 Robert Millan <rmh@gnu.org>
6860
6861 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
6862 Update all users.
6863
9be57a0d
CW
68642010-11-26 Colin Watson <cjwatson@ubuntu.com>
6865
6866 Fix LVM-on-RAID probing.
6867
6868 * util/grub-probe.c (probe): Remember which disk was detected as
6869 RAID (perhaps an LVM physical volume). Use that disk's raidname
6870 rather than that of the top-level disk.
6871
2c7859b3 68722010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 6873
d7647bb6
BC
6874 Fix cmdline argument quotes for setparams command of menuentry
6875 definitions.
7e623b0d
BC
6876
6877 * grub-core/commands/menuentry.c (setparams_prefix): Use single
6878 quotes for arguments.
f866fe80 6879 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 6880 grub_strchrsub function instead.
f866fe80 6881
7955bea0 6882 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 6883
74f72a64
CW
68842010-11-24 Colin Watson <cjwatson@ubuntu.com>
6885
6886 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
6887 effort by skipping "." and ".." entries up-front.
6888 Suggested by: Michael Lazarev.
6889
5a407278
CW
68902010-11-24 Colin Watson <cjwatson@ubuntu.com>
6891
6892 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
6893 ldflags to ldadd, to fix link line ordering.
6894 (none_decompress): Likewise.
6895
3030d8ec
CW
68962010-11-24 Colin Watson <cjwatson@ubuntu.com>
6897
6898 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
6899 platforms.
6900 (grub-emu-lite): Remove kern/emu/cache.S.
6901
b7fbac12
CW
69022010-11-23 Colin Watson <cjwatson@ubuntu.com>
6903
6904 * util/deviceiter.c (compare_devices): If the by-id link for a
6905 device couldn't be resolved, fall back to sorting by the by-id link
6906 rather than segfaulting.
6907 Reported and tested by: Daniel Mierswa.
6908
5225f328
CW
69092010-11-23 Colin Watson <cjwatson@ubuntu.com>
6910
6911 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
6912 ldflags, to fix link line ordering.
6913
038b3ce8
CW
69142010-11-23 Colin Watson <cjwatson@ubuntu.com>
6915
6916 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
6917 linkers are picky about this.
6918
bf16e98e
CW
69192010-11-23 Colin Watson <cjwatson@ubuntu.com>
6920
6921 * grub-core/Makefile.am (command.lst): Adjust sed expression
6922 ordering so that extended and priority commands aren't treated as
6923 ordinary commands.
6924
7242bab6
CW
69252010-11-23 Colin Watson <cjwatson@ubuntu.com>
6926
6927 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
6928 Remove byte-swapping function calls, which are not valid in
6929 structure initialisers.
6930 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
6931 non-const.
6932 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
6933 grub_gpt_partition_type_bios_boot.
6934
14e8b279
CW
69352010-11-22 Colin Watson <cjwatson@ubuntu.com>
6936
6937 Fix test program build on GNU/kFreeBSD.
6938
6939 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
6940 $(LIBNVPAIR)' library dependencies.
6941
e6f63338 69422010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
6943
6944 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
6945
cf8ffc38
CW
69462010-11-22 Colin Watson <cjwatson@ubuntu.com>
6947
6948 * util/grub-install.in: Remove excessive quoting that broke
6949 installations to RAID devices.
6950
7f8b0fd7
VS
69512010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
6952
6953 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
6954 bootloader version instead of 0.
6955
dfd240b1
VS
69562010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
6957
6958 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
6959 warning.
6960
7b61e609
VS
69612010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
6962
6963 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
6964 retrieve the metadat sector if size isn't known.
6965 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
6966
9dfe92d0
RM
69672010-11-18 Robert Millan <rmh@gnu.org>
6968
6969 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
6970 with grub_memcmp().
6971
41cc919e
VS
69722010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
6973
6974 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
6975 arrow.
6976 Reported by: Jordan Uggla.
6977
1afcc914
VS
69782010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
6979
6980 Make better UTF compliant.
6981
6982 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
6983 sequences as incorrect.
6984 (grub_is_valid_utf8): Likewise.
6985 (grub_utf8_to_ucs4): Likewise.
6986 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
6987 (grub_ucs4_to_utf8_alloc): Likewise.
6988 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
6989
f1808884
VS
69902010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
6991
6992 Make legacy_source behave like source.
6993
6994 * grub-core/commands/legacycfg.c (legacy_file): Don't call
6995 grub_show_menu.
6996 (grub_cmd_legacy_source): Call grub_show_menu if needed.
6997
24ec575b
CW
69982010-11-16 Colin Watson <cjwatson@debian.org>
6999
7000 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
7001 (-Wunused implies -Wunused-parameter, but not vice versa).
7002
72b7c7aa
CW
70032010-11-16 Colin Watson <cjwatson@ubuntu.com>
7004
7005 * configure.ac: Make error messages less confusing by testing for
7006 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
7007 accepted, but produces a diagnostic if something else is wrong).
7008
e98937aa
VS
70092010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
7010
7011 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
7012 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
7013 (now unused).
7014 (grub_keyboard_controller_init)
7015 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
7016 read the initial state since controller isn't inited yet.
7017
f6bbabc3
VS
70182010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
7019
7020 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
7021 allocate_regbeg may need to create new chunk header.
7022
22e7dbb2
VS
70232010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7024
7025 Fix quoting in legacy parser.
7026
7027 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
7028 single quotes.
7029 (grub_legacy_parse): Likewise.
7030 Reported by: Jordan Uggla.
7031 Tested by: Jordan Uggla.
7032
03f80960
VS
70332010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7034
7035 Don't add -lgcc on i386 and x86_64.
7036
7037 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
7038 * conf/Makefile.common (LDADD_KERNEL): Likewise.
7039 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
7040
779dc15b
VS
70412010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7042
7043 * configure.ac: Add -Wno-trampolines when supported.
7044
d20a3b37
MV
70452010-11-14 Modestas Vainius <modax@debian.org>
7046
7047 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
7048 fakeraid.
7049
e5360933
GC
70502010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
7051
7052 Add generic logical block size support for UDF.
7053
7054 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
7055 (GRUB_UDF_BLKSZ): Removed.
7056 (struct grub_udf_data): New field "lbshift" to hold the logical block
7057 size of the file system in log2 format. All users updated.
7058 (sblocklist): Change type to unsigned.
7059 (grub_udf_mount): Change type of "sblklist" to unsigned.
7060 Move AVDP search before VRS recognition, because the latter requires
7061 knowledge of the logical block size, which is detected during the
7062 former.
7063 Detect and validate logical block size during AVDP search, adding
7064 support for block sizes 512, 1024 and 4096.
7065 Make VRS recognition independent of block size.
7066
cb0229c5
GC
70672010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
7068
7069 Properly handle deleted files on UDF.
7070
7071 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
7072 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
7073 set.
7074
406858a8
GC
70752010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
7076
7077 Support reading files larger than 2 GiB.
7078
7079 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
7080 "offset" to grub_off_t.
7081 (grub_udf_read_file): Likewise for parameter "pos".
7082
130da6a7
VS
70832010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7084
7085 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
7086 unavailable.
7087 (Simple configuration): Refer to Changes from GRUB Legacy about
7088 save_env availability.
7089
65e93f6b
VS
70902010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7091
7092 * util/grub-install.in: Ignore empty partition table detection
7093 instead of trying to include part_ module.
7094
1fd08bf1
VS
70952010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7096
7097 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
7098 LVM on RAID support.
7099
de1a024f
VS
71002010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7101
7102 Properly define WORDS_BIGENDIAN in wrapped environments.
7103
7104 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
7105 definition.
7106 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
7107
7108 Reported by: Manoel Rebelo Abranches.
7109 Tested by: Manoel Rebelo Abranches.
7110
bc5dd0b9
VS
71112010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7112
7113 * util/grub-mkconfig.in: Fix quoting.
7114
58c184be
VS
71152010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7116
7117 Support big ext2 files.
7118
7119 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
7120 (grub_ext2_read_block): Support triple indirect blocks.
7121 (grub_ext2_read_file): Use 64-bit types and read size_high.
7122 (grub_ext2_open): Read size_high.
7123 Reported by: Ximin Luo.
7124 Tested by: Manoel Rebelo Abranches.
7125
5f0c02b3
VS
71262010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7127
7128 * util/grub-install.in: Handle filenames containing spaces.
7129 Reported by: Jordan Uggla.
7130 Tested by: Jordan Uggla.
7131
4417aae6
VS
71322010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7133
7134 * util/grub-mkconfig.in (grub_script_check): New variable.
7135 Use grub_script_check instead of grub-script-check.
7136 Reported by: Barry Jackson.
7137
7625a68e
VS
71382010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7139
7140 * docs/grub.texi (menu): Correct the order.
7141 Reported by: D. Hugh Redelmeier.
7142
10001ac5
VS
71432010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7144
7145 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
7146 jump.
7147
9c4cf53b
MRA
71482010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
7149
10001ac5
VS
7150 * include/grub/elfload.h (grub_elf32_size): New parameter.
7151 All users updated.
9c4cf53b
MRA
7152 Return maximum segments alignment.
7153 (grub_elf64_size): Likewise.
7154 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
7155 Return maximum segments alignment.
7156 (grub_elf64_size): Likewise.
7157 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
7158 (grub_linux_claimmap_iterate): New function. Uses the
7159 "available" property in the "memory" node for memory allocation
7160 for kernel in the PowerPC loader.
9c4cf53b
MRA
7161 (grub_linux_load32): Correctly find linux entry point offset.
7162 (grub_linux_load64): Likewise.
7163
d2bf06bf
RM
71642010-11-07 Robert Millan <rmh@gnu.org>
7165
7166 On mips-yeeloong, build with -march=loongson2f when this flag is
7167 available (GCC >= 4.4).
7168 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
7169 `-march=mips3'.
7170 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
7171 or otherwise add -march=mips3.
7172
898c99a2
BC
71732010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
7174
87220a68
BC
7175 Suppress shell expansion on echo '*' and echo "*" like cases.
7176 Reported by: Jordan Uggla.
898c99a2
BC
7177
7178 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
7179 string arguments before shell expansion.
7180 * tests/grub_cmd_echo.in: New testcases.
7181
4f9b406a
RM
71822010-11-07 Robert Millan <rmh@gnu.org>
7183
7184 * conf/mips-qemu-mips.rmk: Remove stale file from previous
7185 transition.
7186
80c6d25e
VS
71872010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
7188
7189 * grub-core/kern/emu/hostdisk.c
7190 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
7191
4a1a0153
VS
71922010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7193
7194 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
7195 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
7196 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
7197
34706ddc
VS
71982010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7199
7200 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
7201
6972dea9
VS
72022010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7203
7204 * util/grub-install.in: Replace useless recomendation to pass
7205 --modules with a recomendation to report a bug.
7206
9c693bd6
VS
72072010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7208
7209 Properly register serial terminfo.
7210 Reported by: Jordan Uggla
7211
7212 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
7213 const.
7214 (grub_serial_terminfo_output_template): Likewise.
7215 (grub_cmd_serial): Register "serial" with terminfo.
7216 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
7217 grub_serial_terminfo_output.
7218
6c9e4c0c
RM
72192010-11-05 Robert Millan <rmh@gnu.org>
7220
7221 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
7222 needed).
7223
b9b3839f
RM
72242010-11-05 Robert Millan <rmh@gnu.org>
7225
7226 On Yeeloong, pass machine type information to Linux.
7227
7228 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
7229 (LOONGSON_MACHTYPE): New macro, set to
7230 "machtype=lemote-yeeloong-2f-8.9inches".
7231 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
7232 additional argument to Linux.
7233
1a3aaff4
RM
72342010-11-04 Robert Millan <rmh@gnu.org>
7235
7236 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
7237 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
7238 (its SATA disks are detected as slaveless IDE master drives on
7239 kFreeBSD).
7240 Reported by Carsten Aulbert.
7241
a75f4f62
CW
72422010-11-02 Colin Watson <cjwatson@ubuntu.com>
7243
7244 * util/bin2h.c (main): Fix spelling error in generated output.
7245
33b4b0c6
GS
72462010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
7247
7248 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
7249
2b36fbf4
VS
72502010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7251
7252 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
7253 vga= option is supplied.
7254
74aaf558
VS
72552010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7256
7257 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
7258 * util/grub.d/10_kfreebsd.in: Likewise.
7259 * util/grub.d/10_linux.in: Likewise.
7260 * util/grub.d/20_linux_xen.in: Likewise.
7261
6428dec3
VS
72622010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7263
7264 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
7265 argument as an argument to no-argument option.
7266
f8729d98
VS
72672010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7268
7269 * util/grub.d/10_linux.in: Add missing load_video with explicit
7270 GRUB_GFXPAYLOAD_LINUX.
7271
89d68fa6
VS
72722010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7273
7274 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
7275
3a1197cd
VS
72762010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7277
7278 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
7279 elements with invlid index.
7280 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
7281 * grub-core/disk/raid.c (insert_array): Automatically reallocate
7282 members.
7283 * include/grub/raid.h (grub_raid_member): New struct.
7284 (grub_raid_array): Transform devices and start_sector into usage of
7285 grub_raid_member. All users updated
7286 (allocated_devs): New member.
7287
71574288
VS
72882010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7289
7290 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
7291 is modified
7292
8d40ec65
BC
72932010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
7294
7295 NetBSD build fix for getline function conflict from gnulib.
7296
7297 * Makefile.util.def (libgrubkern.a): New library for grub kernel
7298 components that depend on gnulib headers.
7299 (libgrubmods.a): Renamed from earlier libgrub.a.
7300 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
7301
95b9257e
VS
73022010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7303
7304 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
7305 install rather than creating a broken install.
7306
26c53dc6
VS
73072010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7308
7309 * util/grub-setup.c (argp): Remove misleading example of installing to
7310 a partition.
7311
4171b3c5
VS
73122010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7313
7314 * util/grub-setup.c (setup): Clarify the error message.
7315
18568d18
VS
73162010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7317
7318 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
7319
4f6a2e21
VS
73202010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7321
7322 * grub-core/kern/emu/misc.c
7323 (grub_make_system_path_relative_to_its_root)
7324 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
7325
73262010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
7327
7328 * grub-core/kern/emu/misc.c
7329 (grub_make_system_path_relative_to_its_root): Revert r2882.
7330
e138c458
VS
73312010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
7332
7333 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
7334 useless field head. All users updated.
7335 (free_subchunk): Correct handling of IN_REGION subchunk.
7336
0cbcdf0e
CW
73372010-10-22 Colin Watson <cjwatson@ubuntu.com>
7338
7339 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
7340 (Supported kernels): Likewise.
7341
b65ea155
GS
73422010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
7343
7344 Make mktemp invocations portable.
7345
7346 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
7347 exit if mktemp fails.
7348 * tests/grub_script_blockarg.in: Likewise.
7349 * tests/partmap_test.in: Likewise.
7350 * tests/util/grub-shell-tester.in: Likewise.
7351 * tests/util/grub-shell.in: Likewise.
7352 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7353 * Makefile.am: Likewise, and chain shell commands with `&&'
7354 instead of ';'.
7355 * util/grub-mkrescue.in: Use the same explicit template as above, and
7356 exit if mktemp fails.
7357
05f43cdd
BC
73582010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
7359
7360 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
7361 Linux kernel, reported by Dennis Schridde.
7362
800e6a9b
SJ
73632010-10-17 Szymon Janc <szymon@janc.net.pl>
7364
7365 * grub-core/normal/auth.c (grub_auth_check_authentication):
7366 Set-but-not-used variable removed.
7367
d82df574
VS
73682010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7369
7370 * docs/grub.texi (GNU/Linux): Document APM unavailability with
7371 32-bit linux protocol.
7372
7bced458
VS
73732010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7374
7375 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
7376 cursor shape for sanity.
7377
5b027690
VS
73782010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7379
7380 * docs/grub.texi (Installation): Document buggy BIOS install.
7381
ba5f65cf
VS
73822010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7383
7384 * docs/grub.texi (Installation): Indent.
7385
fdf2ec9c
VS
73862010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7387
7388 * util/grub-setup.c (setup): New parameter allow_floppy.
7389 (arguments): New member allow_floppy.
7390 (argp_parser): Handle --allow-floppy.
7391 (main): Pass allow_floppy.
7392 * util/grub-install.in: New option --allow-floppy passed though to
7393 grub-setup.
7394
861dfd4c
VS
73952010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7396
7397 * util/grub-install.in: Handle partitionless disks.
7398
f77a8c24
VS
73992010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7400
7401 * util/grub-setup.c (setup): Don't clean blocklists before readability
7402 verfification.
7403
27d9ee32
VS
74042010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7405
7406 * docs/grub.texi (Installation): Document embedding zone. Remove
7407 obsolete grub-install example.
7408
6bdda8f8
SJ
74092010-10-16 Szymon Janc <szymon@janc.net.pl>
7410
7411 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
7412 Set-but-not-used variable ifdef'ed.
7413 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
7414 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
7415 variable removed.
7416 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
7417 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
7418 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
7419 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
7420 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
7421 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
7422 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
7423 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
7424 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
7425 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
7426 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
7427 Likewise.
7428
e19b016b
VS
74292010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7430
7431 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
7432 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
7433 enum value.
7434
6c8d3002
VS
74352010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7436
7437 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
7438 synonym to _S5_. Needed for some DSDTs.
7439
c32b51c9
VS
74402010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7441
7442 Userspace ACPI parser debugging.
7443
7444 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
7445 headers and add relevant defines. Don't include standard headers.
7446 (main) [GRUB_DSDT_TEST]: New function.
7447 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
7448 Don't declare functions.
7449
fbfbeb39
VS
74502010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7451
7452 Remove dead grub_efi_mm_fini.
7453
7454 * grub-core/kern/efi/mm.c (allocated_page): Removed.
7455 (ALLOCATED_PAGES_SIZE): Likewise.
7456 (MAX_ALLOCATED_PAGES): Likewise.
7457 (allocated_pages): Likewise.
7458 (grub_efi_allocate_pages): Don't record allocated pages.
7459 (grub_efi_free_pages): Likewise.
7460 (grub_efi_mm_init): Likewise.
7461 (grub_efi_mm_fini): Removed.
7462
65f7ed7c
VS
74632010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7464
7465 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
7466 (grub_efi_mm_init): Take into account the memory map size increase.
7467
24977b44
VS
74682010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7469
7470 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
7471 (serial_hw_put): Wait based on real time rather than port reads. Don't
7472 roken ports.
7473 * include/grub/serial.h (grub_serial_port): New field broken.
7474
1eb01cd2
RM
74752010-10-16 Robert Millan <rmh@gnu.org>
7476
7477 * grub-core/kern/emu/misc.c
7478 (grub_make_system_path_relative_to_its_root): Fix premature return
7479 when processing non-root ZFS filesystems.
5f8b440b 7480 Reported by Sergio Talens-Oliag.
1eb01cd2 7481
2d5fed60
RM
74822010-10-15 Robert Millan <rmh@gnu.org>
7483
7484 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
7485 guarantee compressed ones are processed first.
7486
d0f4c1ea
VS
74872010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
7488
7489 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
7490 grub_efiemu_autocore.
7491
d87c681f
VS
74922010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
7493
7494 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
7495 rather than 0x1b.
7496 (grub_console_getkey): Use correct jae opcode rather than ja.
7497
219b3564
RM
74982010-10-12 Robert Millan <rmh@gnu.org>
7499
7500 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
7501 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
7502 variable. All references updated.
7503
7504 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
7505
20c6bb7e
VS
75062010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
7507
7508 Correctly distinguish mdraid flavours.
7509
7510 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
7511 (insert_array): New argument raid.
7512 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
7513 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
7514 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
7515
74baff84
VS
75162010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
7517
7518 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
7519 handling of special keys.
7520
3ef068df 75212010-10-02 Aleš Nesrsta <starous@volny.cz>
7522
c7980ad9
VS
7523 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
7524 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 7525
a9455194 75262010-10-02 Aleš Nesrsta <starous@volny.cz>
7527
c7980ad9
VS
7528 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
7529 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
7530 users updated.
a9455194 7531 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 7532 Use right endpoint when querying descriptor.
a9455194 7533
441cfe65
VS
75342010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
7535
7536 Clear out 0x80 color bit on EFI.
7537 Tested by: decoder
7538 Reported by: decoder and meta tech.
7539
7540 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
7541 (grub_console_setcolorstate): Clear out 0x80 bit.
7542 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
7543 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
7544 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
7545
bf26bcc4
VS
75462010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
7547
7548 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
7549 Set to "auto".
7550
6e3c515d
VS
75512010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
7552
7553 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
7554 mo_file after freeing.
7555
e6d983ba
VS
75562010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
7557
7558 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
7559
74ccb5b5
VS
75602010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
7561
7562 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
7563 flags.
7564
17821956
VS
75652010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
7566
7567 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
7568 usage.
7569
ee74fa48
VS
75702010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
7571
7572 Put terminfo into core on ieee1275 and yeeloong (needed for console).
7573
7574 * gentpl.py: New groups terminfoinkernel and terminfomodule.
7575 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
7576 and terminfo.h when needed.
7577 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
7578 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
7579 (terminfo): Enable only on terminfokernel.
7580 (extcmd): Likewise.
7581 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
7582 * include/grub/lib/arg.h: Likewise.
7583 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
7584 incorrect usage of ->.
7585
aa438e68
VS
75862010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7587
7588 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
7589 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
7590
57994012
VS
75912010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7592
7593 Fix coreboot compilation.
7594
7595 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
7596 Take VBE info into account even if only text is supported.
7597 (fill_vbe_info): Take into account the case when only VGA text
7598 is supported.
7599 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
7600 on coreboot, multiboot and qemu.
7601
2a406611
VS
76022010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7603
7604 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
7605 debug messages.
7606 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
7607
d33613fc
VS
76082010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7609
7610 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
7611 parameters.
7612
44a1b432
VS
76132010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7614
7615 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
7616 if they were BSD-style.
7617
edde54e6
VS
76182010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7619
7620 * grub-core/boot/i386/pc/lnxboot.S: Replace
7621 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
7622 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
7623
b65830fa
VS
76242010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7625
7626 Write embedding zone using Reed-Solomon.
7627
7628 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
7629 * grub-core/Makefile.am (rs_decoder.S): New target.
7630 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
7631 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
7632 (multiboot): Move to RS part.
7633 (post_reed_solomon): New label.
7634 (grub_boot_drive): Move to non-RS part since it's modified in memory
7635 on boot.
7636 Include rs_decoder.S.
7637 * grub-core/lib/reed_solomon.c: New file.
7638 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
7639 New definition.
7640 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
7641 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
7642 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
7643 * include/grub/partition.h (grub_partition_map): Change prototype of
7644 embed to allow returning additional sectors.
7645 * include/grub/reed_solomon.h: New file.
7646 * util/grub-setup.c (setup): Handle Reed-Solomon.
7647
0b4b227f
CW
76482010-09-28 Colin Watson <cjwatson@ubuntu.com>
7649
7650 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
7651 i386 and x86-64 definedness tests.
7652
f772623b
YB
76532010-09-27 Yves Blusseau <blusseau@zetam.org>
7654
7655 Fix generation of kernel_syms.lst
7656
7657 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
7658 ASM_PREFIX
7659
8e57a6ca
RM
76602010-09-26 Robert Millan <rmh@gnu.org>
7661
7662 Support degraded ZFS arrays in "grub-probe -t device" resolution.
7663
7664 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
7665 the pool is an array of devices, iterate through it and return the
7666 first device that passes a stat() test (instead of blindly returning
7667 the first one).
7668
f9130836
RM
76692010-09-26 Robert Millan <rmh@gnu.org>
7670
7671 Build fixes for GNU/kFreeBSD.
7672
7673 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
7674 to programs that require ZFS conversion.
7675 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
7676 kernels that don't have FLOPPY_MAJOR.
7677
96510faf
BC
76782010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
7679
7680 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
7681
449333eb
BC
76822010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
7683
7684 Fix grub-emu build.
7685
7686 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
7687 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
7688 mdraid09 and mdraid1x.
7689
e1fd1939
CW
76902010-09-24 Colin Watson <cjwatson@ubuntu.com>
7691
7692 Re-enable grub-extras.
7693
7694 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
7695 avoid confusing Automake. Run autogen only twice, once for the top
7696 level and once for grub-core. Add Makefile.util.def and
7697 Makefile.core.def from extra modules to the appropriate autogen
7698 invocations. If Makefile.common exists in an extra module, include
7699 it in both Makefile.util.am and grub-core/Makefile.core.am;
7700 similarly, include any Makefile.util.common file in Makefile.util.am
7701 and any Makefile.core.common file in grub-core/Makefile.core.am.
7702 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
7703 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
7704 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
7705 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
7706
7707 * gentpl.py (gvar_add): Turn GVARS into a set.
7708 (global_variable_initializers): Sort global variables on output.
7709 (vars_init): New function.
7710 (first_time): Likewise.
7711 (library): Ensure that non-global variable initialisations are
7712 emitted before the first time we emit code for a library block.
7713 Append to variables rather than setting them. Only emit
7714 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
7715 each conditional path.
7716 (program): installdir() emits an Autogen macro, so must be passed to
7717 var_add rather than gvar_add.
7718 (data): Likewise.
7719 (script): Likewise.
7720 (rules): New function, centralising handling for different target
7721 types. Set up Guile association lists for first_time and vars_init,
7722 and send most output to a diversion so that variable initialisations
7723 can be emitted first.
7724 (module_rules): Use new rules function.
7725 (kernel_rules): Likewise.
7726 (image_rules): Likewise.
7727 (library_rules): Likewise.
7728 (program_rules): Likewise.
7729 (script_rules): Likewise.
7730 (data_rules): Likewise.
7731
7732 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
7733
7734 * .bzrignore: Add contrib and grub-core/contrib. Remove
7735 grub-core/Makefile.gcry.am.
7736
1d12cf29
YB
77372010-09-24 Yves Blusseau <blusseau@zetam.org>
7738
7739 * grub-core/lib/LzFind.c: Add missing include.
7740 * grub-core/lib/LzmaEnc.c: Likewise.
7741 * grub-core/script/lexer.c: Likewise.
7742 * grub-core/script/yylex.l: Likewise.
7743 * util/grub-macho2img.c: Likewise.
7744 * util/grub-menulst2cfg.c: Likewise.
7745 * util/grub-mklayout.c: Likewise.
7746 * util/grub-mkpasswd-pbkdf2.c
7747 * util/grub-mkrelpath.c: Likewise.
7748 * util/resolve.c: Likewise.
7749
dd363028
BC
77502010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
7751
7752 * Makefile.util.def (example_unit_test): Add
7753 grub-core/gnulib/libgnu.a.
7754
f5a109e2
GS
77552010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
7756
7757 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
7758
6d0fa83c
VS
77592010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
7760
7761 Support xz compression on yeeloong.
7762
7763 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
7764 * configure.ac: Check for LZMA.
7765 * grub-core/Makefile.core.def (xz_decompress): New target.
7766 (none_decompress): Likewise.
7767 * grub-core/boot/decompressor/minilib.c: New file.
7768 * grub-core/boot/decompressor/none.c: Likewise.
7769 * grub-core/boot/decompressor/xz.c: Likewise.
7770 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
7771 * grub-core/kern/mips/cache_flush.S: Likewise.
7772 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
7773 * grub-core/kern/mips/startup.S: Move first stage to ...
7774 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
7775 nomacro.
7776 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
7777 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
7778 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
7779 Allocate statically.
7780 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
7781 Allocate statically or use scratch. Don't check CRC32.
7782 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
7783 Allocate statically. Don't check CRC32.
7784 * include/grub/decompressor.h: New file.
7785 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
7786 Removed.
7787 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
7788 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
7789 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
7790 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
7791 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
7792 * util/grub-mkimage.c (grub_compression_t): New type.
7793 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
7794 (image_target_desc): New field default_compression.
7795 (image_targets): Adjust yeeloong targets.
7796 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
7797 (compress_kernel): New parameter comp.
7798 (generate_image): Likewise. Handle new compression case.
7799 (options): New option --compression
7800 (help): Likewise.
7801 (main): Handle new option.
7802
1b655af6
GS
78032010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
7804
7805 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
7806
8f03f0b5
CW
78072010-09-22 Colin Watson <cjwatson@ubuntu.com>
7808
7809 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
7810 typo in __i386__ conditional.
7811
7835dfd3
VS
78122010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
7813
7814 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
7815 include.
7816
e255597e
VS
78172010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
7818
6d0fa83c 7819 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
7820
7821 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
7822 new tags as supported.
7823 (acpiv2_size): New function.
7824 (grub_multiboot_get_mbi_size): Take new tags into account.
7825 (grub_multiboot_make_mbi): Add new tags.
7826 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 7827
6cc14051 78282010-09-21 Aleš Nesrsta <starous@volny.cz>
7829
7830 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
7831 Added missing configuration of USB device.
7832
df7769d8
CW
78332010-09-21 Colin Watson <cjwatson@ubuntu.com>
7834
7835 * grub-core/normal/menu_entry.c (run): Make sure we always return
7836 a value.
7837
b031012d
CW
78382010-09-21 Colin Watson <cjwatson@ubuntu.com>
7839
7840 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
7841 NumberOfPages is UINT64 according to the UEFI specification, not
7842 UINTN. Fix printf format.
7843
174de8f3
CW
78442010-09-21 Colin Watson <cjwatson@ubuntu.com>
7845
7846 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
7847 `err' to grub_usb_err_t.
7848 Reported and tested by: KESHAV P.R.
7849
d7dbe923
CW
78502010-09-21 Colin Watson <cjwatson@ubuntu.com>
7851
7852 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
7853 tpart non-const, so that we can assign to it. (Since this is a
7854 typedef, the constness refers to the pointer rather than what it
7855 points to.)
7856
8d5e2af3
CW
78572010-09-21 Colin Watson <cjwatson@ubuntu.com>
7858
7859 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
7860 $(top_srcdir)/grub-core/gnulib as well as
7861 $(top_builddir)/grub-core/gnulib.
7862 Reported by: KESHAV P.R.
7863
5c527783
CW
78642010-09-21 Colin Watson <cjwatson@ubuntu.com>
7865
7866 * util/grub-install.in: Fix the bootloader ID option to be
7867 consistently --bootloader-id, not --bootloader_id.
7868 Reported by: KESHAV P.R.
7869
d309a16e
CW
78702010-09-21 Colin Watson <cjwatson@ubuntu.com>
7871
7872 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
7873 check hash checksum." consistently translatable.
7874
b830cd16
YB
78752010-09-21 Yves Blusseau <blusseau@zetam.org>
7876
7877 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
7878 $(top_builddir).
7879
c4fe27a8
CW
78802010-09-21 Colin Watson <cjwatson@ubuntu.com>
7881
7882 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
7883 (GRUB_MOD_INIT): Register sha1sum command.
7884 (GRUB_MOD_FINI): Unregister sha1sum command.
7885
a4c1d277
YB
78862010-09-21 Yves Blusseau <blusseau@zetam.org>
7887
7888 Keep boot and grub directory names in sync with utils scripts
7889
7890 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
7891 * config.h.in: Add previous macros.
7892 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
7893 * util/grub-install.in: Use $bootdir and $grubdir variables.
7894
4eff79d2
CW
78952010-09-21 Colin Watson <cjwatson@ubuntu.com>
7896
7897 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
7898 convert partition names to disk names if the new `convert' parameter
7899 is set.
7900 (grub_util_biosdisk_get_grub_dev): If opening the disk device
7901 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
7902 disk in its own right. This can happen with Xen disk images.
7903
934d7e44
YB
79042010-09-21 Yves Blusseau <blusseau@zetam.org>
7905
7906 * util/grub-editenv.c: Update strings to avoid warnings when generating
7907 grub.pot file.
7908 * util/grub-setup.c: Likewise.
934d7e44 7909
df3367cc
VS
79102010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
7911
7912 * configure.ac: Change version to 1.99~beta0.
7913
77a94e98
VS
79142010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
7915
7916 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
7917 Add BADRAM.
7918 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
7919 Likewise.
7920 * include/multiboot.h: Resynced with specification.
7921 * include/multiboot2.h: Likewise.
7922
269004c1
CW
79232010-09-21 Colin Watson <cjwatson@ubuntu.com>
7924
7925 Fix po directory handling.
7926
7927 * configure.ac: Create po/Makefile.in rather than po/Makefile.
7928 * grub-core/gnulib/Makefile.am: Import gettext module.
7929 * m4/gnulib-cache.m4: Likewise.
7930 * m4/gnulib-comp.m4: Likewise.
7931 * m4/gettext.m4: New file, from gnulib.
7932 * m4/glibc2.m4: Likewise.
7933 * m4/iconv.m4: Likewise.
7934 * m4/intdiv0.m4: Likewise.
7935 * m4/intl.m4: Likewise.
7936 * m4/intldir.m4: Likewise.
7937 * m4/intlmacosx.m4: Likewise.
7938 * m4/intmax.m4: Likewise.
7939 * m4/inttypes-pri.m4: Likewise.
7940 * m4/lcmessage.m4: Likewise.
7941 * m4/lib-ld.m4: Likewise.
7942 * m4/lib-link.m4: Likewise.
7943 * m4/lib-prefix.m4: Likewise.
7944 * m4/lock.m4: Likewise.
7945 * m4/nls.m4: Likewise.
7946 * m4/po.m4: Likewise.
7947 * m4/printf-posix.m4: Likewise.
7948 * m4/progtest.m4: Likewise.
7949 * m4/threadlib.m4: Likewise.
7950 * m4/uintmax_t.m4: Likewise.
7951 * m4/visibility.m4: Likewise.
7952 * po/Makefile.am: Remove.
7953 * po/Makefile.in.in: New file, from gettext.
7954 ($(DOMAIN).pot-update): Support POTFILES-shell.
7955 * po/Makevars: New file.
7956 * po/POTFILES-shell: Rename to ...
7957 * po/POTFILES-shell.in: ... this. Update.
7958 * po/POTFILES: Rename to ...
7959 * po/POTFILES.in: ... this. Update.
7960 * po/Rules-quot: New file, from gettext.
7961 * po/boldquot.sed: Likewise.
7962 * po/en@boldquot.header: Likewise.
7963 * po/en@quot.header: Likewise.
7964 * po/insert-header.sin: Likewise.
7965 * po/quot.sed: Likewise.
7966 * po/remove-potcdate.sin: Likewise.
7967
3e0fa5d0
VS
79682010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7969
7970 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
7971
ade9bd66
VS
79722010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7973
7974 * util/grub.d/20_linux_xen.in: Use submenus.
7975
fc55cc4c
VS
79762010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7977
7978 Support submenus.
7979
7980 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
7981 parameter submenu. All users updated.
7982 * grub-core/normal/main.c (free_menu): Rename to ...
7983 (grub_normal_free_menu): ... this. Made global.
7984 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
7985 if requested.
7986 * grub-core/normal/menu_entry.c (screen): New field submenu.
7987 (make_screen): Set submenu.
7988 (run): Open new context if requested.
7989 * include/grub/menu.h (grub_menu_entry): New field submenu.
7990 * include/grub/normal.h (grub_normal_free_menu): New proto.
7991
600cedf7
VS
79922010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7993
7994 Menu entries extractor.
7995
7996 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
7997 variants.
7998 (GRUB_MOD_INIT): Register new variants.
7999 (GRUB_MOD_FINI): Unregister new variants.
8000 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
8001 into grub_cmd_legacy_source.
8002 (grub_cmd_legacy_source): Implement extractor variants.
8003 (GRUB_MOD_INIT): Register new variants.
8004 (GRUB_MOD_FINI): Unregister new variants.
8005 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
8006 as an extractor.
8007 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
8008 search as an extractor.
8009 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
8010 test as an extractor.
8011 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
8012 as an extractor.
8013 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
8014 (grub_env_new_context): New function.
8015 (grub_env_context_open): Likewise.
8016 (grub_env_extractor_open): Likewise.
8017 (grub_env_extractor_close): Likewise.
8018 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
8019 grub_extractor_level.
8020 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
8021 * include/grub/env.h (grub_env_extractor_open): New proto.
8022 (grub_env_extractor_close): Likewise.
8023 * include/grub/normal.h (grub_extractor_level): New external variable.
8024
7bda3a87
VS
80252010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8026
8027 Make cutmem accept a region specification.
8028 Suggested by: Samuel Thibault
8029
8030 * grub-core/mmap/mmap.c (parsemem): New function.
8031 (grub_cmd_cutmem): Handle new arguments.
8032
2ea57f88
VS
80332010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8034
8035 New command cutmem.
8036
8037 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
8038 (GRUB_MOD_INIT): Register new command.
8039 (GRUB_MOD_FINI): Unregister new command.
8040
74342e31
VS
80412010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8042
8043 Support some annoying BSD and Minix subpartitions.
8044
8045 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
8046 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
8047 Properly handle concatenation.
8048 * grub-core/kern/device.c (grub_device_iterate): Likewise.
8049 * grub-core/normal/completion.c (iterate_partition): Likewise.
8050 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
8051 contain partition. All users updated.
8052 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
8053 struct.
8054 (grub_openbsdlabel_partition_map): Likewise.
8055 (bsdlabel_partition_map_iterate): Rename to ..
8056 (iterate_real): ... this. New arguments sector, freebsd and pmap.
8057 (bsdlabel_partition_map_iterate): New function.
8058 (netopenbsdlabel_partition_map_iterate): Likewise.
8059 (netbsdlabel_partition_map_iterate): Likewise.
8060 (openbsdlabel_partition_map_iterate): Likewise.
8061 (GRUB_MOD_INIT): Register new partmaps.
8062 (GRUB_MOD_FINI): Unregister new partmaps.
8063 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
8064 (grub_partition_msdos_iterate): ... this. All users updated.
8065 Don't support embedding other than in a minix partition.
8066 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
8067 proto.
8068 * include/grub/partition.h (grub_partition): New field msdostype.
8069 * util/grub-install.in: Handle openbsd and netbsd types being in
8070 part_bsd module.
8071
1e8d555b
VS
80722010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8073
8074 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
8075
8076 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
8077 * grub-core/Makefile.core.def (mdraid): Renamed to ...
8078 (mdraid09): ... this.
8079 (mdraid1x): New module.
8080 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
8081 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
8082
899d8af4
VS
80832010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8084
8085 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
8086 vsprintf.
8087
40901acd
CW
80882010-09-20 Colin Watson <cjwatson@ubuntu.com>
8089
8090 * grub-core/commands/efi/lsefimmap.c: Correct header.
8091 * NEWS: Update.
8092
dfe3b247
CW
80932010-09-20 Colin Watson <cjwatson@ubuntu.com>
8094
8095 * util/grub-editenv.c (argp_parser): Don't pass translated strings
8096 as printf format strings; the translations might contain '%' which
8097 could cause a crash.
8098 (main): Likewise.
8099 * util/grub-fstest.c (argp_parser): Likewise.
8100 * util/grub-setup.c (argp_parser): Likewise.
8101 (main): Likewise.
8102
3286a4b4
VS
81032010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8104
8105 Use argp in grub-fstest.
8106
8107 * util/grub-fstest.c: Don't include getopt.h.
8108 Include argp.h.
8109 (root): New variable.
8110 (args_count): Likewise.
8111 (nparm): Likewise.
8112 (num_disks): Likewise.
8113 (images): Likewise.
8114 (cmd): Likewise.
8115 (debug_str): Likewise.
8116 (args): Likewise.
8117 (options): Transformed to argp.
8118 (usage): Removed.
8119 (main): Split argument parsing into ...
8120 (argp_parser): ... this. Changed to argp format.
8121 (argp): New variable.
8122 (main): Use argp_parse.
8123
3dccbe4b
TG
81242010-09-20 Tristan Gingold <gingold@free.fr>
81252010-09-20 Robert Millan <rmh.grub@aybabtu.com>
81262010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8127
8128 * grub-core/commands/efi/lsefimmap.c: New file.
8129 * grub-core/Makefile.core.def (lsefimmap): New module.
8130 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
8131
38c259a7
VS
81322010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8133
8134 Pause the execution (10s max) if any errors are displayed so the user
8135 has a chance to see them.
8136
8137 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
8138 (grub_print_error): Increment grub_err_printed_errors.
8139 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
8140 execution if any errors were displayed.
8141 (show_menu): Remove old code for pause.
8142 * grub-core/normal/menu_entry.c (run): Likewise.
8143 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
8144 users updated.
8145 (grub_normal_get_char_counter): Likewise.
8146 * include/grub/err.h (grub_err_printed_errors): New external variable.
8147 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
8148
f218b09c
VS
81492010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8150
8151 Support multiboot VBE info.
8152
8153 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
8154 Take VBE info into account.
8155 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
8156 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
8157 Call fill_vbe_info when appropriate.
8158 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
8159 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
8160 as supported.
8161 (grub_multiboot_get_mbi_size): Take new tags into account.
8162 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
8163 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
8164 Call fill_vbe_tag when appropriate.
8165 (grub_multiboot_make_mbi): Properly align tags.
8166 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
8167 function.
8168 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
8169 proto.
8170 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
8171
a9cc5438
VS
81722010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8173
8174 Suport manual terminal geometry specification.
8175
8176 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
8177 Save state in grub_ofconsole_terminfo_output.
8178 (grub_ofconsole_term): Use grub_terminfo_getwh.
8179 (grub_ofconsole_getwh): Removed.
8180 * grub-core/term/serial.c (grub_serial_getwh): Removed.
8181 (grub_serial_term): Use grub_terminfo_getwh.
8182 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
8183 (options): New struct.
8184 (OPTION_*): New enum.
8185 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
8186 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
8187 width and height.
8188 (grub_terminfo_getwh): New proto.
8189 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
8190
1a8fed20
VS
81912010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8192
8193 Handle legacy "terminal" command.
8194
8195 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
8196 and FLAG_TERMINAL.
8197 (legacy_commands): Add terminal and title.
8198 (grub_legacy_parse): Handle terminal. Simplify title handling.
8199
41e9c57d
VS
82002010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8201
8202 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
8203 parameters overflow.
8204
61c874c5
CW
82052010-09-20 Colin Watson <cjwatson@ubuntu.com>
8206
8207 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
8208 widthspec.h.
8209
8210 * docs/grub.texi (Shell-like scripting): Document `!'.
8211 (Network): Simplify using new i386-pc-pxe format. Mention
8212 grub-mknetdir.
8213
8214 * NEWS: Update.
8215
943682b4
CW
82162010-09-20 Colin Watson <cjwatson@ubuntu.com>
8217
8218 * Makefile.am (SUBDIRS): Restore "."; it's important to force
8219 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
8220 when needed.
8221
6d3d698d
CW
82222010-09-20 Colin Watson <cjwatson@ubuntu.com>
8223
8224 * grub-core/commands/efi/lsefisystab.c: Correct header.
8225 * grub-core/commands/efi/lssal.c: Likewise.
8226 * grub-core/commands/testload.c: Likewise.
8227
c982589f
CW
82282010-09-20 Colin Watson <cjwatson@ubuntu.com>
8229
8230 * util/grub-mkrescue.in: Add explicit root argument to --set to
8231 prevent the UUID being interpreted as an argument to --set (matches
8232 previous change to prepare_grub_to_access_device).
8233
a63c31b6
CW
82342010-09-20 Colin Watson <cjwatson@ubuntu.com>
8235
8236 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
8237 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
8238 the verbosity of later #ifs.
8239 (find_partition_start): Define this function on FreeBSD too.
8240 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
8241 function.
8242 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
8243 on FreeBSD.
8244
6439b8ee
YB
82452010-09-20 Yves Blusseau <blusseau@zetam.org>
8246
8247 * util/grub-editenv.c: Use argp instead of getopt.
8248
c5930ec8
YB
82492010-09-20 Yves Blusseau <blusseau@zetam.org>
8250
8251 * util/grub-setup.c: Use argp instead of getopt.
8252
15c69261
YB
82532010-09-20 Yves Blusseau <blusseau@zetam.org>
8254
8255 Use gnulib-tool to create gnulib source files.
8256
8257 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
8258 grub-core/gnulib directories
8259 * .bzignore: Add **/.deps and autogenerated gnulib files
8260 * configure.ac: Assign auxiliary directory to build-aux, add invocation
8261 of gnulib macros, add grub-core/gnulib/Makefile
8262 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
8263 include m4 directory to aclocal.
8264 * Makefile.util.def: Remove direct compilation of gnulib source files
8265 and use the new grub-core/gnulib/libgnu.a.
8266 * build-aux/config.rpath: move config.rpath from top directory to
8267 build-aux
8268 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
8269 in gnulib headers
8270 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
8271 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
8272 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
8273 header.
8274 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
8275 string.
8276
e511c9f5
YB
82772010-09-20 Yves Blusseau <blusseau@zetam.org>
8278
8279 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
8280 grub-core/genmod.sh and grub-core/gensyminfo.sh
8281
c2dede05
BC
82822010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
8283
8284 Add a test for echo command options.
8285
8286 * tests/grub_cmd_echo.in: New test.
8287 * Makefile.util.def: Rules for new test.
8288
c55f5018
SJ
82892010-09-20 Szymon Janc <szymon@janc.net.pl>
8290
8291 Remove crc.mod and move crc command to hashsum.mod.
8292 Remove lib/crc.c - users updated to use gcrypt implementation.
8293
8294 * grub-core/commands/crc.c: Removed.
8295 * grub-core/Makefile.core.def (crc): Module removed.
8296 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
8297 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
8298 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
8299 * grub-core/lib/crc.c: Removed.
8300 * include/grub/lib/crc.h: Removed.
8301 * Makefile.util.def (crc): Remove lib/crc.c
8302 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
8303 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
8304 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
8305 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
8306 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
8307 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
8308
e0337366
VS
83092010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8310
8311 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
8312
742f9232
VS
83132010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8314
8315 Split config.h for util and core.
8316
8317 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
8318 (ADDR32): Likewise.
8319 (DATA32): Likewise.
8320 (BSS_START_SYMBOL): Likewise.
8321 (END_SYMBOL): Likewise.
8322 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
8323 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
8324 * config.h.in: New file.
8325 * configure.ac: Use config-util.h as config define file.
8326 Rename MACHINE into GRUB_MACHINE. All users updated.
8327 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
8328 updated.
8329 (NESTED_FUNC_ATTR): Likewise.
8330 Substitue new variables.
8331 (COND_HAVE_ASM_USCORE): New conditional.
8332 * grub-core/Makefile.am (ASM_PREFIX): New variable.
8333 (kernel_syms.lst): Use ASM_PREFIX.
8334 * grub-core/kern/emu/console.c: Include config-util.h.
8335 * grub-core/kern/emu/misc.c: Likewise.
8336 * grub-core/kern/emu/mm.c: Likewise.
8337 * include/grub/emu/misc.h: Likewise.
8338 * include/grub/libgcc.h: Likewise.
8339
39feb0e8
VS
83402010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8341
8342 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
8343 constants usage.
8344 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
8345 Fix GRUB_TERM_KEY_* constants usage.
8346 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
8347
9af6dac3
VS
83482010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8349
8350 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
8351 print pointer.
8352 * grub-core/bus/usb/uhci.c: Remove empty define.
8353 (grub_uhci_check_transfer): Add missing cast.
8354 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
8355 print pointer.
8356 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
8357 PRIuGRUB_SIZE.
8358 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
8359
d6d94820
VS
83602010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8361
8362 * grub-core/Makefile.core.def (legacycfg): Add
8363 lib/i386/pc/vesa_modes_table.c on emu.
8364
3572f2b6
BC
83652010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
8366
8367 Reduce number of temporary files generated by build system.
8368
8369 * grub-core/gencmdlist.sh: Removed.
8370 * grub-core/genfslist.sh: Removed.
8371 * grub-core/genhandlerlist.sh: Removed.
8372 * grub-core/genmodsrc.sh: Removed.
8373 * grub-core/genpartmaplist.sh: Removed.
8374 * grub-core/genparttoollist.sh: Removed.
8375 * grub-core/gentermiinallist.sh: Removed.
8376 * grub-core/genvideolist.sh: Removed.
8377
8378 * grub-core/genmod.sh.in: New file.
8379 * grub-core/gensyminfo.sh.in: New file.
8380
8381 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
8382 * conf/Makefile.extra-dist: Update with new files.
8383 * gentpl.py: Remove rules related to unnecessary temporary files.
8384 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
8385 and und-* files.
8386 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
8387 genmod.sh scripts.
8388 * grub-core/bus/usb/uhci.c: Remove empty #define.
8389 * grub-core/genmoddep.awk: Updated with new syminfo format.
8390 * util/bash-completion.d/Makefile.am: Add config.log to
8391 CLEANFILES.
8392
c836b030
YB
83932010-09-19 Yves Blusseau <blusseau@zetam.org>
8394
8395 * Makefile.util.def: Add forgotten $(LIBINTL) library.
8396
2f4e8053
BC
83972010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
8398
8399 * util/grub-mkconfig.in: Check the config script for syntax errors
8400 before saving.
8401
75831c34
CW
84022010-09-19 Colin Watson <cjwatson@ubuntu.com>
84032010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8404
8405 * Makefile.util.def (grub-install): Use util/grub-install.in on all
8406 platforms.
8407 * util/grub-install.in: Add EFI and IEEE1275 support.
8408 * util/i386/efi/grub-install.in: Removed.
8409 * util/ieee1275/grub-install.in: Likewise.
8410
eaf41b25
VS
84112010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8412
8413 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
8414 (grub_cmd_cmosclean): Likewise.
8415 (GRUB_MOD_INIT): Register command cmosclean.
8416 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
8417 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
8418
1a9130dd
CPE
84192010-09-18 Carles Pina i Estany <carles@pina.cat>
84202010-09-18 Aleš Nesrsta <starous@volny.cz>
84212010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8422
8423 Add keyboard layouts support.
8424
8425 * Makefile.util.def (grub-mklayout): New file.
8426 (grub-kbdcomp): New script.
8427 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
8428 Add keyboard_layouts.h.
8429 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
8430 commands/boot.c on yeeloong.
8431 (keylayouts): New module.
8432 * grub-core/bus/usb/ohci.c
8433 * grub-core/bus/usb/uhci.c
8434 * grub-core/bus/usb/usbhub.c (rescan): New variable.
8435 (grub_usb_add_hub): Poll interrupt pipe for device handling.
8436 (attach_root_port): Likewise.
8437 (poll_nonroot_hub): Likewise.
8438 (grub_usb_poll_devices): Likewise.
8439 (detach_device): Close transfer.
8440 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
8441 function.
8442 (grub_usb_bulk_setup_readwrite): Likewise.
8443 (grub_usb_bulk_finish_readwrite): Likewise.
8444 * grub-core/commands/keylayouts.c: New file.
8445 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
8446 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
8447 aliases.
8448 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
8449 support scancode 2.
8450 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
8451 * include/grub/keyboard_layouts.h: New file.
8452 * util/grub-mklayout.c: New file.
8453 * util/grub-kbdcomp.in: Likewise.
8454
a1d84a5e
VS
84552010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8456
8457 Unify memory types.
8458
8459 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
8460 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
8461 types.
8462 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
8463 (grub_upper_mem): Likewise.
8464 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
8465 * include/grub/memory.h (grub_memory_type_t): New enum.
8466 All users updated.
8467
9696382e
VS
84682010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8469
8470 * grub-core/Makefile.core.def (lsapm): New module.
8471 * grub-core/commands/i386/pc/lsapm.c: New file.
8472 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
8473 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
8474 Likewise.
8475 * include/grub/i386/pc/apm.h: New file.
8476 * include/multiboot.h (multiboot_apm_info): New struct.
8477
84782010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8479
8480 GRUB-legacy configuration file support.
8481
8482 * Makefile.util.def (grub-menulst2cfg): New util.
8483 * docs/man/grub-menulst2cfg.h2m: New file.
8484 * grub-core/Makefile.core.def (legacycfg): New module.
8485 * grub-core/commands/legacycfg.c: New file.
8486 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
8487 (grub_normal_add_menu_entry): ... this.
8488 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
8489 (grub_normal_set_password): ...this.
8490 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
8491 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
8492 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
8493 * grub-core/lib/legacy_parse.c: New file.
8494 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
8495 * include/grub/i386/pc/vesa_modes_table.h: New file.
8496 * include/grub/legacy_parse.h: Likewise.
8497 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
8498 * util/grub-menulst2cfg.c: New file.
8499
bf8d1338
CW
85002010-09-17 Colin Watson <cjwatson@ubuntu.com>
8501
8502 * grub-core/kern/emu/hostdisk.c
8503 (convert_system_partition_to_system_disk): Initialise node.
8504
9c0bad2e
CW
85052010-09-17 Colin Watson <cjwatson@ubuntu.com>
8506
8507 * grub-core/kern/emu/hostdisk.c
8508 (convert_system_partition_to_system_disk): Fix devmapper memory pool
8509 leak.
8510 Reported and based on patch by: Modestas Vainius.
8511
a939d135
CW
85122010-09-17 Colin Watson <cjwatson@ubuntu.com>
8513
8514 Fix DM-RAID probing with recent versions of device-mapper udev
8515 rules.
8516
8517 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
8518 canonicalise device paths under /dev/mapper/.
8519 (convert_system_partition_to_system_disk): Compare the
8520 uncanonicalised path to /dev/mapper/ rather than the canonicalised
8521 path, since device nodes under /dev/mapper/ are often symlinks.
8522
0f7ee3c9
YB
85232010-09-17 Yves Blusseau <blusseau@zetam.org>
8524
8525 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
8526
10854d0d
YB
85272010-09-16 Yves Blusseau <blusseau@zetam.org>
8528
8529 * configure.ac: Avoid some annoying error messages if freetype-config
8530 program is not found.
8531
108538d8
CW
85322010-09-16 Colin Watson <cjwatson@ubuntu.com>
8533
8534 Support RAID on virtio devices, and others.
8535
8536 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
8537 Rename to ...
8538 [__MINGW32__] (grub_find_device): ... this.
8539 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
8540 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
8541 reasonable default if dir is NULL.
8542 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
8543 ...
8544 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
8545 (grub_guess_root_device): Update callers.
8546 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
8547
8548 * util/raid.c (grub_util_getdiskname): Remove.
8549 (grub_util_raid_getmembers): Use grub_find_device rather than
8550 grub_util_getdiskname.
8551
e5bfc130
CW
85522010-09-16 Colin Watson <cjwatson@ubuntu.com>
8553
8554 * docs/grub.texi (serial): Remove obsolete comment about GRUB
8555 needing to be compiled with serial support.
8556 (ls): Indicate that multiple files are accepted.
8557 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
8558 indicate that multiple files are accepted.
8559
be458ae2
CW
85602010-09-16 Colin Watson <cjwatson@ubuntu.com>
8561
8562 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
8563 libgrub_a_init.c, and util/bash-completion.d/grub.
8564
cb731b5e
VS
85652010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8566
8567 * util/grub-setup.c (setup): Fix incorrect container semantics.
8568
35139e8a
VS
85692010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8570
8571 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
8572 misusage.
8573 Reported by: J. Nick Terry
8574
e50fca4a
VS
85752010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8576
8577 Move embedding routines to partmap sources files.
8578
8579 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
8580 [GRUB_UTIL]: New variable.
8581 (gpt_partition_map_iterate): Set part.parent.
8582 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
8583 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
8584 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
8585 New function.
8586 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
8587 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
8588 (grub_partition_map) [GRUB_UTIL]: New field embed.
8589 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
8590 (setup): Use ->embed.
8591
f00478b7
VS
85922010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8593
8594 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
8595 function.
8596 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
8597 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
8598
2b94e3ff
YB
85992010-09-15 Yves Blusseau <blusseau@zetam.org>
8600
8601 Add function to get completions from usage.
8602
8603 * util/bash-completion.d/grub-completion.bash.in: Add function to get
8604 completions from usage. Use LC_ALL=C to get options properly.
8605
2e04a006
VS
86062010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8607
8608 * grub-core/gnulib/basename-lgpl.c: Imported.
8609 * grub-core/gnulib/basename.c: Likewise.
8610 * grub-core/gnulib/dirname-lgpl.c: Likewise.
8611 * grub-core/gnulib/dirname.c: Likewise.
8612 * grub-core/gnulib/dirname.h: Likewise.
8613 * grub-core/gnulib/stripslash.c: Likewise.
8614
5dcdf93a
VS
86152010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8616
8617 * grub-core/gnulib/error.c: Resynced.
8618 * grub-core/gnulib/getopt.c: Likewise.
8619 * grub-core/gnulib/getopt_int.h: Likewise.
8620 * grub-core/gnulib/regex.h: Likewise.
8621 * grub-core/gnulib/regex_internal.c: Likewise.
8622 * grub-core/gnulib/regex_internal.h: Likewise.
8623
014f47b7
SJ
86242010-09-15 Szymon Janc <szymon@janc.net.pl>
8625
8626 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
8627 CRC calculations and validity checks.
8628 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
8629 calculations.
8630
dd521a4a
SJ
86312010-09-15 Szymon Janc <szymon@janc.net.pl>
8632
8633 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
8634
79c4eeb9
VS
86352010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8636
8637 Fix incorrect echo options handling.
8638 Reported by: Yves Blusseau.
8639
8640 * include/grub/command.h (grub_command_flags_t): New flags
8641 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
8642 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
8643 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
8644
ed80f7d5
VS
86452010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8646
8647 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
8648 users updated.
8649 (GRUB_COMMAND_FLAG_MENU): Likewise.
8650 (GRUB_COMMAND_FLAG_BOTH): Likewise.
8651 (GRUB_COMMAND_FLAG_TITLE): Removed.
8652 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
8653 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
8654 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
8655 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
8656 (grub_command_flags_t): New enum. All users updated.
8657
5fe7620a
SG
86582010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
8659
8660 Fix solaris compilation.
8661
8662 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
8663 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
8664 (grub-emu-list): Likewise.
8665
545b752f
VS
86662010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8667
8668 Remove deprecated root command.
8669
8670 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
8671 updated.
8672
6c1a338c
VS
86732010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8674
8675 * util/i386/pc/grub-setup.c: Merge this ...
8676 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
8677 * util/grub-setup.c: ... into this.
8678 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
8679 New struct.
8680
86812010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8682
8683 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
8684 possible.
8685
d2ea4551
VS
86862010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8687
8688 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
8689 allocate p.
8690
3c3b5040
VS
86912010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8692
8693 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
8694 explicit root argument to set to prevent UUID to be interpreted as
8695 argument to set.
8696
b71c3fae
VS
86972010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8698
8699 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
8700
275433e6
VS
87012010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8702
8703 Don't export grub_gate_a20.
8704
8705 * grub-core/kern/i386/pc/init.c: Remove leftovers.
8706 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
8707 to ...
8708 (grub_gate_a20): ... this. All users updated.
8709 * include/grub/i386/pc/init.h: Removed. All users updated.
8710
a5dbb1f1
VS
87112010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8712
8713 Create euro.pf2 which supports most European languages.
8714
8715 * Makefile.am (grubdata_DATA): Add euro.pf2.
8716 (euro.pf2): New target.
8717 (CLEANFILES): Add euro.pf2.
8718
62a747cb
VS
87192010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8720
8721 * configure.ac: Disable emu-usb by default to prevent inadvertent
8722 device takeover.
8723
608e43b1
VS
87242010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8725
8726 Disable usbserial on grub-emu since our libusb code isn't good enough
8727 yet.
8728
8729 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
8730 (usbserial_pl2303): Likewise.
8731 (usbserial_ftdi): Likewise.
8732
94564f81
VS
87332010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8734
8735 * include/grub/disk.h (grub_disk): Remove has_partitions.
8736 All users updated.
8737 * disk/loopback.c (grub_loopback): Remove has_partitions.
8738 All users updated.
8739 (options): Remove partitions. All users updated.
8740 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
8741 * util/i386/pc/grub-setup.c (setup): copy partition table only when
8742 actual partition table is found.
8743
3352800b
VS
87442010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8745
8746 Remove readability checks (too many false negatives).
8747
8748 * util/grub-install.in: Remove readability checks.
8749 * util/grub-mkconfig.in: Likewise.
8750 * util/grub.d/10_hurd.in: Likewise.
8751 * util/grub.d/10_kfreebsd.in: Likewise.
8752 * util/grub.d/10_linux.in: Likewise.
8753 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
8754 way.
8755
2419f17a
VS
87562010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8757
8758 Enable acpi shutdown on all ACPI platforms.
8759
8760 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
8761 on coreboo, multiboot and EFI.
8762 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
8763 (grub_acpi_halt): Likewise.
8764 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
8765 (grub_cmd_halt): Don't call grub_acpi_halt directly.
8766 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
8767 * grub-core/lib/i386/halt.c (grub_halt)
8768 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
8769
0575c7c3
VS
87702010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8771
8772 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
8773 context.
8774
54ac3cd1
VS
87752010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8776
8777 * grub-core/video/efi_gop.c: Fix over-80-chars line.
8778 * grub-core/video/efi_uga.c: Likewise.
8779
b2a30ac5
VS
87802010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8781
8782 Filter devaliases and never open same device twice.
8783
8784 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
8785 (last_ihandle): Likewise.
8786 (ofdisk_hash_ent): New member shortest.
8787 (ofdisk_hash_add): Add canonical path too.
8788 (scan): New function.
8789 (grub_ofdisk_iterate): Iterate over hashed entries.
8790 (compute_dev_path): Don't add :0.
8791 (grub_ofdisk_open): Don't really open the disk.
8792 (grub_ofdisk_close): Avoid closing unrelated disk.
8793 (grub_ofdisk_read): Implement reopen logic.
8794 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
8795 New function.
8796 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
8797 New proto.
8798
fb53b340
VS
87992010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8800
8801 Fix sparc64.
8802
8803 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
8804 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
8805 right address. Add sparc64_ieee1275_ldflags.
8806 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
8807 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
8808 to grub_host_to_target_addr
8809 (load_image): Likewise.
8810
f452b040
VS
88112010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8812
8813 * grub-core/normal/completion.c (complete_file): Handle device
8814 containing slash.
8815 Fix based on patch by Doug Nazar.
8816
9b5b2541
VS
88172010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8818
8819 grub-mknetdir script.
8820
8821 * Makefile.util.def (grub-mknetdir): New module.
8822 * tests/util/grub-shell.in: Support boot=net
8823 * util/grub-mknetdir.in: New file.
8824
9d2be652
VS
88252010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8826
8827 videoinfo on non-vbe.
8828
8829 * grub-core/Makefile.core.def (vbeinfo): Removed.
8830 (vbetest): Removed.
8831 (videoinfo): New module.
8832 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
8833 * grub-core/commands/i386/pc/vbetest.c: Removed.
8834 * grub-core/commands/videoinfo.c: New file.
8835 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
8836 specification.
8837 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
8838 as vbetest.
8839 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
8840 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
8841 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
8842 mode_number. New parameter mode. All users updated.
8843 (grub_video_gop_iterate): New function.
8844 (grub_video_efi_gop): New member iterate.
8845 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
8846 (grub_vbe_set_video_mode): Remove setting useless fields.
8847 (vbe2videoinfo): New function.
8848 (grub_video_vbe_iterate): Likewise.
8849 (grub_video_vbe_setup): Use vbe2videoinfo.
8850 (grub_video_vbe_print_adapter_specific_info): New function.
8851 (grub_video_vbe_adapter): New fields iterate and
8852 print_adapter_specific_info.
8853 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
8854 All users updated.
8855 (grub_video_mode_info): New field mode_number.
8856 (grub_video_adapter): New fields iterate and
8857 print_adapter_specific_info.
8858
179503f5
TG
88592010-09-13 Tristan Gingold <gingold@free.fr>
88602010-09-13 Robert Millan <rmh.grub@aybabtu.com>
88612010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8862
8863 * grub-core/commands/efi/lsefisystab.c: New file.
8864 * grub-core/commands/efi/lssal.c: Likewise.
8865 * grub-core/Makefile.core.def (lsacpi): New module.
8866 (lsefisystab): Likewise.
8867 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
8868 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
8869 (grub_efi_sal_system_table): New struct.
8870 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
8871 (grub_efi_sal_system_table_memory_descriptor): Likewise.
8872 (grub_efi_sal_system_table_platform_features): Likewise.
8873 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
8874 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
8875 (grub_efi_sal_system_table_ap_wakeup): Likewise.
8876 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
8877
cf9827de
VS
88782010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8879
8880 Support explicit user claim that a device is BIOS-visible.
8881
8882 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
8883 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
8884 * grub-core/kern/emu/hostdisk.c
8885 (convert_system_partition_to_system_disk): Support mdX.
8886 (find_system_device): New parameter add. All users updated.
8887 (grub_util_biosdisk_is_present): New function.
8888 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
8889 proto.
8890
53f0eb1f
VS
88912010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8892
8893 Search hints support.
8894
8895 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
8896 All users updated.
8897
b23ffd70
YB
88982010-09-13 Yves Blusseau <blusseau@zetam.org>
8899
8900 Bash completion script for util commands
8901
8902 * Makefile.am: Add util/bash-completion.d directory
8903 * configure.ac: Likewise.
8904 * util/bash-completion.d/Makefile.am: New file.
8905 * util/bash-completion.d/grub-completion.bash.in: Likewise.
8906
d547dc28
VS
89072010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
8908
8909 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
8910 (print_backlog): set backlog_ucs4 and backlog_glyphs.
8911 Reported by: Yves Blusseau.
8912
2fc8ccb9
VS
89132010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
8914
8915 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
8916 partition size and offset.
8917
d8a84076
VS
89182010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
8919
8920 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
8921
84fb3b3d
VS
89222010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
8923
8924 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
8925
768ec2e2
VS
89262010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
8927
8928 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
8929 (grub_xvasprintf): Likewise.
8930
4870900f
VS
89312010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
8932
8933 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
8934
faca6bec
VS
89352010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
8936
8937 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
8938 args ending with NULL.
8939
89402010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
8941
8942 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
8943 pointer.
8944
3c70f225
SJ
89452010-09-11 Szymon Janc <szymon@janc.net.pl>
8946
8947 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
8948
4df7996d
VS
89492010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
8950
8951 Shutdown using ACPI.
8952
8953 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
8954 * grub-core/commands/acpihalt.c: New file.
8955 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
8956 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
8957 (grub_acpi_halt): New proto.
8958 (GRUB_ACPI_SLP_EN): New const.
8959 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
8960 (GRUB_ACPI_OPCODE_*): New enum.
8961 (GRUB_ACPI_EXTOPCODE_*): Likewise.
8962
126b4c32
TG
89632010-09-11 Tristan Gingold <gingold@free.fr>
89642010-09-11 Robert Millan <rmh.grub@aybabtu.com>
89652010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
8966
8967 * commands/lsacpi.c: New file.
8968 * grub-core/Makefile.core.def (lsacpi): New module.
8969 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
8970 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
8971 (grub_acpi_madt_entry_header): New struct.
8972 (grub_acpi_madt): Likewise.
8973 (grub_acpi_madt_entry_interrupt_override): Likewise.
8974 (grub_acpi_madt_entry_sapic): Likewise.
8975 (grub_acpi_madt_entry_lsapic): Likewise.
8976 (grub_acpi_madt_entry_platform_int_source): Likewise.
8977 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
8978 (PRIuGRUB_UINT32_T): Likewise.
8979 (PRIxGRUB_UINT64_T): Likewise.
8980
1aa4fe88
VS
89812010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
8982
8983 Implement loading palette on ieee1275_fb.
8984
8985 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
8986 (have_setcolors): Likewise.
8987 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
8988 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
8989 (grub_video_ieee1275_set_palette): Implement.
8990
25761e13
VS
89912010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
89922010-09-11 Colin Watson <cjwatson@ubuntu.com>
8993
8994 * util/grub-install.in (grub_partition): New variable.
8995 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
8996 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
8997 Fixes a bug reported by Yves Blusseau.
8998
050abaea
VS
89992010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9000
9001 Fix emu on mipsel.
9002
9003 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
9004 =grub_cpu_flush_cache on all mips and not only yeeloong.
9005 * configure.ac (COND_mips): New conditional.
9006 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
9007 platforms.
9008 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
9009 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
9010 [GRUB_LINKER_HAVE_INIT]: New function.
9011 (grub_emu_post_init): Likewise.
9012 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
9013 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
9014 * include/grub/cache.h (_mips): Include mips/cache.h.
9015 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
9016 LVM and RAID prototypes.
9017 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
9018 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
9019 function.
9020
5ed7d816
CW
90212010-09-10 Colin Watson <cjwatson@ubuntu.com>
9022
9023 * util/grub-install.in: Don't try to verify core.img until after
9024 running grub-mkimage to create it.
9025
90367e04
RM
90262010-09-10 Robert Millan <rmh@gnu.org>
9027
9028 * util/grub.d/10_hurd.in: Add misc readability checks.
9029 * util/grub.d/10_kfreebsd.in: Likewise.
9030 * util/grub.d/10_linux.in: Likewise.
9031
c452fa66
CW
90322010-09-10 Colin Watson <cjwatson@ubuntu.com>
9033
9034 * util/grub-install.in: ${imgext} won't be defined here until the
9035 install branch is merged. For the meantime, only verify core.img on
9036 i386-pc and sparc64-ieee1275 platforms.
9037
c38fe9f4
RM
90382010-09-10 Robert Millan <rmh@gnu.org>
9039
9040 Solaris support in grub_find_zpool_from_dir(). Thanks
9041 Seth Goldberg for referring to getextmntent() facility.
9042
9043 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
9044 `sys/mkdev.h'.
9045 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
9046 `<sys/mnttab.h>'.
9047 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
9048 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
9049 method for finding zpool name.
9050
905f7773
CW
90512010-09-10 Colin Watson <cjwatson@ubuntu.com>
9052
9053 grub-fstest needs the host and hostfs modules while other utilities
9054 actively require those modules to be absent, so grub-fstest needs
9055 its own initialisation and finalisation code.
9056
9057 * Makefile.am (grub_fstest.pp): New target.
9058 (grub_fstest_init.lst): Likewise.
9059 (grub_fstest_init.c): Likewise.
9060 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
9061
fb90b546
RM
90622010-09-10 Robert Millan <rmh@gnu.org>
9063
9064 * configure.ac: Check for `struct statfs.f_fstypename' and
9065 `struct statfs.f_mntfromname'.
9066
9067 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
9068 kFreeBSD-specific code.
9069
66d4bea5
RM
90702010-09-10 Robert Millan <rmh@gnu.org>
9071
9072 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
9073 on ZFS. Now non-main filesystems are supported as / too.
9074
b6a690ee
CW
90752010-09-09 Colin Watson <cjwatson@ubuntu.com>
9076
9077 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
9078 and grub-core/disk/host.c to ...
9079 (grub-fstest): ... here. Having the host disk implementation
9080 present confuses grub-probe and other utility programs.
9081
9082 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
9083 when writing to a file, not when writing to stdout.
9084
8901b00c 90852010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
9086
9087 * tests/partmap_test.in: New test for partitions.
9088 * Makefile.util.def: Rules for new test.
9089
7bf45fdd
RM
90902010-09-09 Robert Millan <rmh@gnu.org>
9091
9092 * util/grub-probe.c (probe): Fix a pair of unhandled error
9093 conditions.
9094
4dfbc574
RM
90952010-09-09 Robert Millan <rmh@gnu.org>
9096
9097 Basic Btrfs support (detection and UUID).
9098
9099 * grub-core/fs/btrfs.c: New file.
9100 * Makefile.util.def (library): Register btrfs.c.
9101 * grub-core/Makefile.core.def: Likewise.
9102
6b8e78ae
RM
91032010-09-08 Robert Millan <rmh@gnu.org>
9104
9105 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
9106 with (optional) parameters to specify device and relative path.
9107 * util/grub-install.in: Use is_path_readable_by_grub() to
9108 verify readability of a few critical files.
9109 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
9110 verify readability of grub.cfg.new.
9111
27f21a8b
VS
91122010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
9113
9114 Split minix.mod into minix.mod and minix2.mod.
9115
9116 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
9117 * grub-core/Makefile.core.def (minix2): New module.
9118 * grub-core/fs/minix.c: Use definitions instead of runtime version
9119 checking.
9120 * grub-core/fs/minix2.c: New file.
9121
c0e53ea5
YB
91222010-09-08 Yves Blusseau <blusseau@zetam.org>
9123
9124 Add new --boot-directory option to replace --root-directory
9125
9126 * util/grub-install.in: Add new --boot-directory option
9127 * util/grub-reboot.in: Likewise.
9128 * util/grub-set-default.in: Likewise.
9129
b9fe6ea2
YB
91302010-09-08 Yves Blusseau <blusseau@zetam.org>
9131
9132 * util/grub-mkconfig.in: Use new variable.
9133
d87aedff
YB
91342010-09-08 Yves Blusseau <blusseau@zetam.org>
9135
9136 * configure.ac: Define some useful variables.
9137
e55e8495
VS
91382010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
9139
9140 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
9141 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
9142 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
9143 Use terminfo and don't use cursor-on/cursor-off unless it's known
9144 to work.
9145 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
9146 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
9147
6fa6d675
CW
91482010-09-08 Colin Watson <cjwatson@ubuntu.com>
9149
9150 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
9151 starts with "(,", fill the drive containing the loaded image in
9152 between those two characters, but expect that a full partition
9153 specification including partition map names will follow.
9154
92f2aef0
RM
91552010-09-08 Robert Millan <rmh@gnu.org>
9156
9157 * configure.ac: Remove `--enable-grub-fstest' option.
9158 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
9159
9160 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
9161 `grub-fstest' instead of `grub-probe' for readability verification.
9162 * util/grub-probe.c (probe): Remove readability verification kludge.
9163
99fd620d
RM
91642010-09-08 Robert Millan <rmh@gnu.org>
9165
9166 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
9167 initializing `GRUB_FS'.
9168
058e30ac 91692010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
9170
9171 Not command (!) support to GRUB script.
9172
9173 * tests/grub_script_not.in: New test.
9174 * Makefile.util.def: Rules for new test.
9175
9176 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
9177 ! command as a special case.
9178 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
9179
b61d05ed 91802010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
9181
058e30ac 9182 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
9183 grub_free.
b61d05ed 9184
4d69c786 91852010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
9186
9187 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
9188
aa3119c4 91892010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
9190
9191 * docs/grub.texi (Shell-like scripting): Documentation for break,
9192 continue, shift and return commands.
9193
db0f7e3d
VS
91942010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
9195
9196 Rename CD-ROM to cd on BIOS.
9197
9198 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
9199 "cd".
9200 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
9201
88b87c93
VS
92022010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9203
9204 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
9205 * util/grub-probe.c (main): Likewise.
9206 * util/i386/pc/grub-setup.c (main): Likewise.
9207 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
9208 Reported and debugged by: alexxy
9209
294f324d
VS
92102010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9211
9212 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
9213 diagnostic info.
9214
d7ee3441
JS
92152010-09-05 Jo Shields <directhex@apebox.org>
9216
9217 * util/grub.d/30_os-prober.in: Add missing classes.
9218
d7e06c1f
VS
92192010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9220
9221 * docs/grub.texi (Theme file format): Document new position format.
9222
fc157e53
VS
92232010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9224
9225 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
9226 a table. Use @code instead of @verbatim.
9227
506e9a1c
CB
92282010-09-05 Colin D Bennett <colin@gibibit.com>
9229
9230 Gfxmenu documentation.
9231
9232 * docs/grub.texi (Theme file format): New chapter.
9233
f0aff67c
SJ
92342010-09-05 Szymon Janc <szymon@janc.net.pl>
9235
9236 * grub-core/Makefile.core.def (xzio): New module.
9237 * grub-core/io/xzio.c: New file.
9238 * grub-core/lib/xzembed/xz.h: New file (from xembed).
9239 * grub-core/lib/xzembed/xz_config.h: Likewise.
9240 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
9241 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
9242 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
9243 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
9244 * grub-core/lib/xzembed/xz_private.h: Likewise.
9245 * grub-core/lib/xzembed/xz_stream.h: Likewise.
9246 * include/grub/file.h (grub_file_filter_id): New compression filter
9247 GRUB_FILE_FILTER_XZIO.
9248
82a85062
VS
92492010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9250
9251 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
9252 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
9253 size.
9254
3579415d
VS
92552010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9256
9257 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
9258 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
9259
5124ae6d
VS
92602010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9261
9262 Uncompressed checksum support.
9263
9264 * grub-core/commands/hashsum.c (options): Add option --uncompress.
9265 (check_list): New parameter uncompress.
9266 (grub_cmd_hashsum): Handle --uncompress.
9267
9aadb3d1
VS
92682010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9269
9270 Reintroduce testload.
9271
9272 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
9273 from here ...
9274 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
9275 (GRUB_MOD_INIT): New function.
9276 (GRUB_MOD_FINI): Likewise.
9277 * grub-core/Makefile.core.def (testload): New module.
9278
a17792c3
SJ
92792010-09-05 Szymon Janc <szymon@janc.net.pl>
9280
9281 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
9282 (uint8_t): New type.
9283 (uint16_t): Likewise.
9284 (uint32_t): Likewise.
9285 (uint64_t): Likewise.
9286
b81e40a3
SJ
92872010-09-05 Szymon Janc <szymon@janc.net.pl>
9288
9289 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
9290
fc2ef117
VS
92912010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9292
9293 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
9294 Made static.
9295 (grub_gzfile_open): Removed. All users updated.
9296 (GRUB_MOD_INIT): New function.
9297 (GRUB_MOD_FINI): Likewise.
9298 * grub-core/kern/file.c (grub_file_filters_all): New variable.
9299 (grub_file_filters_enabled): Likewise.
9300 (grub_file_open): Handle filters.
9301 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
9302 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
9303 * include/grub/file.h (grub_file_filter_id_t): New type.
9304 (grub_file_filter_t): Likewise.
9305 (grub_file_filters_all): New extern variable.
9306 (grub_file_filters_enabled): Likewise.
9307 (grub_file_filter_register): New inline function.
9308 (grub_file_filter_unregister): Likewise.
9309 (grub_file_filter_disable): Likewise.
9310 (grub_file_filter_disable_compression): Likewise.
9311 * include/grub/gzio.h: Removed.
9312
35ee15e0
BC
93132010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9314
9315 Filename expansion support for wildcards in GRUB script.
9316
9317 * tests/grub_script_expansion.in: New test.
9318 * Makefile.util.def: Rule for new test.
9319
9320 * grub-core/commands/wildcard.c: New file, implements filename
9321 expansion support for GRUB script.
9322 * grub-core/Makefile.core.def: Rule update for regexp.mod.
9323 * grub-core/script/argv.c: Cosmetic changes.
9324 * grub-core/script/execute.c (grub_script_arglist_to_argv):
9325 Refactored to perform wildcard expansion on arguments.
9326 * include/grub/script_sh.h (grub_script_wildcard_translator): New
9327 struct.
9328
9329 * tests/util/grub-shell.in: Fix quoting for read input.
9330
5f0c4aca
BC
93312010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9332
9333 Support for updating environment variables with matched substrings
9334 of regexp.
9335
9336 * tests/grub_cmd_regexp.in: New test.
9337 * Makefile.util.def: Rule for new test.
9338
9339 * grub-core/commands/regexp.c: New option -s to update environment
9340 variables with regexp matches.
9341
3759a35f
SJ
93422010-09-04 Szymon Janc <szymon@janc.net.pl>
9343
9344 * include/grub/file.h (grub_file): New member not_easly_seekable.
9345 (grub_file_seekable): New inline function.
9346 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
9347 easily seekable.
9348 (grub_gzio_open): Set not_easly_seekable.
9349 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
9350 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
9351
ed8c6dec
BC
93522010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9353
9354 Support for options to appear multiple times on cmdline.
9355
9356 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
9357 * grub-core/commands/extcmd.c: Support for repeatable option.
9358 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
9359 repeatable option support.
9360
9361 Refactor menuentry into a regular command.
9362
9363 * grub-core/commands/menuentry.c: New file, menuentry command
9364 implementation.
9365 * grub-core/Makefile.core.def: Rule update for normal.mod.
9366 * grub-core/normal/main.c: Moved menuentry creation to
9367 grub-core/commands/menuentry.c.
9368 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
9369 (grub_menu_execute_entry_real): Removed.
9370 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
9371 function.
9372 (grub_script_execute_menuentry): Removed.
9373 * grub-core/script/parser.y (menuentry): Removed.
9374 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
9375 * grub-core/script/yylex.l (menuentry): Removed.
9376 * include/grub/menu.h (grub_menu_init): New prototype.
9377 (grub_menu_fini): New prototype.
9378 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
9379 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
9380 (grub_script_execute_sourcecode): New prototype.
9381
dacd0cf0
BC
93822010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9383
9384 "return" command for GRUB script functions.
9385
9386 * tests/grub_script_return.in: New test.
9387 * Makefile.util.def: Rules for new test.
9388
9389 * grub-core/script/execute.c (grub_script_return): New function.
9390 * grub-core/script/main.c: Register/unregister return commaond.
9391 * include/grub/script_sh.h (grub_script_return): New prototype.
9392
52e72f9d
BC
93932010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9394
9395 "setparams" command to update positional parameters.
9396
9397 * tests/grub_script_setparams.in: New test.
9398 * Makefile.util.def: Rules for new test.
9399
9400 * grub-core/script/argv.c (grub_script_argv_make): New function.
9401 * grub-core/script/execute.c (replace_scope): New function.
9402 (grub_script_setparams): New function.
9403 * grub-core/script/lexer.c: Remove unused variables.
9404 * grub-core/script/main.c: Register/unregister setparams command.
9405 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
9406 (grub_script_setparams): New prototype.
9407
25b60c91
BC
94082010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9409
9410 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
9411 grub_free order.
9412
37e7bf68
BC
94132010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9414
9415 Support for passing block of commands as an argument to extcmds.
9416
9417 * Makefile.util.def: Rules for new test.
9418 * tests/grub_script_blockarg.in: New test.
9419 * grub-core/tests/test_blockarg.c: New file, block argument
9420 command used in the test.
9421
9422 * include/grub/extcmd.h (grub_extcmd_context): New struct.
9423 (grub_register_extcmd_prio): New function prototype.
9424 (grub_extcmd_dispatcher): New function prototype.
9425 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
9426 type.
9427 * include/grub/script_sh.h (struct grub_script): New members
9428 `children', `next_siblings' and `refcnt' for block arguments and
9429 reference counting.
9430 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
9431 (grub_script_arg): New member `script' for block argument.
9432 (grub_script_argv): New member `script' for block argument.
9433 (grub_parser_param): New member `scripts' for block argument.
9434 (grub_script_mem_free): New extern function prototype.
9435 (grub_script_ref): New function prototype.
9436 (grub_script_unref): New function prototype.
9437
9438 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
9439 extcmd form to support block arguments.
9440 * grub-core/script/argv.c: Block arguments support.
9441 * grub-core/script/execute.c: Likewise.
9442 * grub-core/script/lexer.c: Likewise.
9443 * grub-core/script/main.c: Likewise.
9444 * grub-core/script/script.c: Likewise.
9445 * grub-core/script/parser.y: Likewise. New `block' and `block0'
9446 non-terminals.
9447
9448 * grub-core/commands/acpi.c: Update extcmd implementations with
9449 grub_extcmd_context_t.
9450 * grub-core/commands/cat.c: Likewise.
9451 * grub-core/commands/echo.c: Likewise.
9452 * grub-core/commands/extcmd.c: Likewise.
9453 * grub-core/commands/hashsum.c: Likewise.
9454 * grub-core/commands/hdparm.c: Likewise.
9455 * grub-core/commands/help.c: Likewise.
9456 * grub-core/commands/hexdump.c: Likewise.
9457 * grub-core/commands/i386/cpuid.c: Likewise.
9458 * grub-core/commands/i386/pc/drivemap.c: Likewise.
9459 * grub-core/commands/i386/pc/halt.c: Likewise.
9460 * grub-core/commands/i386/pc/sendkey.c: Likewise.
9461 * grub-core/commands/iorw.c: Likewise.
9462 * grub-core/commands/keystatus.c: Likewise.
9463 * grub-core/commands/loadenv.c: Likewise.
9464 * grub-core/commands/ls.c: Likewise.
9465 * grub-core/commands/lspci.c: Likewise.
9466 * grub-core/commands/memrw.c: Likewise.
9467 * grub-core/commands/probe.c: Likewise.
9468 * grub-core/commands/search_wrap.c: Likewise.
9469 * grub-core/commands/setpci.c: Likewise.
9470 * grub-core/commands/sleep.c: Likewise.
9471 * grub-core/disk/loopback.c: Likewise.
9472 * grub-core/hello/hello.c: Likewise.
9473 * grub-core/loader/i386/bsd.c: Likewise.
9474 * grub-core/loader/xnu.c: Likewise.
9475 * grub-core/term/gfxterm.c: Likewise.
9476 * grub-core/term/serial.c: Likewise.
9477 * grub-core/tests/lib/functional_test.c: Likewise.
9478
888d1500
BC
94792010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9480
9481 Multi-line quoted strings support.
9482
9483 * grub-core/script/lexer.c (append_newline): Removed.
9484 (grub_script_lexer_yywrap): Refactored.
9485 (grub_script_lexer_init): Refactored.
9486 * grub-core/script/yylex.l (yywrap): New function.
9487 (grub_lexer_resplit): New function.
9488 (grub_lexer_unput): New function.
9489 * include/grub/script_sh.h (grub_lexer_param): New members, unput
9490 and resplit.
9491 * tests/grub_script_echo1.in: Added few more testcases.
9492
dda060dd
VS
94932010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
9494
9495 * grub-core/kern/misc.c: Don't add abort alias in utils.
9496 Reported by: echoline.
9497
6556eba9
BC
94982010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
9499
9500 Add missing files into "make dist" tarball for other platforms.
9501
9502 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
9503 * conf/Makefile.common (dist_noinst_DATA): New variable.
9504 * conf/Makefile.extra-dist: Added missing make dist files.
9505 * grub-core/Makefile.core.def: Likewise.
9506
c8e7bf5f
VS
95072010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
9508
9509 Compress grub_prefix.
9510
9511 * grub-core/boot/i386/pc/lnxboot.S: Use
9512 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
9513 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
9514 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
9515 GRUB_MACHINE_PREFIX_END. All users updated.
9516 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
9517 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
9518 + 0x40.
9519 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
9520 * util/grub-mkimage.c (image_target_desc): Change data_end to
9521 prefix_end. All users updated.
9522
a7c00cdb
VS
95232010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
9524
9525 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
9526 value.
9527 (grub_openbsd_boot): Likewise.
9528 (grub_netbsd_boot): Likewise.
9529 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
9530 (grub_xnu_boot): Likewise.
9531
9f915872
VS
95322010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9533
9534 * configure.ac: Clean LIBS variable after tests.
9535
efa1bee7
CW
95362010-09-02 Colin Watson <cjwatson@ubuntu.com>
9537
9538 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
9539
61d720e5
VS
95402010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9541
9542 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
9543 echo if libdevmapper will be used.
9544
ef8e0ec8
IT
95452010-09-02 Ian Turner <Ian.Turner@deshaw.com>
9546
9547 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
9548 constant for the same file.
9549
03e261d8
VS
95502010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9551
9552 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
9553
c2a4eba6
CW
95542010-09-02 Colin Watson <cjwatson@ubuntu.com>
9555
9556 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
9557 grub-core/*.pp.
9558
9056cbf3
CW
95592010-09-02 Colin Watson <cjwatson@ubuntu.com>
9560
9561 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
9562 required by the boot protocol.
9563
9564 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
9565 ebp and edi members.
9566 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
9567 state.ebp and state.edi.
9568 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
9569 %ebp and %edi according to grub_relocator32_ebp and
9570 grub_relocator32_edi respectively.
9571 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
9572 and state.edi.
9573
529cc99a
VS
95742010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9575
9576 Add i386-pc-pxe image target.
9577
9578 * util/grub-mkimage.c (image_target_desc): New enum value
9579 IMAGE_I386_PC_PXE.
9580 (image_targets): New target i386-pc-pxe.
9581 (generate_image): Handle i386-pc-pxe image.
9582
9a093920
VS
95832010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9584
9585 Fix grub_pxe_scan.
9586
9587 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
9588 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
9589 All users updated.
9590 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
9591 (grub_pxe_pxenv): Correct type.
9592
f9cefc4e
CW
95932010-09-01 Colin Watson <cjwatson@ubuntu.com>
9594
9595 * NEWS: Document most of the important changes since 1.98.
9596
4066f57f
CW
95972010-09-01 Colin Watson <cjwatson@ubuntu.com>
9598
9599 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
9600 generated manual page) a little.
9601
da2891f9
CW
96022010-09-01 Colin Watson <cjwatson@ubuntu.com>
9603
9604 * docs/grub.texi: Add myself as an author.
9605
ad717fae
VS
96062010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
9607
9608 * Makefile.util.def (libgrub.a): Add missing sunpc.
9609 Reported by: Seth Goldberg.
9610
eefe8abd
VS
96112010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9612
9613 Interrupt wrapping and code simplifications.
9614
9494ef9a
VS
9615 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
9616 x86_noieee1275 which are functionaly equivalent in this case.
9617 (grub-install): Make source on each platform explicit. Enable on
9618 all noemu.
9619 * gentpl.py (x86_efi_pc): Removed group.
9620 (x86_noefi): Likewise.
9621 (i386_noefi): Likewise.
9622 (x86_noieee1275): Likewise.
9623 (i386_noieee1275): Likewise.
9624 (i386_noefi_noieee1275): Likewise.
9625 (i386_pc_qemu_coreboot): Likewise.
9626 (i386_coreboot_multiboot): Likewise.
9627 (i386_pc_coreboot_multiboot_qemu): Likewise.
9628 (x86_noefi_mips): Likewise.
9629 (noieee1275): Likewise.
9630 (ieee1275_mips): Likewise.
9631 (noemu_noieee1275): Likewise.
9632 (cmos): New group.
9633 (usb): Likewise.
9634 (videoinkernel): Likewise.
9635 (videomodules): Likewise.
eefe8abd 9636 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
9637 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
9638 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
9639 include/grub/loader.h, include/grub/msdos_partition.h,
9640 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
9641 include/grub/machine/console.h, include/grub/machine/vga.h,
9642 include/grub/machine/vbe.h, include/grub/machine/init.h,
9643 include/grub/machine/kernel.h, include/grub/cpu/time.h,
9644 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 9645 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
9646 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
9647 * grub-core/Makefile.core.def (kernel): Explicit the source for
9648 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
9649 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
9650 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
9651 Use videoinkernel tag.
9652 (usb): Enable on all usb.
9653 (usbserial_common): Likewise.
9654 (usbserial_pl2303): Likewise.
9655 (usbserial_ftdi): Likewise.
9656 (uhci): Enable on all x86.
9657 (ohci): Enable on all pci.
9658 (cmostest): Enable on all CMOS.
9659 (acpi): Include commands/acpi.c on all platforms.
9660 (halt): Add relevant lib/*/halt.c.
9661 (hdparm): Enable on all pci.
9662 (lspci): Likewise.
9663 (usbtest): Enable on all usb.
9664 (ata): Enable on all pci.
9665 (ata_pthru): Likewise.
9666 (usbms): Enable on all usb.
9667 (usb_keyboard): Likewise.
9668 (font): Use tag videomodules.
9669 (bufio): Likewise.
9670 (datetime): Use tag cmos. Enable on all noemu.
9671 (mmap): Use tags common and x86.
9672 (gfxterm): Use tag videomodules.
9673 (bitmap): Likewise.
9674 (bitmap_scale): Likewise.
9675 (video_fb): Likewise.
9676 (video): Likewise.
9677 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
9678 adjust padding accordingly. All users updated.
9679 (grub_ohci_transaction): Fix bad format specification.
9680 (GRUB_MOD_INIT): Add asserts for struct size.
9681 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
9682 (grub_alloc_td): Likewise.
9683 (grub_free_queue): Likewise.
9684 (grub_uhci_transfer): Likewise.
9685 (grub_uhci_transaction): Fix bad format specification.
9686 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
9687 (grub_usb_bulk_readwrite): Likewise.
9688 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
9689 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
9690 Made static.
9691 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
9692 Made static.
9693 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
9694 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
9695 Transformed into C.
9696 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
9697 Moved from here ...
9698 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
9699 ... here. Transformed into C. Made static.
9700 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
9701 Moved from here ...
9702 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
9703 ... here. Transformed into C. Made static.
9704 * grub-core/kern/i386/pc/startup.S
9705 (grub_biosdisk_check_int13_extensions): Moved from here ...
9706 * grub-core/disk/i386/pc/biosdisk.c
9707 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
9708 Made static.
9709 * grub-core/kern/i386/pc/startup.S
9710 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
9711 * grub-core/disk/i386/pc/biosdisk.c
9712 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
9713 Transformed into C. Made static.
9714 * grub-core/kern/i386/pc/startup.S
9715 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
9716 * grub-core/disk/i386/pc/biosdisk.c
9717 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
9718 Transformed into C. Made static.
9719 * grub-core/kern/i386/pc/startup.S
9720 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
9721 * grub-core/disk/i386/pc/biosdisk.c
9722 (grub_biosdisk_get_diskinfo_standard): ... here.
9723 Transformed into C. Made static.
9724 * grub-core/kern/i386/pc/startup.S
9725 (grub_biosdisk_get_num_floppies): Moved from here ...
9726 * grub-core/disk/i386/pc/biosdisk.c
9727 (grub_biosdisk_get_num_floppies): ... here.
9728 Transformed into C. Made static.
9729 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
9730 New function.
9731 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
9732 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
9733 Transformed into C. Made static.
9734 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
9735 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
9736 Transformed into C. Made static.
9737 * grub-core/kern/i386/ieee1275/init.c: Removed.
9738 * grub-core/kern/i386/misc.S: Likewise.
9739 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
9740 Splitted from here ...
9741 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
9742 Transformed into C. Made static. All users updated.
9743 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
9744 Transformed into C. Made static. All users updated.
9745 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
9746 Moved from here...
9747 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
9748 Transformed into C. Made static. All users updated.
9749 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
9750 Moved from here...
9751 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
9752 Transformed into C. Made static. All users updated.
9753 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
9754 Removed (replaced by C version).
9755 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
9756 Moved from here...
9757 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
9758 Transformed into C. Made static.
9759 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
9760 Moved from here...
9761 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
9762 ... here. Transformed into C.
9763 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
9764 Moved from here...
9765 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
9766 ... here. Transformed into C.
9767 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
9768 Moved from here...
9769 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
9770 ... here. Transformed into C. Made static.
9771 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
9772 Moved from here...
9773 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
9774 ... here. Transformed into C.
21ed554b
VS
9775 * grub-core/kern/i386/pc/startup.S
9776 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
9777 * grub-core/video/i386/pc/vbe.c
9778 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
9779 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
9780 Moved from here...
9781 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
9782 ... here. Transformed into C.
9783 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
9784 Moved from here...
9785 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
9786 ... here. Transformed into C.
9787 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
9788 Moved from here...
9789 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
9790 ... here. Transformed into C.
9791 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
9792 Moved from here...
9793 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
9794 ... here. Transformed into C.
9795 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
9796 Moved from here...
9797 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
9798 ... here. Transformed into C. Made static.
9799 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
9800 Moved from here...
9801 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
9802 ... here. Transformed into C. Made static.
9803 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
9804 Moved from here...
9805 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
9806 ... here. Transformed into C. Made static.
9807 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
9808 pxe_rm_entry as third argument.
9809 (grub_bios_interrupt): New function.
9810 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
9811 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
9812 of calling grub_stop.
9813 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
9814 * grub-core/lib/efi/halt.c (grub_halt): ...here.
9815 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
9816 * grub-core/lib/emu/halt.c (grub_halt): ... here.
9817 * grub-core/lib/i386/halt.c: Moved from here ...
9818 * grub-core/lib/i386/halt.c: ... here.
9819 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
9820 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
9821 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
9822 grub_stop_floppy.
9823 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
9824 * include/grub/i386/coreboot/init.h: Removed.
9825 * include/grub/i386/multiboot/init.h: Likewise.
9826 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
9827 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
9828 * include/grub/i386/pc/int.h: New file.
9829 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
9830 (grub_pxe_scan): Removed.
9831 (grub_pxe_call): Update prototype.
9832 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
9833 prototypes.
9834 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
9835 * include/grub/i386/qemu/init.h: Removed.
9836 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
9837 noreturn.
9838 (grub_halt): Likewise.
9839 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
9840 (grub_reboot): Likewise.
9841 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
9842 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
9843 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
9844
215dd471
RM
98452010-08-30 Robert Millan <rmh@gnu.org>
9846
9847 * NEWS: Document addition of ZFS support in `grub-install' and
9848 `grub-mkconfig'.
9849
ebd65b82
BC
98502010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
9851
9852 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
9853 dprintf output.
9854
11721d19
VS
98552010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9856
9857 Remove leftover embedding of font objects.
9858
9859 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
9860 * util/grub-install.in (font): Removed.
9861 * util/grub-mkimage.c (generate_image): Remove font support. All users
9862 updated.
9863
37837d4e
VS
98642010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9865
9866 Remove leftover embedding of font objects.
9867
9868 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
9869 * util/grub-install.in (font): Removed.
9870 * util/grub-mkimage.c (generate_image): Remove font support. All users
9871 updated.
9872
b4c1aae0
VS
98732010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9874
9875 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 9876 Reported by: Ian Turner
b4c1aae0 9877
8920a08d
VS
98782010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9879
9880 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
9881 timeout to avoid indefinite boot stalling.
9882
f21db033
VS
98832010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9884
9885 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
9886 (grub_env_write_color_highlight): Likewise.
9887
9a9de209
VS
98882010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9889
9890 * grub-core/normal/term.c (print_more): Return to normal and not
9891 to standard state after printing "---MORE---".
9892
3dca01d7
VS
98932010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9894
9895 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
9896 Mask out the bit 0x80 since it has other meaning that specifiing color.
9897
0b986c40
VS
98982010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
9899
9900 New relocator. Allows for more kernel support and more straightforward
9901 loader writing.
9902
9903 * Makefile.am (BOOTTARGET): New variable.
9904 (QEMU32): Likewise.
9905 (linux.init.x86_64): New target.
9906 (linux.init.i386): Likewise.
9907 (multiboot.elf): Likewise.
9908 (kfreebsd.elf): Likewise.
9909 (kfreebsd.aout): Likewise.
9910 (pc-chainloader.elf): Likewise.
9911 (pc-chainloader.bin): Likewise.
9912 (ntldr.elf): Likewise.
9913 (ntldr.bin): Likewise.
9914 (multiboot2.elf): Likewise.
9915 (kfreebsd.init.x86_64): Likewise.
9916 (kfreebsd.init.i386): Likewise.
9917 (knetbsd.init.i386): Likewise.
9918 (kopenbsd.init.i386): Likewise.
9919 (knetbsd.init.x86_64): Likewise.
9920 (kopenbsd.init.x86_64): Likewise.
9921 (linux-initramfs.i386): Likewise.
9922 (linux-initramfs.x86_64): Likewise.
9923 (kfreebsd-mfsroot.i386.img): Likewise.
9924 (knetbsd.image.i386): Likewise.
9925 (kopenbsd.image.i386): Likewise.
9926 (kopenbsd.image.x86_64): Likewise.
9927 (knetbsd.miniroot-image.i386.img): Likewise.
9928 (kfreebsd-mfsroot.x86_64.img): Likewise.
9929 (knetbsd.image.x86_64): Likewise.
9930 (knetbsd.miniroot-image.x86_64.img): Likewise.
9931 (kfreebsd-mfsroot.i386.gz): Likewise.
9932 (bootcheck-kfreebsd-i386): Likewise.
9933 (kfreebsd-mfsroot.x86_64.gz): Likewise.
9934 (bootcheck-kfreebsd-x86_64): Likewise.
9935 (knetbsd.miniroot-image.i386.gz): Likewise.
9936 (bootcheck-knetbsd-i386): Likewise.
9937 (bootcheck-kopenbsd-i386): Likewise.
9938 (bootcheck-kopenbsd-x86_64): Likewise.
9939 (knetbsd.miniroot-image.x86_64.gz): Likewise.
9940 (bootcheck-knetbsd-x86_64): Likewise.
9941 (bootcheck-linux-i386): Likewise.
9942 (bootcheck-linux-x86_64): Likewise.
9943 (bootcheck-linux16-i386): Likewise.
9944 (bootcheck-linux16-x86_64): Likewise.
9945 (bootcheck-multiboot): Likewise.
9946 (bootcheck-multiboot2): Likewise.
9947 (bootcheck-kfreebsd-aout): Likewise.
9948 (bootcheck-pc-chainloader): Likewise.
9949 (bootcheck-ntldr): Likewise.
9950 (CLEANFILES): Add new targets.
9951 (BOOTCHECKS): New variable.
9952 (.PHONY): Add bootchecks.
9953 (SUCCESSFUL_BOOT_STRING): New variable.
9954 (BOOTCHECK_TIMEOUT): Likewise.
9955 (bootcheck): New target
9956 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
9957 * configure.ac: Correct efiemu excuse.
9958 * docs/grub.texi (Supported kernels): New chapter.
9959 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
9960 include/grub/mm_private.h. Simplify inclusion of
9961 include/grub/boot.h, include/grub/loader.h
9962 and include/grub/msdos_partition.h
9963 (KERNEL_HEADER_FILES) [i386_coreboot]:
9964 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
9965 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
9966 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
9967 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
9968 include/grub/machine/loader.h.
9969 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
9970 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
9971 extra_dist.
9972 (pci.mod): Enable on i386-multiboot.
9973 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
9974 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
9975 i386-qemu.
9976 (relocator.mod): Rewritten.
9977 (aout.mod): Enable on all x86.
9978 (bsd.mod): Likewise.
9979 (ntldr.mod): New module.
9980 (linux.mod): Use loader/i386/linux.c on all x86.
9981 (xnu.mod): Enable on all x86.
9982 (vga_text.mod): disable on EFI and QEMU.
9983 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
9984 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
9985 * grub-core/efiemu/loadcore.c: Likewise.
9986 * grub-core/efiemu/main.c: Likewise.
9987 (grub_efiemu_exit_boot_services): Removed.
9988 (grub_efiemu_finish_boot_services): Likewise.
9989 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
9990 function.
9991 * grub-core/efiemu/i386/nocfgtables.c: New file.
9992 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
9993 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
9994 (grub_efi_finish_boot_services): Moved from here ...
9995 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
9996 Fille finish memory map and related data.
9997 (finish_mmap_buf): New variable.
9998 (grub_efi_uintn_t finish_mmap_size): Likewise.
9999 (grub_efi_uintn_t finish_key): Likewise.
10000 (grub_efi_uintn_t finish_desc_size): Likewise.
10001 (grub_efi_uint32_t finish_desc_version): Likewise.
10002 (grub_efi_is_finished): Likewise.
10003 (grub_efi_get_memory_map): Use saved memory map if EFI is already
10004 finished.
10005 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
10006 (grub_elf64_phdr_iterate): Likewise.
10007 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
10008 (grub_os_area_size): Likewise.
10009 (grub_machine_init): Don't reserve os area.
10010 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
10011 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
10012 * grub-core/kern/i386/loader.S: Removed.
10013 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
10014 (grub_os_area_size): Likewise.
10015 (grub_machine_init): Don't reserve os area.
10016 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
10017 Don't call grub_dl_unload_all.
10018 Don't include loader.S.
10019 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
10020 Declare the memory after _end as available.
10021 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 10022 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 10023 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
10024 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
10025 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
10026 * include/grub/mm_private.h (grub_mm_header): ... here.
10027 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
10028 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
10029 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
10030 (grub_mm_region): ..here. Removed addr. Added pre_size.
10031 All users updated.
10032 * grub-core/kern/mm.c (base): Renamed to ...
10033 (grub_mm_base): ... this. Made global.
10034 (grub_real_malloc): Alloc from end of region.
10035 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
10036 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
10037 * grub-core/kern/powerpc/cache_flush.S: ... here.
10038 * grub-core/lib/efi/relocator.c: New file.
10039 * grub-core/lib/i386/relocator.c: Rewritten.
10040 * grub-core/lib/i386/relocator16.S: New file.
10041 * grub-core/lib/i386/relocator32.S: Likewise.
10042 * grub-core/lib/i386/relocator64.S: Likewise.
10043 * grub-core/lib/i386/relocator_asm.S: Rewritten.
10044 * grub-core/lib/i386/relocator_common.S: New file.
10045 * grub-core/lib/ieee1275/relocator.c: Likewise.
10046 * grub-core/lib/mips/relocator.c: Rewritten.
10047 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
10048 stylistic adjustments.
10049 * grub-core/lib/powerpc/relocator.c: New file.
10050 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
10051 * grub-core/lib/relocator.c: Rewritten.
10052 * grub-core/lib/x86_64/relocator_asm.S: New file.
10053 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
10054 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
10055 (bsd_tag): New struct.
10056 (tags): New variable.
10057 (tags_last): Likewise.
10058 (netbsd_module): New struct.
10059 (netbsd_mods): New variable.
10060 (netbsd_mods_last): Likewise.
10061 (openbsd_opts): New parameter "serial".
10062 (OPENBSD_SERIAL_ARG): New definition.
10063 (netbsd_opts): New parameter "serial".
10064 (NETBSD_SERIAL_ARG): New definition.
10065 (grub_freebsd_add_meta): Reorganised into ...
10066 (grub_bsd_add_meta): ...this. All users updated.
10067 (grub_freebsd_add_mmap): Reorganised into ...
10068 (generate_e820_mmap): ...this...
10069 (grub_bsd_add_mmap): ...and this. All users updated.
10070 (grub_freebsd_list_modules): Use tags.
10071 (grub_netbsd_add_meta_module): New function.
10072 (grub_netbsd_list_modules): Likewise.
10073 (grub_freebsd_boot): Use relocator and finish EFI.
10074 (grub_openbsd_boot): Likewise.
10075 (grub_netbsd_setup_video): New function.
10076 (grub_netbsd_add_modules): Likewise.
10077 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
10078 and finish EFI.
10079 (grub_bsd_unload): Unload tags.
10080 (grub_bsd_load_aout): Use relocator.
10081 (grub_bsd_elf32_size_hook): New function.
10082 (grub_bsd_elf32_hook): Use relocator.
10083 (grub_bsd_elf64_size_hook): New function.
10084 (grub_bsd_elf64_hook): Use relocator.
10085 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
10086 (grub_bsd_load): Zero-out openbsd_ramdisk.
10087 (grub_bsd_load): Use relocator.
10088 (grub_cmd_openbsd): Support serial.
10089 (grub_cmd_netbsd): Support modules.
10090 (grub_cmd_freebsd_module): Use relocator.
10091 (grub_netbsd_module_load): New function.
10092 (grub_cmd_netbsd_module): Likewise.
10093 (grub_cmd_openbsd_ramdisk): Likewise.
10094 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
10095 kopenbsd_ramdisk.
10096 (GRUB_MOD_FINI): Unregister new commands.
10097 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
10098 (grub_freebsd_load_elfmodule_obj): Use relocator.
10099 (grub_freebsd_load_elfmodule): Likewise.
10100 (grub_freebsd_load_elf_meta): Likewise.
10101 (grub_netbsd_load_elf_meta): New function.
10102 (grub_openbsd_find_ramdisk): Likewise.
10103 * grub-core/loader/i386/bsd_helper.S: Removed.
10104 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
10105 * grub-core/loader/i386/bsd_trampoline.S: Removed.
10106 * grub-core/loader/i386/efi/linux.c: Likewise.
10107 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
10108 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
10109 (DEFAULT_VIDEO_MODE): Likewise.
10110 (real_mode_target): New variable.
10111 (prot_mode_target): Likewise.
10112 (initrd_mem_target): Likewise.
10113 (relocator): Likewise.
10114 (efi_mmap_buf): Likewise.
10115 (efi_mmap_size): Likewise.
10116 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
10117 (free_pages): Use relocator.
10118 (allocate_pages): Account for efi_mmap and use relocator. Return error.
10119 (grub_linux_setup_video): Return error.
10120 (grub_linux_trampoline_start): Removed.
10121 (grub_linux_trampoline_end): Likewise.
10122 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
10123 andd video parameters depending on firmware.
10124 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
10125 [GRUB_MACHINE_EFI]: Pass EFI parameters.
10126 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
10127 (grub_cmd_initrd): Use relocator.
10128 * grub-core/loader/i386/linux_trampoline.S: Removed.
10129 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
10130 (elf_sec_entsize): Likewise.
10131 (elf_sec_shstrndx): Likewise.
10132 (elf_sections): Likewise.
10133 (grub_multiboot_load): Use relocator.
10134 (grub_multiboot_get_mbi_size): Account for sections.
10135 (grub_multiboot_make_mbi): Use relocator and support sections.
10136 (grub_multiboot_add_elfsyms): New function.
10137 (grub_multiboot_free_mbi): Free sections.
10138 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
10139 (grub_linux_real_target): Likewise.
10140 (grub_linux_real_chunk): Likewise.
10141 (grub_linux16_prot_size): Likewise.
10142 (grub_linux16_boot): Use relocator.
10143 (grub_linux_unload): Unload relocator.
10144 (grub_cmd_linux): Use relocator.
10145 (grub_cmd_initrd): Likewise.
10146 * grub-core/loader/i386/pc/ntldr.c: New file.
10147 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
10148 Don't try to guess CPU frequency.
10149 (grub_xnu_set_video): Stretch bitmap.
10150 (grub_xnu_boot): Use relocator.
10151 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
10152 (grub_linux_unload): Free relocator.
10153 (grub_linux_load32): Use relocator.
10154 (grub_linux_load64): Likewise.
10155 (grub_cmd_initrd): Likewise.
10156 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
10157 (grub_multiboot_unload): Unload relocator.
10158 (grub_cmd_multiboot): Use relocator.
10159 (grub_cmd_module): Likewise.
10160 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
10161 Use relocator and support sections.
10162 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
10163 (elf_sec_entsize): Likewise.
10164 (elf_sec_shstrndx): Likewise.
10165 (elf_sections): Likewise.
10166 (grub_multiboot_load): Use relocator.
10167 (grub_multiboot_get_mbi_size): Account for sections.
10168 (grub_multiboot_make_mbi): Use relocator and support sections.
10169 (grub_multiboot_add_elfsyms): New function.
10170 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
10171 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
10172 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
10173 Prototype changed. All users updated.
10174 (grub_xnu_align_heap): Simplified.
10175 (grub_xnu_writetree_toheap): Likewise.
10176 (grub_xnu_unload): Unload relocator.
10177 (grub_cmd_xnu_kernel): Use relocator.
10178 (grub_cmd_xnu_kernel64): Likewise.
10179 (grub_xnu_register_memory): Simplified.
10180 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
10181 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
10182 EFI is finished.
10183 (grub_console_checkkey): Likewise.
10184 (grub_console_getkey): Likewise.
10185 (grub_console_getwh): Likewise.
10186 (grub_console_getxy): Likewise.
10187 (grub_console_gotoxy): Likewise.
10188 (grub_console_cls): Likewise.
10189 (grub_console_setcolorstate): Likewise.
10190 (grub_console_setcursor): Likewise.
10191 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
10192 * grub-core/tests/boot/kbsd.init-i386.S: New file.
10193 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
10194 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
10195 * grub-core/tests/boot/kernel-8086.S: Likewise.
10196 * grub-core/tests/boot/kernel-i386.S: Likewise.
10197 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
10198 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
10199 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
10200 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
10201 * grub-core/tests/boot/knetbsd.cfg: Likewise.
10202 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
10203 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
10204 * grub-core/tests/boot/linux.cfg: Likewise.
10205 * grub-core/tests/boot/linux.init-i386.S: Likewise.
10206 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
10207 * grub-core/tests/boot/linux16.cfg: Likewise.
10208 * grub-core/tests/boot/multiboot.cfg: Likewise.
10209 * grub-core/tests/boot/multiboot2.cfg: Likewise.
10210 * grub-core/tests/boot/ntldr.cfg: Likewise.
10211 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
10212 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
10213 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
10214 New definition.
10215 * include/grub/dl.h (grub_dl_unload_all): Removed.
10216 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
10217 (grub_efi_finish_boot_services): Change prototype.
10218 (grub_efi_is_finished): New variable.
10219 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
10220 Changed prototype.
10221 (grub_efiemu_finish_boot_services): Removed.
10222 (grub_machine_efiemu_init_tables): New prototype.
10223 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
10224 (grub_elf64_phdr_iterate): Likewise.
10225 * include/grub/i386/bsd.h: Include relocator.h.
10226 (freebsd_tag_header): New struct.
10227 (grub_openbsd_bios_mmap): Removed.
10228 (grub_unix_real_boot): Removed.
10229 (grub_freebsd_load_elfmodule32): Changed prototype.
10230 (grub_freebsd_load_elfmodule_obj64): Likewise.
10231 (grub_freebsd_load_elf_meta32): Likewise.
10232 (grub_freebsd_load_elf_meta64): Likewise.
10233 (grub_freebsd_add_meta): Removed.
10234 (grub_netbsd_load_elf_meta32): New prototype.
10235 (grub_netbsd_load_elf_meta64): Likewise.
10236 (grub_bsd_add_meta): Likewise.
10237 (grub_openbsd_ramdisk_descriptor): New struct.
10238 (grub_openbsd_find_ramdisk32): New prototype.
10239 (grub_openbsd_find_ramdisk64): Likewise.
10240 * include/grub/i386/coreboot/loader.h: Removed.
10241 * include/grub/i386/efi/loader.h: Likewise.
10242 * include/grub/i386/ieee1275/loader.h: Likewise.
10243 * include/grub/i386/linux.h (linux_kernel_header): Change void *
10244 to grub_uint32_t.
10245 * include/grub/i386/loader.h: Removed.
10246 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
10247 value.
10248 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
10249 (grub_phys_addr_t): New type.
10250 (grub_vtop): New inline function.
10251 (grub_map_memory): Likewise.
10252 (grub_unmap_memory): Likewise.
10253 * include/grub/i386/multiboot/loader.h: Removed.
10254 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
10255 (NETBSD_BTINFO_CONSOLE): New definition.
10256 (NETBSD_BTINFO_SYMTAB): Likewise.
10257 (NETBSD_BTINFO_MODULES): Likewise.
10258 (NETBSD_BTINFO_FRAMEBUF): Likewise.
10259 (grub_netbsd_bootinfo): New struct.
10260 (grub_netbsd_btinfo_common): Use explicit bitsize.
10261 (grub_netbsd_btinfo_mmap_entry): Removed.
10262 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
10263 (grub_netbsd_btinfo_bootdisk): New struct.
10264 (grub_netbsd_btinfo_symtab): Likewise.
10265 (grub_netbsd_btinfo_serial): Likewise.
10266 (grub_netbsd_btinfo_modules): Likewise.
10267 (grub_netbsd_btinfo_framebuf): Likewise.
10268 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
10269 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
10270 Likewise.
10271 (grub_openbsd_bootargs): Use explicit bitsize.
10272 (grub_openbsd_bootarg_console): New struct.
10273 (GRUB_OPENBSD_COM_MAJOR): New definition.
10274 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
10275 * include/grub/i386/pc/efiemu.h: Removed.
10276 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
10277 * include/grub/i386/qemu/loader.h: Removed.
10278 * include/grub/i386/relocator.h: Rewritten.
10279 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
10280 * include/grub/mips/memory.h: New file.
10281 * include/grub/mips/multiboot.h: Rewritten.
10282 * include/grub/mips/relocator.h: Rewritten.
10283 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
10284 (grub_vtop): New function.
10285 (grub_map_memory): Likewise.
10286 (grub_unmap_memory): Likewise.
10287 * include/grub/misc.h (ALIGN_DOWN): New definition.
10288 * include/grub/mm.h (grub_mm_check_real): New proto.
10289 (GRUB_MM_CHECK): New definition.
10290 * include/grub/mm_private.h: New file.
10291 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
10292 (grub_multiboot_get_mbi_size): Removed.
10293 (grub_multiboot_make_mbi): Change prottype.
10294 (grub_multiboot_set_accepts_video): New proto.
10295 (grub_multiboot_add_elfsyms): Likewise.
10296 (grub_multiboot_payload_eip): New variable.
10297 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
10298 New prototype.
10299 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
10300 New definition.
10301 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
10302 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
10303 * include/grub/powerpc/ieee1275/loader.h: Removed.
10304 * include/grub/powerpc/memory.h: New file.
10305 * include/grub/powerpc/relocator.h: Likewise.
10306 * include/grub/relocator.h: Likewise.
10307 * include/grub/relocator_private.h: Likewise.
10308 * include/grub/sparc64/ieee1275/loader.h: Removed.
10309 * include/grub/x86_64/memory.h: New file.
10310 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
10311 (grub_xnu_heap_malloc): Likewise.
10312 (grub_xnu_heap_real_start): Removed.
10313 (grub_xnu_heap_start): Likewise.
10314 (grub_xnu_relocator): New variable.
10315 (grub_xnu_heap_target_start): Likewise.
10316 * tests/util/grub-shell.in: Support non-pc.
10317 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 10318
5303b85d
VS
103192010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10320
10321 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
10322 on malloc error.
10323 (grub_bidi_logical_to_visual): Check that malloc succeded.
10324 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
10325 puts.
10326 (grub_xputs_normal): Likewise.
10327
d768d159
VS
103282010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10329
10330 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
10331 extra_dist.
10332
103332010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10334
10335 * grub-core/efiemu/runtime/efiemu.sh: Removed.
10336
5bf84df4
VS
103372010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10338
10339 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
10340
3626810e
VS
103412010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10342
10343 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
10344 dprintf.
10345
a7363f53
BC
103462010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
10347
10348 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
10349
902f75f6
VS
103502010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10351
10352 * grub-core/normal/term.c (print_more): Fix a memory leak.
10353 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
10354 (grub_xputs_normal): Likewise.
10355
3c707967
VS
103562010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10357
10358 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
10359 the begining of the string
10360
2053cc07
VS
103612010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10362
10363 * grub-core/script/script.c (grub_script_parse): Free parsed on
10364 failure.
10365
46422ebf
VS
103662010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10367
10368 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
10369 on failure.
10370
9e0fa3f6
VS
103712010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10372
10373 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
10374 return.
10375
3393cf16
VS
103762010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10377
10378 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
10379 (scroll_up): Fix a memory leak.
10380
b17540cb
VS
103812010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10382
10383 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
10384 errors.
10385
67140446
VS
103862010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
10387
10388 Handle USB pendrives exposed as floppies.
10389
10390 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
10391 floppy.
10392 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
10393 Check for partitions on all devices.
10394
e35e46fc
VS
103952010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
10396
10397 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
10398 (readkey): Likewise.
10399
d24c6190
BC
104002010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
10401
10402 Multiple variable names support to "export" command.
10403
10404 * normal/context.c (grub_cmd_export): "export" command supports
10405 multiple variable names.
10406
04ddcc6a
ST
104072010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
10408
10409 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
10410 --target=drive output to Mach device name.
10411
0c8b61d8
BC
104122010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
10413
10414 New Automake based build system for GRUB.
10415
10416 * ABOUT-NLS: New file.
10417 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
10418 in Makefile.util.def file.
10419 * Makefile.util.def: New file. Autogen build definitions file for
10420 GRUB host utils.
10421 * conf/Makefile.common: New file. Common variables for GRUB host
10422 utils and target modules.
10423 * conf/Makefile.extra-dist: New file. Extra files for make dist.
10424 * docs/Makefile.am: New file. Automake file for docs.
10425 * gentpl.py: New file. Python script to generate Autogen
10426 template.
10427 * grub-core/Makefile.am: New file. GRUB target modules' rules
10428 that doesn't fit in Makefile.core.def file.
10429 * grub-core/Makefile.core.def: New file. Autogen build
10430 definitions file for GRUB target modules.
10431 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
10432 specific setjmp.S file.
10433 * po/Makefile.am: New file.
10434
10435 * .bzrignore: New ignores.
10436 * INSTALL: New requirements, without Ruby.
10437 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
10438 * autogen.sh: Updated to invoke autogen as necessary.
10439 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
10440 and defines for Automake conditionals.
10441 * geninit.sh: Refactoring.
10442
10443 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
10444 necessary.
10445 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
10446 New prototype.
10447
10448 * include/grub/test.h: Fix functional test modules' naming.
10449 * grub-core/tests/example_functional_test.c: Fix test module name.
10450
10451 * util/misc.c: Hosted versions' of grub functions for libgrub.a
10452 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
10453 * util/grub-editenv.c: Likewise.
10454 * util/grub-fstest.c: Likewise.
10455 * util/grub-mkdevicemap.c: Likewise.
10456 * util/grub-mkfont.c: Likewise.
10457 * util/grub-mkimage.c: Likewise.
10458 * util/grub-mkpasswd-pbkdf2.c: Likewise.
10459 * util/grub-probe.c: Likewise.
10460 * util/grub-script-check.c: Likewise.
10461 * util/i386/pc/grub-setup.c: Likewise.
10462 * util/sparc64/ieee1275/grub-setup.c: Likewise.
10463
10464 * tests/util/grub-shell.in: Fix override directory path.
10465 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
10466 * util/import_gcry.py: Create Makefile.gcry.def file instead.
10467
10468 * util/lvm.c: Update #includes.
10469 * util/raid.c: Likewise.
10470 * util/resolve.c: Likewise.
10471 * grub-core/bus/emu/pci.c: Likewise.
10472 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
10473 * grub-core/lib/posix_wrap/string.h: Likewise.
10474 * grub-core/kern/emu/main.c: Likewise.
10475
10476 * grub-core/gensymlist.sh: New file. Script for generating kernel
10477 symbols file.
10478 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
10479
10480 * grub-core/gentrigtables.c: Fix unused variable warnings.
10481
10482 * Makefile.in: Removed.
10483 * conf/any-emu.rmk: Removed.
10484 * conf/common.rmk: Removed.
10485 * conf/i386-coreboot.rmk: Removed.
10486 * conf/i386-efi.rmk: Removed.
10487 * conf/i386-ieee1275.rmk: Removed.
10488 * conf/i386-multiboot.rmk: Removed.
10489 * conf/i386-pc.rmk: Removed.
10490 * conf/i386-qemu.rmk: Removed.
10491 * conf/i386.rmk: Removed.
10492 * conf/mips-yeeloong.rmk: Removed.
10493 * conf/mips.rmk: Removed.
10494 * conf/powerpc-ieee1275.rmk: Removed.
10495 * conf/sparc64-ieee1275.rmk: Removed.
10496 * conf/tests.rmk: Removed.
10497 * conf/x86-efi.rmk: Removed.
10498 * conf/x86_64-efi.rmk: Removed.
10499 * gendistlist.sh: Removed.
10500 * geninitheader.sh: Removed.
10501 * genkernsyms.sh.in: Removed.
10502 * genmk.rb: Removed.
10503 * gensymlist.sh.in: Removed.
10504 * mkinstalldirs: Removed.
10505 * boot: Moved ...
10506 * grub-core/boot: ... to here.
10507 * bus: Moved ...
10508 * grub-core/bus: ... to here.
10509 * commands: Moved ...
10510 * grub-core/commands: ... to here.
10511 * disk: Moved ...
10512 * grub-core/disk: ... to here.
10513 * efiemu: Moved ...
10514 * grub-core/efiemu: ... to here.
10515 * font: Moved ...
10516 * grub-core/font: ... to here.
10517 * fs: Moved ...
10518 * grub-core/fs: ... to here.
10519 * gencmdlist.sh: Moved ...
10520 * grub-core/gencmdlist.sh: ... to here.
10521 * genemuinit.sh: Moved ...
10522 * grub-core/genemuinit.sh: ... to here.
10523 * genemuinitheader.sh: Moved ...
10524 * grub-core/genemuinitheader.sh: ... to here.
10525 * genfslist.sh: Moved ...
10526 * grub-core/genfslist.sh: ... to here.
10527 * genhandlerlist.sh: Moved ...
10528 * grub-core/genhandlerlist.sh: ... to here.
10529 * genmoddep.awk: Moved ...
10530 * grub-core/genmoddep.awk: ... to here.
10531 * genmodsrc.sh: Moved ...
10532 * grub-core/genmodsrc.sh: ... to here.
10533 * genpartmaplist.sh: Moved ...
10534 * grub-core/genpartmaplist.sh: ... to here.
10535 * genparttoollist.sh: Moved ...
10536 * grub-core/genparttoollist.sh: ... to here.
10537 * genterminallist.sh: Moved ...
10538 * grub-core/genterminallist.sh: ... to here.
10539 * gentrigtables.c: Moved ...
10540 * grub-core/gentrigtables.c: ... to here.
10541 * genvideolist.sh: Moved ...
10542 * grub-core/genvideolist.sh: ... to here.
10543 * gettext: Moved ...
10544 * grub-core/gettext: ... to here.
10545 * gfxmenu: Moved ...
10546 * grub-core/gfxmenu: ... to here.
10547 * gnulib: Moved ...
10548 * grub-core/gnulib: ... to here.
10549 * hello: Moved ...
10550 * grub-core/hello: ... to here.
10551 * hook: Moved ...
10552 * grub-core/hook: ... to here.
10553 * io: Moved ...
10554 * grub-core/io: ... to here.
10555 * kern: Moved ...
10556 * grub-core/kern: ... to here.
10557 * lib: Moved ...
10558 * grub-core/lib: ... to here.
10559 * loader: Moved ...
10560 * grub-core/loader: ... to here.
10561 * mmap: Moved ...
10562 * grub-core/mmap: ... to here.
10563 * normal: Moved ...
10564 * grub-core/normal: ... to here.
10565 * partmap: Moved ...
10566 * grub-core/partmap: ... to here.
10567 * parttool: Moved ...
10568 * grub-core/parttool: ... to here.
10569 * script: Moved ...
10570 * grub-core/script: ... to here.
10571 * term: Moved ...
10572 * grub-core/term: ... to here
10573 * tests/example_functional_test.c: Moved ...
10574 * grub-core/tests/example_functional_test.c: ... to here.
10575 * tests/lib/functional_test.c: Moved ...
10576 * grub-core/tests/lib/functional_test.c: ... to here.
10577 * tests/lib/test.c: Moved ...
10578 * grub-core/tests/lib/test.c: ... to here.
10579 * video: Moved ...
10580 * grub-core/video: ... to here.
10581
645586e6
BC
105822010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
10583
10584 Replace --enable-grub-emu-modules with grub-emu-lite.
10585
10586 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
10587 cache.S.
10588
10589 * include/grub/emu/misc.h (grub_emu_init): New prototype.
10590 * kern/emu/full.c: New file. For grub-emu specific initialization.
10591 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
10592 * kern/emu/main.c: Call initialization function grub_emu_init.
10593
10594 * Makefile.in: Include grub-emu-lite in install.
10595 * commands/parttool.c: Use grub_no_autoload to differentiate
10596 between grub-emu and grub-emu-lite.
10597 * include/grub/misc.h: New variable grub_no_autoload.
10598
10599 * conf/any-emu.rmk: New rules for grub-emu-lite.
10600 * configure.ac: Remove --enable-grub-emu-modules.
10601 * genmk.rb: Cleanup unnecessary rules.
10602 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
10603
10604 * normal/main.c: Don't load list files on grub-emu-lite.
10605 * util/misc.c (grub_arch_sync_caches): Removed.
10606
f86a4030
CW
106072010-08-23 Colin Watson <cjwatson@ubuntu.com>
10608
10609 * kern/mips/startup.S (grub_prefix): Update comment to refer to
10610 grub-mkimage rather than grub-mkelfimage.
10611 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
10612
06776944
VS
106132010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
10614
10615 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
10616 a key after CapsLock or NumLock. It's just a qemu bug.
10617
df262419
VS
106182010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
10619
10620 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
10621 needed by libusb wrapper.
10622
b40ea81b
ST
106232010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
10624
10625 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
10626
dee50575
VS
106272010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
10628
10629 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
10630 --nounzip is passed.
10631
fb1d7b79
VS
106322010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
10633
10634 USB hotunplugging and USB serial support.
10635
10636 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
10637 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
10638 (grub_uhci_transfer): Respect timeout and set *actual.
10639 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
10640 non-standard length.
10641 (grub_usb_device_attach): Autoload modules.
10642 (GRUB_MOD_INIT): Set grub_term_poll_usb.
10643 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
10644 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
10645 users updated.
10646 (grub_usb_add_hub): Fill nports and children.
10647 (attach_root_port): Receive hub instead of controller.
10648 All users updated. Fill hub->devices.
10649 (grub_usb_root_hub): Allocate hub->devices.
10650 (detach_device): New function.
10651 (poll_nonroot_hub): Fill children and detach devices.
10652 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
10653 actual arguments. All users updated.
10654 (grub_usb_bulk_read_extended): New function.
10655 * bus/usb/serial/common.c: New file.
10656 * bus/usb/serial/ftdi.c: Likewise.
10657 * bus/usb/serial/pl2303.c: Likewise.
10658 * commands/terminal.c (handle_command): Support wildcard.
10659 * commands/usbtest.c: Output "Unknown" instead of empty string.
10660 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
10661 (usbserial_common_mod_SOURCES): New variable.
10662 (usbserial_common_mod_CFLAGS): Likewise.
10663 (usbserial_common_mod_LDFLAGS): Likewise.
10664 (pkglib_MODULES): Add usbserial_pl2303.mod.
10665 (usbserial_pl2303_mod_SOURCES): New variable.
10666 (usbserial_pl2303_mod_CFLAGS): Likewise.
10667 (usbserial_pl2303_mod_LDFLAGS): Likewise.
10668 (pkglib_MODULES): Add usbserial_ftdi.mod.
10669 (usbserial_ftdi_mod_SOURCES): New variable.
10670 (usbserial_ftdi_mod_CFLAGS): Likewise.
10671 (usbserial_ftdi_mod_LDFLAGS): Likewise.
10672 (pkglib_MODULES): Add serial.mod.
10673 (serial_mod_SOURCES): New variable.
10674 (serial_mod_CFLAGS): Likewise.
10675 (serial_mod_LDFLAGS): Likewise.
10676 * conf/i386-pc.rmk: Likewise.
10677 * conf/mips-yeeloong.rmk: Likewise.
10678 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
10679 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
10680 * disk/usbms.c (first_available_slot): New variable.
10681 (grub_usbms_attach): Don't reuse free slots due to potential cache
10682 problems.
10683 * include/grub/serial.h: Moved to ..
10684 * include/grub/ns8250.h: ...this.
10685 * include/grub/serial.h: New file.
10686 * include/grub/term.h (grub_term_poll_usb): New variable.
10687 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
10688 readkey. All users updated.
10689 (grub_terminfo_output_state): Pass term to put.
10690 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
10691 (grub_usb_controller_dev): Add timeout and actual arguments to
10692 transfer. All users updated.
10693 (grub_usb_interface): New field detach_data.
10694 (grub_usb_device): New fields children and nports.
10695 (grub_usb_ep_type_t): New type.
10696 (grub_usb_get_ep_type): New function.
10697 (grub_usb_bulk_read_extended): Likewise.
10698 * include/grub/usbdesc.h (grub_usb_desc): New type.
10699 * include/grub/usbserial.h: New file.
10700 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
10701 * kern/term.c (grub_term_poll_usb): New variable.
10702 (grub_getkey): Call grub_term_poll_usb if set.
10703 (grub_checkkey): Likewise.
10704 (grub_getkeystatus): Likewise.
10705 * term/serial.c: Moved controller-specific parts to ...
10706 * term/ns8250.c: ... here.
10707 * term/serial.c: Mostly rewritten.
10708 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
10709 according to spec.
10710
21a313de
RM
107112010-08-20 Robert Millan <rmh@gnu.org>
10712
10713 Make kFreeBSD code more generic to support ext2fs as root, ufs as
10714 a separate module and maybe other interesting combinations.
10715
10716 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
10717 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
10718 (kfreebsd_entry): Add generic filesystem module load routine.
10719 Map GRUB `ext2' to kFreeBSD `ext2fs'.
10720
63c734a6
CW
107212010-08-20 Colin Watson <cjwatson@ubuntu.com>
10722
10723 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
10724 "numcenter" (I misunderstood the purpose of this entry).
10725 * docs/grub.texi (sendkey): Likewise.
10726
c4d16542
CW
107272010-08-20 Colin Watson <cjwatson@ubuntu.com>
10728
10729 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
10730 status flag options; simply omitting the option is equivalent and
10731 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
10732 (keysym_table): Rename "num5numlock" to "numlock".
10733 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
10734 can uniformly say that only the last of multiple `sendkey'
10735 invocations has any effect.
10736 * docs/grub.texi (sendkey): New section.
10737
93541d66
CW
107382010-08-19 Colin Watson <cjwatson@ubuntu.com>
10739
10740 * commands/i386/pc/sendkey.c (options): Fix three typos.
10741
b4ece5e1
VS
107422010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10743
10744 Implement sendkey support.
10745
10746 * commands/i386/pc/sendkey.c: New file.
10747 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
10748 (sendkey_mod_SOURCES): New variable.
10749 (sendkey_mod_CFLAGS): Likewise.
10750 (sendkey_mod_LDFLAGS): Likewise.
10751
51f1f5af
CW
107522010-08-18 Colin Watson <cjwatson@ubuntu.com>
10753
10754 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
10755 fix warnings from Autoconf.
10756
9da94e05
CW
107572010-08-18 Colin Watson <cjwatson@ubuntu.com>
10758
10759 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
10760 to avoid false positives with some assemblers that output things
10761 like "someprefix_func" as part of their output.
10762
729a0f2e
RM
107632010-08-15 Robert Millan <rmh@gnu.org>
10764
10765 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
10766 errors.
10767 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
10768 grub_get_libzfs_handle() errors.
10769
f3710e08
RM
107702010-08-14 Robert Millan <rmh@gnu.org>
10771
10772 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
10773 filesystem is not ZFS.
10774
7a3c13de
BC
107752010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
10776
10777 Fix for misspelled color names defaulting to black/black (bug
10778 reported by Doug Nazar)
10779
10780 * include/grub/normal.h (grub_parse_color_name_pair): Add return
10781 status to prototype.
10782 * normal/color.c (grub_parse_color_name_pair): Return failure
10783 status.
10784 (grub_env_write_color_normal): Ignore bad color names.
10785 (grub_env_write_color_highlight): Likewise.
10786 * normal/main.c (GRUB_MOD_INIT): Set default color names.
10787
ab8ba50d
BC
107882010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
10789
10790 "shift" command support to GRUB script.
10791
10792 * include/grub/script_sh.h (grub_script_shift): New prototype.
10793 * script/execute.c (grub_script_shift): New function.
10794 * script/main.c (grub_script_init): Register shift command.
10795 (grub_script_fini): Unregister shift command.
10796 * util/grub-script-check.c (grub_script_cmd_shift): New function.
10797
10798 * tests/grub_script_shift.in: New testcase.
10799 * conf/tests.rmk: Rules for new testcase.
10800
4d61999e
BC
108012010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
10802
10803 "continue" command support to GRUB script.
10804
10805 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
10806 (grub_script_break): Continue support.
10807 * script/main.c (grub_script_init): Register continue command.
10808 (grub_script_fini): Unregister continue command.
10809
10810 * tests/grub_script_continue.in: New testcase.
10811 * conf/tests.rmk: Rules for new testcase.
10812
4df51e00
BC
108132010-08-12 BVK Chaitanya <bvk@dbook>
10814
10815 "break" command support to GRUB script.
10816
10817 * conf/common.rmk: Rule updates to grub-script-check.
10818 * include/grub/misc.h (grub_min): New function.
10819 * include/grub/script_sh.h (grub_script_init): New prototype.
10820 (grub_script_fini): New prototype.
10821 (grub_script_break): New prototype.
10822 * script/main.c (grub_script_init): New function.
10823 (grub_script_fini): New function.
10824 * script/execute.c (grub_script_break): New function.
10825 * normal/main.c: Calls to grub_script_{init,fini}.
10826 * util/grub-script-check.c (grub_script_break): New function.
10827
10828 * tests/grub_script_break.in: New testcase.
10829 * conf/tests.rmk: Rules for new test case.
10830
f12c8420
BC
108312010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
10832
10833 Function parameters support to GRUB script.
10834
10835 * script/yylex.l (VARIABLE): Regular expression update.
10836 * script/function.c (grub_script_function_call): Moved ...
10837 * script/execute.c (grub_script_function_call): ... to here.
10838 (grub_script_execute_arglist_to_argv): Removed.
10839 (grub_script_arglist_to_argv): New function.
10840 * script/argv.c: New file.
10841 (grub_script_argv_free): New function.
10842 (grub_script_argv_next): Likewise.
10843 (grub_script_argv_append): Likewise.
10844 (grub_script_argv_split_append): Likewise.
10845 * include/grub/script_sh.h (grub_script_argv): New struct.
10846 (grub_script_argv_free): New function.
10847 (grub_script_argv_next): Likewise.
10848 (grub_script_argv_append): Likewise.
10849 (grub_script_argv_split_append): Likewise.
10850
10851 * conf/common.rmk (normal.mod): New source script/argv.c.
10852
10853 * tests/grub_script_echo1.in: More tests.
10854 * tests/grub_script_vars1.in: Likewise.
10855 * tests/grub_script_functions.in: New test case.
10856 * conf/tests.rmk: Rules for new testcase.
10857
8022b748
BC
108582010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
10859
10860 Remove grub_script_cmdblock struct.
10861
10862 * include/grub/script_sh.h: Remove grub_script_cmdblock.
10863 * script/parser.y: Likewise.
10864 * script/execute.c: Rename cmdblock suffix to cmdlist.
10865 * script/script.c: Likewise.
10866 * util/grub-script-check.c: Likewise.
10867
79a6ba61
YB
108682010-08-11 Yves Blusseau <blusseau@zetam.org>
10869
10870 * .bzrignore: add grub-macho2img
10871
d04b9414
VS
108722010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
10873
10874 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
10875
f947ab49
VS
108762010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
10877
10878 Remove the dump of sm712 initialisation sequence.
10879
10880 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
10881 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
10882 (GRUB_VGA_IO_MISC_WRITE): Likewise.
10883 (GRUB_VGA_CR_*): Added many registers.
10884 (GRUB_VGA_SR_*): Likewise.
10885 (GRUB_VGA_GR_*): Likewise.
10886 (grub_vga_write_arx): New function.
10887 (grub_video_hw_config): New struct.
10888 (grub_vga_set_geometry): New function.
10889 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
10890 GRUB_PCI_CLASS_SUBCLASS_VGA.
10891 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
10892 * video/sm712.c (grub_sm712_write_reg): New function
10893 (grub_sm712_read_reg): Likewise.
10894 (grub_sm712_sr_write): Likewise.
10895 (grub_sm712_gr_write): Likewise.
10896 (grub_sm712_cr_write): Likewise.
10897 (grub_sm712_write_arx): Likewise.
10898 (grub_sm712_cr_shadow_write): Likewise.
10899 (grub_sm712_write_dda_lookup): Likewise.
10900 (grub_video_sm712_setup): Initialise the video rather then
10901 blindly replay the dump.
10902 (main) [TEST]: Add a routine to be able to compile as standalone for
10903 tests.
10904 * video/sm712_init.c (sm712_init): Removed.
10905 (sm712_sr_seq1): New array.
10906 (sm712_sr_seq2): Likewise.
10907
f0206638
VS
109082010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
10909
10910 * include/grub/vga.h: Add missing grub/pci.h include.
10911
2764da3b
YB
109122010-08-10 Yves Blusseau <blusseau@zetam.org>
10913
10914 * util/grub-macho2img.c (main): fix typo
10915
cf0c775e
VS
109162010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
10917
10918 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
10919 (grub_vga_gr_read): Likewise.
10920 (grub_vga_cr_write): Likewise.
10921 (grub_vga_cr_read): Likewise.
10922 (grub_vga_sr_write): Likewise.
10923 (grub_vga_sr_read): Likewise.
10924 (grub_vga_palette_read): Likewise.
10925 (grub_vga_palette_write): Likewise.
10926 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
10927 (grub_sm712_sr_read): New function.
10928 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
10929 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
10930
07f360e9
RM
109312010-08-09 Robert Millan <rmh@gnu.org>
10932
10933 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
10934 out unused variables on non-ZFS build.
10935
346c2072
RM
109362010-08-08 Robert Millan <rmh@gnu.org>
10937
10938 Fix path generation for sub-filesystems in ZFS.
10939
10940 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
10941 missing slash.
10942
71175420
RM
109432010-08-08 Robert Millan <rmh@gnu.org>
10944
10945 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
10946
0d8286f3
RM
109472010-08-08 Robert Millan <rmh@gnu.org>
10948
10949 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
10950 exist, issue a proper error message (rely on `ls' for translated
10951 strings).
10952
55dd2924
RM
109532010-08-08 Robert Millan <rmh@gnu.org>
10954
10955 Fix grub-probe invocation.
10956
10957 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
10958
d3dd9e80
RM
109592010-08-04 Robert Millan <rmh@gnu.org>
10960
10961 * configure.ac: Remove checks for getfsstat() and getmntany().
10962 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
10963 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
10964 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
10965 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
10966 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
10967 function.
10968 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
10969 via find_mount_point_from_dir() and getfsstat() / getmntany().
10970
0de22aa9
RM
109712010-08-04 Robert Millan <rmh@gnu.org>
10972
10973 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
10974 (grub_find_zpool_from_mount_point): Merge into ...
10975 (grub_find_zpool_from_dir): ... this.
10976 * kern/emu/misc.c: Likewise.
10977
10978 * kern/emu/misc.c
10979 (grub_make_system_path_relative_to_its_root): Replace
10980 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
10981 with grub_find_zpool_from_dir().
10982 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
10983
62858144
RM
109842010-08-04 Robert Millan <rmh@gnu.org>
10985
10986 Support OpenSolaris in ZFS device resolution.
10987
10988 * configure.ac: Check for getmntany().
10989 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
10990 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
10991 support.
10992
9dd6fd50
RM
109932010-08-03 Robert Millan <rmh@gnu.org>
10994
10995 Fix grub-emu build.
10996
10997 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
10998 * include/grub/emu/misc.h: ... here.
10999
11000 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
11001 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
11002
11003 * util/misc.c: Remove `<grub/util/libzfs.h>'.
11004 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
11005 (grub_get_libzfs_handle): Move to ...
11006 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
11007 (grub_get_libzfs_handle): ... here.
11008
c9f7ff97
BC
110092010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
11010
11011 * script/execute.c (grub_script_execute_cmdline): Check for NULL
11012 as command name case.
11013
a870a783
CW
110142010-08-02 Colin Watson <cjwatson@ubuntu.com>
11015
11016 * disk/raid.c (insert_array): Select unique numbers for named arrays
11017 as well, for use as keys in the disk cache.
11018
c7db243b
RM
110192010-08-01 Robert Millan <rmh@gnu.org>
11020
11021 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
11022 kFreeBSD device name, except on ZFS where the filesystem label is
11023 used.
11024 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
11025 `/boot/zfs/zpool.cache'.
11026 Set mountfrom kernel variable using ${kfreebsd_device}.
11027
f7abdefb
RM
110282010-08-01 Robert Millan <rmh@gnu.org>
11029
11030 Make it even harder to use uninitialized `libzfs_handle' (and
11031 make the interface a bit simpler).
11032
11033 * include/grub/util/misc.h (grub_util_init_libzfs)
11034 (libzfs_handle): Remove.
11035 (grub_get_libzfs_handle): New prototype.
11036
11037 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
11038 attribute.
11039 (grub_util_init_libzfs): Remove.
11040 (grub_get_libzfs_handle): New function.
11041
11042 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
11043 grub_get_libzfs_handle() to obtain a libzfs handle instead of
11044 accessing `libzfs_handle' directly.
11045
c882acc0
RM
110462010-08-01 Robert Millan <rmh@gnu.org>
11047
11048 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
11049 (grub_find_zpool_from_mount_point): New function prototypes.
11050
11051 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
11052 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
11053
11054 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
11055 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
11056 `static' attribute.
11057
11058 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
11059 finding zpool from mount point into ...
11060 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
11061
11062 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
11063 requested path is part of a ZFS pool, use
11064 grub_find_zpool_from_mount_point() to detect its filesystem name,
11065 and generate a path with `/fsname@path' syntax.
11066
8bfe31d8
CW
110672010-08-01 Colin Watson <cjwatson@ubuntu.com>
11068
11069 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
11070 (void) rather than () so that this is a proper prototype.
11071
553df63d
VS
110722010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
11073
11074 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
11075
8687cf07
VS
110762010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
11077
11078 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
11079 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
11080
ea9be8ea
CW
110812010-08-01 Colin Watson <cjwatson@ubuntu.com>
11082
11083 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
11084
6eea041a
CW
110852010-08-01 Colin Watson <cjwatson@ubuntu.com>
11086
11087 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
11088
2cfb45df
CW
110892010-08-01 Colin Watson <cjwatson@ubuntu.com>
11090
11091 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
11092 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
11093 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
11094 disable gfxpayload.
11095 (Shell-like scripting): Add real content.
11096 (Serial terminal): Suggest `terminal_input serial; terminal_output
11097 serial' rather than putting the two commands on separate lines,
11098 since console input will be inoperative after the first command.
11099 (menuentry): Document --class, --users, and --hotkey options.
11100 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
11101 Vladimir Serbinenko).
11102
7decd202
VS
111032010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
111042010-08-01 Colin Watson <cjwatson@ubuntu.com>
11105
11106 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
11107
c882acc0
RM
111082010-08-01 Robert Millan <rmh@gnu.org>
11109
11110 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
11111 (grub_find_zpool_from_mount_point): New function prototypes.
11112
11113 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
11114 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
11115
11116 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
11117 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
11118 `static' attribute.
11119
11120 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
11121 finding zpool from mount point into ...
11122 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
11123
11124 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
11125 requested path is part of a ZFS pool, use
11126 grub_find_zpool_from_mount_point() to detect its filesystem name,
11127 and generate a path with `/fsname@path' syntax.
11128
deb0caa3
RM
111292010-08-01 Robert Millan <rmh@gnu.org>
11130
11131 Prevent accidental use of uninitialized libzfs_handle.
11132
11133 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
11134 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
11135 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
11136
ce04ef47
CW
111372010-08-01 Colin Watson <cjwatson@ubuntu.com>
11138
11139 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
11140 util/grub.d/10_linux.in). Fixes Debian bug #591093.
11141
ebf53056
RM
111422010-08-01 Robert Millan <rmh@gnu.org>
11143
11144 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 11145
3710bb6b
RM
111462010-07-31 Robert Millan <rmh@gnu.org>
11147
11148 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
11149
8072efeb
RM
111502010-07-31 Robert Millan <rmh@gnu.org>
11151
11152 * kern/emu/misc.c: Add missing license header.
11153
3169f4c7
RM
111542010-07-31 Robert Millan <rmh@gnu.org>
11155
11156 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
11157
11158 * include/grub/util/libnvpair.h: Include `<config.h>'.
11159 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
11160 declaring libnvpair prototypes ourselves.
11161 * include/grub/util/libzfs.h: Include `<config.h>'.
11162 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
11163 declaring libzfs prototypes ourselves.
11164
11165 (libzfs_handle): Moved to ...
11166 * include/grub/util/misc.h (libzfs_handle): ... here.
11167 Include `<grub/util/libzfs.h>'.
11168
c9a00aee
RM
111692010-07-30 Robert Millan <rmh@gnu.org>
11170
11171 * include/grub/emu/misc.h: Add missing license header.
11172
a184f9c8
RM
111732010-07-30 Robert Millan <rmh@gnu.org>
11174
11175 Enable `grub-probe -t device' resolution on ZFS.
11176
11177 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
11178 * include/grub/util/libnvpair.h: New file.
11179 * include/grub/util/libzfs.h: New file.
11180
11181 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
11182 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
11183 `<grub/util/libnvpair.h>'.
11184 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
11185
11186 (find_mount_point_from_dir): New static function.
11187 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
11188 function.
11189 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
11190 find_root_device_from_libzfs() before ressorting to find_root_device().
11191
11192 * include/grub/util/misc.h (grub_util_init_libzfs): New function
11193 prototype.
11194 * util/misc.c: Include `<grub/util/libzfs.h>'.
11195 (grub_util_init_libzfs): New function.
11196 [HAVE_LIBZFS] (libzfs_handle): New global variable.
11197 [HAVE_LIBZFS] (fini_libzfs): New static function.
11198 (grub_util_init_libzfs): New function.
11199 * util/grub-probe.c (main): Call grub_util_init_libzfs().
11200
f7790cdd
RM
112012010-07-30 Robert Millan <rmh@gnu.org>
11202
11203 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
11204 (xmalloc, xrealloc, xstrdup, xasprintf): Add
11205 `warn_unused_result' attribute.
11206 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
11207 (grub_xasprintf, grub_xvasprintf): Likewise.
11208 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
11209
0806b63c
RM
112102010-07-29 Robert Millan <rmh@gnu.org>
11211
11212 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
11213 (probe): Handle `PRINT_FS_LABEL'.
11214 (main): Handle `-t fs_label'.
11215
9f841f5c
RM
112162010-07-29 Robert Millan <rmh@gnu.org>
11217
11218 * configure.ac: Remove grub-mkisofs checks.
11219
46371121
VS
112202010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
11221
11222 * util/ieee1275/grub-install.in: Don't use empty grub_device.
11223 Reported by: Lennart Sorensen.
11224
112252010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11226
11227 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
11228 prior to terminal_input/terminal_output separation. It's been over 1.5
11229 years and those versions weren't widely deployed.
11230
a9600892
CW
112312010-07-22 Colin Watson <cjwatson@ubuntu.com>
11232
11233 * disk/raid.c (insert_array): Don't count named arrays when looking
11234 for unused array numbers.
697e053c 11235 Reported and tested by: Michael Guntsche.
a9600892 11236
c03507df
CW
112372010-07-20 Colin Watson <cjwatson@ubuntu.com>
11238
11239 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
11240 implementation of this so that grub-emu links again, with a note
11241 that this should support hotplugging in the future.
11242
b26f1c11
CW
112432010-07-20 Colin Watson <cjwatson@ubuntu.com>
11244
11245 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
11246
efc9d7f1
CW
112472010-07-20 Colin Watson <cjwatson@ubuntu.com>
11248
11249 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
11250 handle on failure.
11251 (grub_loopback_close): Remove empty function.
11252 (grub_loopback_dev): Remove close method.
11253
dd8ff5c9
CW
112542010-07-20 Colin Watson <cjwatson@ubuntu.com>
11255
11256 Disable EFI cursor when the EFI console becomes inactive.
11257
11258 * term/efi/console.c (grub_efi_console_init): New function.
11259 (grub_efi_console_fini): New function.
11260 (grub_console_term_output): Register init and fini methods.
11261
5e3bec67
VS
112622010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11263
11264 * tests/util/grub-shell-tester.in: Remove bashism and declare as
11265 sh script.
11266
afaec079
VS
112672010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11268
11269 * disk/loopback.c (grub_loopback): Replace filename with file.
11270 (delete_loopback): Handle new semantics.
11271 (grub_cmd_loopback): Likewise.
11272 (grub_loopback_iterate): Likewise.
11273 (grub_loopback_close): Likewise.
11274
a6a11f3c
VS
112752010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11276
11277 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
11278 with -p "".
11279 Reported by: Tito Keitel.
11280
64a638b0
VS
112812010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11282
11283 * docs/grub.texi (Naming convention): Document new naming convention.
11284
ab8ba957
VS
112852010-07-20 Vadim Solomin <vadic052@gmail.com>
112862010-07-20 Colin Watson <cjwatson@ubuntu.com>
11287
11288 Generate device.map in something closer to the old ordering.
11289
11290 * util/deviceiter.c (struct device): New declaration.
11291 (compare_file_names): Rename to ...
11292 (compare_devices): ... this. Sort by kernel name in preference to
11293 the stable by-id name, but keep the latter as a fallback comparison.
11294 Update header comment.
11295 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
11296 of `struct device' rather than of plain file names.
11297
a29d6a4b
TF
112982010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
11299
11300 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
11301 on i386.
11302
39d824e8
VS
113032010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11304
11305 * commands/acpi.c (setup_common_tables): Use sizeof instead of
11306 hardcoding size.
11307 (setv1table): Likewise.
11308
f058276b
FZ
113092010-07-20 Colin Watson <cjwatson@ubuntu.com>
11310
11311 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
11312 removing the homehost if present.
11313 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
11314 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
11315 removing the homehost if present.
11316 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
11317 if possible.
11318 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
11319
11320 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
11321 parameter. Set its pointer target to 0.
11322 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
11323 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
11324 `data_offset' value from the superblock for 1.x metadata.
11325 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
11326 data on the device.
11327 (insert_array): Record the start sector of data on the device.
11328 (grub_raid_register): Pass start_sector parameters to
11329 grub_raid_list->detect and insert_array.
11330 * include/grub/raid.h (struct grub_raid_array): Add start_sector
11331 member.
11332 (struct grub_raid): Add start_sector parameter to `detect'.
11333
11334 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
11335 __attribute__ ((packed)), leaving a comment.
11336 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
11337 (grub_mdraid_detect_09): ... here and ...
11338 (grub_mdraid_detect_1x): ... here.
11339
113402010-07-20 Peter Henn <peter.henn@web.de>
11341
11342 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
11343 chunk size and disk size, which are already given as sector counts
11344 as distinct from the 0.90 units. Fetch the correct device number
11345 from the role table instead of using the table index.
11346
113472010-07-20 Felix Zielcke <fzielcke@z-51.de>
11348
11349 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
11350 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
11351 (WriteMostly1): New macro.
11352 Set array->name to NULL for metadata format 0.90. Add support for
11353 metadata 1.x. Fix some comments.
11354 * disk/raid.c (): Add support for name based RAID arrays. Fix a
11355 few comments.
11356 * util/getroot.c (grub_util_get_grub_dev): Add support for
11357 /dev/md/name style devices.
11358
4b761da9
CW
113592010-07-20 Colin Watson <cjwatson@ubuntu.com>
11360
11361 * .bzrignore: Ignore 20_linux_xen.
11362
5771289a
CW
113632010-07-17 Colin Watson <cjwatson@ubuntu.com>
11364
11365 * util/import_unicode.py: Remove unnecessary imports.
11366
5dab68df
AN
113672010-07-17 Aleš Nesrsta <starous@volny.cz>
11368
11369 Hotplugging and USB hub support.
11370
11371 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
11372 (grub_ohci): Likewise.
11373 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
11374 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
11375 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
11376 (GRUB_OHCI_CTRL_EDS): Likewise.
11377 (GRUB_OHCI_BULK_EDS): Likewise.
11378 (GRUB_OHCI_TDS): Likewise.
11379 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
11380 (grub_ohci_ed_phys2virt): New function.
11381 (grub_ohci_virt_to_phys): Likewise.
11382 (grub_ohci_td_phys2virt): Likewise.
11383 (grub_ohci_td_virt2phys): Likewise.
11384 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
11385 attachment.
11386 (grub_ohci_find_ed): New function.
11387 (grub_ohci_alloc_td): Likewise.
11388 (grub_ohci_free_td): Likewise.
11389 (grub_ohci_free_tds): Likewise.
11390 (grub_ohci_transfer): Use previously allocated memory.
11391 (grub_ohci_portstatus): Reset status changed bit.
11392 (grub_ohci_detect_dev): Supply status changed.
11393 (grub_ohci_fini_hw): Free memory.
11394 (grub_ohci_restore_hw): Reallocate memory.
11395 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
11396 Reset status change.
11397 (grub_uhci_detect_dev): Supply status_change.
11398 * bus/usb/usb.c (attach_hooks): New var.
11399 (grub_usb_device_attach): New function.
11400 (grub_usb_register_attach_hook_class): Likewise.
11401 (grub_usb_unregister_attach_hook_class): Likewise.
11402 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
11403 (grub_usb_add_hub): Reset connection changed bit.
11404 (attach_root_port): New function.
11405 (grub_usb_root_hub): Likewise.
11406 (poll_nonroot_hub): Likewise.
11407 (grub_usb_poll_devices): Likewise.
11408 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
11409 * disk/usbms.c (grub_usbms_open): Use device hooks.
11410 (grub_usbms_iterate) :Poll devices.
11411 (grub_usbms_finddevs): Split into ...
11412 (grub_usbms_attach): ... this ...
11413 (grub_usbms_attach): ... and this.
11414 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
11415 in detect_dev.
11416 (grub_usb_interface): New fields attached and detach_hook.
11417 (grub_usb_attach_hook_class): New type.
11418 (grub_usb_attach_desc): New struct.
11419 (grub_usb_register_attach_hook_class): New function.
11420 (grub_usb_unregister_attach_hook_class): Likewise.
11421 (grub_usb_poll_devices): Likewise.
11422 (grub_usb_device_attach): Likewise.
11423 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
11424 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
11425
3222efaf
VS
114262010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
11427
11428 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
11429 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
11430 delta determination style. Works with most NetBSD partitions too.
11431
139b714a
VS
114322010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
11433
11434 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
11435 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
11436
986aad56
VS
114372010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
11438
11439 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
11440
99be513c
AB
114412010-07-14 Anton Blanchard <anton@samba.org>
11442
11443 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
11444 ET_DYN files.
11445
18075f62
GS
114462010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
11447
11448 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
11449
8d9a5b15
GS
114502010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
11451
11452 * kern/partition.c (grub_partition_check_containment): New function to
11453 check that a partition is physically contained in a parent. Since
11454 offsets are relative (and non-negative), this reduces to checking that
11455 the partition ends before its parent.
11456 (grub_partition_map_probe): Discard out-of-range sub-partitions.
11457 (grub_partition_iterate): Likewise.
11458 * include/grub/partition.h (grub_partition_map): Slightly more detailed
11459 comments.
11460 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
11461 partitions that start before their parent, and add debug printfs.
11462
19563c25
CW
114632010-07-13 Colin Watson <cjwatson@ubuntu.com>
11464
11465 * Makefile.in (.SUFFIX): Spell correctly, as ...
11466 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
11467 bare module name without `.mod', e.g. `test') tried to invoke a
11468 Modula-2 compiler.
11469
1a1f1e67
CW
114702010-07-13 Colin Watson <cjwatson@ubuntu.com>
11471
11472 * README: Point to the Info manual.
11473
811b0dca
JS
114742010-07-13 Jiro SEKIBA <jir@unicus.jp>
11475
11476 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
11477 2nd superblock position from partition size.
11478
e4f4eafc
CW
114792010-07-10 Colin Watson <cjwatson@ubuntu.com>
11480
11481 * Makefile.in (MAINTAINER_CLEANFILES): Remove
11482 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
11483 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
11484 outputs.
11485
4274c30f
VS
114862010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11487
11488 Restructure SCSI .id handling.
11489 Reported and tested by: Aleš Nesrsta.
11490
11491 * disk/ata.c (grub_atapi_close): Removed. All users updated.
11492 (grub_atapi_dev): Changed .name to "ata". New field .id.
11493 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
11494 (grub_usbms_dev): New field .id.
11495 * disk/scsi.c (grub_scsi_iterate): Generate name.
11496 (grub_scsi_open): Parse name.
11497 * include/grub/scsi.h (grub_make_scsi_id): New function.
11498 (grub_scsi_dev): Change iterate and open to number instead of naming
11499 busses. All users updated.
11500 (grub_scsi): Remove name. Add .bus.
11501
5bc24388
VS
115022010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11503
11504 * commands/help.c (grub_cmd_help): Fix a typo.
11505
249975ba
VS
115062010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11507
11508 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
11509 Reported and tested by: Colin Watson.
11510
3eaac1a1
VS
115112010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11512
11513 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
11514 in this context.
11515
becce1b1
VS
115162010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
11517
11518 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
11519
f7bf0918
CW
115202010-07-07 Colin Watson <cjwatson@ubuntu.com>
11521
11522 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
11523 indentation.
11524
0b0f9620
CW
115252010-07-06 Colin Watson <cjwatson@ubuntu.com>
11526
11527 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
11528 and disk/raid6_recover.c.
11529 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
11530 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
11531
1e545469
CW
115322010-07-06 Colin Watson <cjwatson@ubuntu.com>
11533
11534 * term/gfxterm.c (repaint_schedulded): Rename to ...
11535 (repaint_scheduled): ... this. Update all callers.
11536 (repaint_was_schedulded): Rename to ...
11537 (repaint_was_scheduled): ... this. Update all callers.
11538
5357687a
CW
115392010-07-06 Colin Watson <cjwatson@ubuntu.com>
11540
11541 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
11542 which we expect to be handled by upper layers.
11543
29d7e783
BC
115442010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
11545
11546 * bus/usb/usbhub.c: #include time.h header.
11547
37582066
CW
115482010-07-06 Colin Watson <cjwatson@ubuntu.com>
11549
11550 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
11551 entry_name also for entries without stat blocks (e.g. ".."); fixes
11552 corruption of the first entry in a directory.
11553
c8c06953
CW
115542010-07-06 Colin Watson <cjwatson@ubuntu.com>
11555
11556 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
11557 after setting gfxterm as the active terminal. GRUB_BACKGROUND
11558 doesn't work otherwise.
11559
e75056f1
CW
115602010-07-05 Colin Watson <cjwatson@ubuntu.com>
11561
11562 * docs/grub.texi (Features): Update list of supported file systems.
11563 (GNU/Linux): Update for GRUB 2.
11564 (Serial terminal): Remove mention of --disable-serial, which was a
11565 GRUB Legacy configure option. Update instructions to use
11566 `terminal_input' and `terminal_output' rather than `terminal'.
11567 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
11568 configuration' and `Installing GRUB using grub-install'.
11569 (Menu entry editor): Update for GRUB 2.
11570 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
11571 Document new -a, -u, and -v options.
11572 (initrd): New section.
11573 (initrd16): New section.
11574 (linux): New section.
11575 (linux16): New section.
11576 (search): The `var' argument to `--set' is optional.
11577 (GRUB only offers a rescue shell): Go into a little more detail on
11578 drive ordering.
11579
5cf69151
CW
115802010-07-05 Colin Watson <cjwatson@ubuntu.com>
11581
11582 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
11583
e3f90044
CW
115842010-07-05 Colin Watson <cjwatson@ubuntu.com>
11585
11586 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
11587 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
11588
38d8f4f3
CW
115892010-07-05 Colin Watson <cjwatson@ubuntu.com>
11590
11591 * util/i386/pc/grub-setup.c (setup): Rename prefix to
11592 install_prefix, in line with install_dos_part and install_bsd_part.
11593 Add new prefix variable, which is copied to install_prefix after
11594 comparing core.img in memory with the one read from disk in the
11595 no-embedding case, and use that rather than overwriting
11596 install_prefix immediately when installing to a partition.
11597 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
11598 Bicakci.
11599
57ebd41e
GS
116002010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
11601
11602 * configure.ac: Avoid == in test command, it's not portable.
11603 * util/grub.d/30_os-prober.in: Likewise.
11604
cb7f64b2
CW
116052010-07-04 Colin Watson <cjwatson@ubuntu.com>
11606
11607 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
11608
6b654bb0
GS
116092010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
11610
11611 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
11612 multiple (top-level) partmaps.
11613
72a2026d
VS
116142010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
11615
11616 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 11617 Reported by: Tino Keitel.
72a2026d 11618
df3eb88f
VS
116192010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
11620
11621 Bidi and diacritics support.
11622
11623 * Makefile.in (widthspec.bin): New target.
11624 (widthspec.h): Likewise.
11625 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
11626 * autogen.sh: Generate unidata.c.
11627 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
11628 * commands/ls.c (grub_ls_list_devices): Likewise.
11629 (grub_ls_list_files): Likewise.
11630 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
11631 (grub_mini_cmd_lsmod): Likewise.
11632 * commands/read.c: Likewise.
11633 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
11634 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
11635 * lib/arg.c (grub_arg_show_help): Likewise.
11636 * lib/crypto.c (grub_password_get): Likewise.
11637 * normal/auth.c (grub_username_get): Likewise.
11638 * normal/misc.c (grub_normal_print_device_info): Likewise.
11639 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
11640 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
11641 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
11642 (normal/charset.c_DEPENDENCIES): New variable.
11643 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
11644 (pkglib_MODULES): Remove charset.mod.
11645 (charset_mod_SOURCES): Removed.
11646 (charset_mod_CFLAGS): Likewise.
11647 (charset_mod_LDFLAGS): Likewise.
11648 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
11649 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
11650 and term/tparm.c.
11651 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
11652 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
11653 (kernel_img_HEADERS): Add terminfo.h.
11654 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
11655 Fill ->font. Reverse ascii bitmaps.
11656 (grub_font_get_xheight): New function.
11657 * font/font.c (grub_font_get_string_width): Moved from here ...
11658 * gfxmenu/font.c (grub_font_get_string_width): ... here.
11659 * font/font.c (grub_font_draw_string): Moved from here ...
11660 * gfxmenu/font.c (grub_font_draw_string): ... here.
11661 * font/font.c (grub_font_dup_glyph): New function.
11662 (grub_font_blit_glyph): Likewise.
11663 (grub_font_blit_glyph_mirror): Likewise.
11664 (blit_comb): Likewise.
11665 (grub_font_construct_dry_run): Likewise.
11666 (grub_font_get_constructed_device_width): Likewise.
11667 (grub_font_construct_glyph): Likewise.
11668 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
11669 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
11670 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
11671 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
11672 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
11673 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
11674 (grub_font_get_xheight): New proto.
11675 (grub_font_get_constructed_device_width): Likewise.
11676 (grub_font_construct_glyph): Likewise.
11677 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
11678 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
11679 * include/grub/font.h (grub_font_draw_string): Moved from here ...
11680 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
11681 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
11682 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
11683 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
11684 (grub_console_getcharwidth): Likewise.
11685 * include/grub/misc.h (grub_xputs): New proto.
11686 (grub_puts): Inlined.
11687 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
11688 (grub_normal_get_line_counter): Removed.
11689 (grub_install_newline_hook): Likewise.
11690 (grub_normal_get_char_counter): New proto.
11691 (grub_normal_reset_more): Likewise.
11692 (grub_xputs_normal): Likewise.
11693 * include/grub/powerpc/ieee1275/console.h: Removed.
11694 * include/grub/sparc64/ieee1275/console.h: Likewise.
11695 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
11696 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
11697 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
11698 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
11699 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
11700 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
11701 (grub_term_input): Pass reference to self. All users updated.
11702 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
11703 Pass reference to self. New fields normal_color, highlight_color and
11704 data. All users updated.
11705 (grub_putchar): Removed.
11706 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
11707 (grub_unicode_estimate_width): New function.
11708 (grub_term_getcharwidth): Add defaults.
11709 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
11710 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
11711 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
11712 (grub_cls): Remove EXPORT_FUNC.
11713 (grub_setcolorstate): Inline.
11714 (grub_newline_hook): Removed.
11715 * include/grub/terminfo.h: Rewritten. All users updated.
11716 * include/grub/unicode.h: New file.
11717 * include/grub/video.h (grub_video_signed_rect): New type.
11718 * kern/emu/console.c (grub_console_highlight_color): Removed.
11719 (grub_console_normal_color): Likewise.
11720 (grub_console_standard_color): Made static.
11721 (grub_ncurses_putchar): Remove mapping.
11722 (grub_ncurses_getcharwidth): Removed.
11723 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
11724 (grub_ncurses_setcolor): Removed.
11725 (grub_ncurses_getcolor): Likewise.
11726 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
11727 (grub_console_putchar): ... this.
11728 (grub_console_putchar): Handle argument difference.
11729 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
11730 console_init_early and console_init_lately.
11731 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
11732 * kern/misc.c (grub_puts): Removed.
11733 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
11734 (grub_vsnprintf_real): Remove str = NULL support.
11735 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
11736 * normal/charset.c (grub_utf8_to_ucs4): ... here.
11737 * kern/term.c (grub_putcode): Renamed to ...
11738 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
11739 (grub_putchar): Removed.
11740 (grub_xputs_dumb): New function.
11741 (grub_xputs): New variable.
11742 * lib/charset.c: Move from here ...
11743 * normal/charset.c: ... to here.
11744 (grub_ucs4_to_utf8): New function.
11745 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
11746 (join_types): New variable.
11747 (unpack_join): New function.
11748 (bidi_types): New variable.
11749 (unpack_bidi): New function.
11750 (get_bidi_type): Likewise.
11751 (get_join_type): Likewise.
11752 (is_mirrored): Likewise.
11753 (grub_unicode_get_comb_type): Likewise.
11754 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
11755 (is_type_after): Likewise.
11756 (grub_unicode_aglomerate_comb): Likewise.
11757 (bidi_line_wrap): Likewise.
11758 (grub_bidi_line_logical_to_visual): Likewise.
11759 (grub_bidi_logical_to_visual): Likewise.
11760 (grub_unicode_mirror_code): Likewise.
11761 (grub_unicode_shape_code): Likewise.
11762 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
11763 Don't use grub_putchar.
11764 * normal/main.c (grub_normal_init_page): Use grub_putcode.
11765 (grub_normal_reader_init): Likewise.
11766 (grub_xputs_saved): New variable.
11767 (GRUB_MOD_INIT): Set grub_xputs.
11768 (GRUB_MOD_FINI): Restore grub_xputs.
11769 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
11770 (menu_init): Avoid printing gfxmenu error.
11771 (show_menu): Use grub_normal_get_char_counter.
11772 * normal/menu_entry.c (update_screen): Fix out-of-array.
11773 (complete): Avoid NULL dereferencing.
11774 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
11775 * normal/menu_text.c (print_spaces): Removed.
11776 (grub_print_ucs4): Likewise.
11777 (grub_print_message_indented): Use grub_print_ucs4.
11778 (print_message): Use grub_putcode.
11779 (print_entry): Hanlde diacritics.
11780 * normal/term.c (term_state): New type.
11781 (grub_more_lines): Removed.
11782 (term_states): New variable.
11783 (grub_normal_line_counter): Renamed to ..
11784 (grub_normal_char_counter): ...this. All users updated.
11785 (grub_normal_get_line_counter): Renamed to ...
11786 (grub_normal_get_char_counter): ... this.
11787 (grub_normal_reset_more): New function.
11788 (process_newline): Removed.
11789 (print_more): New function.
11790 (grub_install_newline_hook): Removed.
11791 (map_code): New function.
11792 (grub_puts_terminal): Use grub_print_ucs4.
11793 (putglyph): New function.
11794 (putcode_real): Likewise.
11795 (grub_putcode): Use putcode_real.
11796 (get_maxwidth): New function.
11797 (get_startwidth): Likewise.
11798 (print_ucs4_terminal): Likewise.
11799 (find_term_state): Likewise.
11800 (put_glyphs_terminal): Likewise.
11801 (print_backlog): Likewise.
11802 (print_ucs4_real): Likewise.
11803 (grub_print_ucs4): Likewise.
11804 (grub_xputs_normal): Likewise.
11805 * term/efi/console.c (grub_console_putchar): Output diacritics.
11806 (grub_console_getcharwidth): Removed.
11807 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
11808 * term/gfxterm.c (clear_char): Free chars.
11809 (scroll_up): Avoid leaking memory.
11810 (grub_gfxterm_putchar): Support diacritics.
11811 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
11812 * term/i386/pc/console.c (grub_console_term_output): Declare as
11813 GRUB_TERM_CODE_TYPE_VGA.
11814 * term/i386/pc/vga.c (grub_vga_term): Declare as
11815 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
11816 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
11817 GRUB_TERM_CODE_TYPE_VGA.
11818 * term/i386/vga_common.c (map_char): Removed.
11819 (grub_console_putchar): Likewise.
11820 (grub_console_getcharwidth): Likewise.
11821 * term/ieee1275/ofconsole.c: Simplify using terminfo.
11822 (colors): Reordered to match terminfo.
11823 (grub_ofconsole_normal_color): Removed.
11824 (grub_ofconsole_writeesc): Likewise.
11825 (grub_ofconsole_highlight_color): Likewise.
11826 (grub_ofconsole_getcharwidth): Likewise.
11827 (grub_ofconsole_setcolorstate): Likewise.
11828 (grub_ofconsole_setcolor): Likewise.
11829 (grub_ofconsole_getcolor): Likewise.
11830 (grub_ofconsole_readkey): Renamed to ...
11831 (readkey): ... this. Remove escape sequence handling. Return -1 on no
11832 key.
11833 (grub_ofconsole_checkkey): Removed.
11834 (grub_ofconsole_getkey): Likewise.
11835 (grub_ofconsole_getxy): Likewise.
11836 (grub_ofconsole_gotoxy): Likewise.
11837 (grub_ofconsole_cls): Likewise.
11838 (grub_ofconsole_refresh): Likewise.
11839 (grub_ofconsole_terminfo_input): New struct.
11840 (grub_ofconsole_terminfo_output): Likewise.
11841 (grub_ofconsole_term_input): Use terminfo.
11842 (grub_ofconsole_term_output): Likewise.
11843 (grub_console_init): Split into ...
11844 (grub_console_init_early): ...this and ...
11845 (grub_console_init_lately): ...this. Use terminfo.
11846 (grub_ofconsole_putchar): Renamed to ...
11847 (put): ... this. Remove mapping.
11848 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
11849 * term/serial.c: Simplify using terminfo.
11850 (xpos): Removed.
11851 (ypos): Likewise.
11852 (keep_track): Likewise.
11853 (registered): Likewise.
11854 (input_buf): Likewise.
11855 (npending): Likewise.
11856 (serial_translate_key_sequence): Likewise.
11857 (fill_input_buf): Likewise.
11858 (grub_serial_checkkey): Likewise.
11859 (grub_serial_getkey): Likewise.
11860 (grub_serial_getxy): Likewise.
11861 (grub_serial_gotoxy): Likewise.
11862 (grub_serial_putchar): Likewise.
11863 (grub_serial_cls): Likewise.
11864 (grub_serial_setcolorstate): Likewise.
11865 (grub_serial_setcursor): Likewise.
11866 (serial_hw_init): Use serial_hw_fetch.
11867 (grub_serial_terminfo_input): New variable.
11868 (grub_serial_terminfo_output): Likewise.
11869 (grub_serial_term_input): Use terminfo.
11870 (grub_serial_term_output): Likewise.
11871 * term/terminfo.c (putstr): Use put.
11872 (grub_terminfo_all_free): New function
11873 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
11874 (grub_terminfo_output_register): New function.
11875 (grub_terminfo_output_unregister): Likewise.
11876 (grub_terminfo_getxy): Likewise.
11877 (grub_terminfo_readkey): Likewise.
11878 (grub_terminfo_checkkey): Likewise.
11879 (grub_terminfo_getkey): Likewise.
11880 (grub_terminfo_input_init): Likewise.
11881 (print_terminfo): Likewise.
11882 (grub_cmd_terminfo): Handle encoding.
11883 (grub_terminfo_gotoxy): Track position.
11884 (grub_terminfo_cls): Likewise.
11885 (grub_terminfo_putchar): Likewise.
11886 (grub_terminfo_setcolorstate): Handle colors
11887 (grub_terminfo_cursor_on): This ...
11888 (grub_terminfo_cursor_off): ... and this merged into ...
11889 (grub_terminfo_setcursor): ... this.
11890 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
11891 * unicode/ArabicShaping.txt: New file (imported from Unicode).
11892 * unicode/BidiMirroring.txt: Likewise.
11893 * unicode/UnicodeData.txt: Likewise.
11894 * unicode/COPYING: Likewise.
11895 * util/grub-editenv.c (grub_putchar): Removed.
11896 (grub_xputs_real): New function.
11897 (grub_xputs): New variable.
11898 * util/grub-fstest.c (grub_putchar): Removed.
11899 (grub_xputs_real): New function.
11900 (grub_xputs): New variable.
11901 * util/grub-mkdevicemap.c (grub_putchar): Removed.
11902 (grub_xputs_real): New function.
11903 (grub_xputs): New variable.
11904 * util/grub-probe.c (grub_putchar): Removed.
11905 (grub_xputs_real): New function.
11906 (grub_xputs): New variable.
11907 * util/grub-script-check.c (grub_putchar): Removed.
11908 (grub_xputs_real): New function.
11909 (grub_xputs): New variable.
11910 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
11911 (grub_xputs_real): New function.
11912 (grub_xputs): New variable.
11913 * util/import_unicode.py: New file.
11914 * util/grub-mkfont.c (ft_errmsgs): New array.
11915 (grub_glyph_info): Make bitmap a pointer.
11916 (file_formats): New type WIDTH_SPEC.
11917 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
11918 (options): Add width-spec.
11919 (help): Likewise.
11920 (add_char): Renamed to ...
11921 (add_glyph): ... this.
11922 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
11923 (glyph_replace): New type.
11924 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
11925 (add_char): New function.
11926 (add_subst): Likewise.
11927 (process_cursive): Likewise.
11928 (add_font): Handle GSUB.
11929 (write_font_width_spec): New function.
11930 (main): Sort glyphs.
11931 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
11932 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
11933 * kern/term.c (grub_cls): Moved from here...
11934 * normal/term.c (grub_cls): ... here.
11935
50f0bcda
CW
119362010-07-02 Colin Watson <cjwatson@ubuntu.com>
11937
11938 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
11939 suitable for using within the format argument of printf when
11940 converting grub_size_t.
11941 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
11942 "x" to convert grub_size_t arguments.
11943
40372103
VS
119442010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
11945
11946 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
11947 too long captions.
11948 (list_get_minimal_size): Take selection box into account.
11949
942a10c7
VS
119502010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
11951
11952 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
11953 NULL font.
11954
2bdb2892
CW
119552010-07-02 Colin Watson <cjwatson@ubuntu.com>
11956
11957 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
11958 devices when iterating over /dev/disk/by-id; they will be handled
11959 later if appropriate, which they aren't always (e.g. LVM).
11960
e03ed6c1
CW
119612010-07-02 Colin Watson <cjwatson@ubuntu.com>
11962
11963 * include/grub/misc.h (grub_reboot): Declare as noreturn.
11964 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
11965 fails.
11966 (grub_halt): Likewise.
11967 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
11968 reset-all fails.
11969 (grub_halt): Don't return, even if all of shut-down, power-off, and
11970 poweroff fail.
11971
47695765
CW
119722010-07-02 Colin Watson <cjwatson@ubuntu.com>
11973
11974 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
11975 arguments, not three.
11976
507736c8
CW
119772010-07-02 Colin Watson <cjwatson@ubuntu.com>
11978
11979 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
11980 * util/grub.d/10_linux.in: Use it to check for LVM, so that
11981 LVM-on-RAID is handled correctly.
11982
e3c8cd37
CW
119832010-07-02 Colin Watson <cjwatson@ubuntu.com>
11984
11985 * docs/grub.texi (Changes from GRUB Legacy): New section.
11986 (Future): Fix typo.
11987
8d4a2fec
CW
119882010-07-02 Colin Watson <cjwatson@ubuntu.com>
11989
11990 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
11991 grub.d/README accidentally ends up executable for one reason or
11992 another. Ignore it.
11993
1c4827be
VS
119942010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
11995
11996 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
11997 (gpt_partition_map_iterate): Support non-512B sectors.
11998
d9a0c941
VS
119992010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12000
12001 * kern/efi/init.c (grub_efi_init): Disable watchdog.
12002 Tested by: Seth Goldberg.
12003
48f27e87
VS
120042010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12005
12006 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
12007 Properly align mbi.
12008 Reported by: Seth Goldberg.
12009
b0c4f956
VS
120102010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
12011
12012 * util/grub-mkrescue.in: Avoid module duplication.
12013
105a2e8c
SF
120142010-07-01 Sean Finney <seanius@seanius.net>
12015
12016 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
12017
5944958c
SF
120182010-07-01 Sean Finney <seanius@seanius.net>
12019
12020 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
12021
120222010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
12023
12024 * disk/lvm.c (grub_lvm_checkvalue): New function.
12025 (grub_lvm_check_flag): Likewise.
12026
b79889ba
RM
120272010-07-01 Robert Millan <rmh@gnu.org>
12028
12029 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
12030 Support 'p' as partition separator on kernel of FreeBSD (used
12031 with GPT labels).
12032 (grub_util_biosdisk_get_grub_dev): Likewise.
12033
ec1d04f1
VS
120342010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
12035
12036 Yeeloong firmware port.
12037
12038 * boot/mips/yeeloong/fwstart.S: New file.
12039 * bus/cs5536.c (gpiodump): New const.
12040 (set_io_space): New function.
12041 (set_iod): Likewise.
12042 (set_p2d): Likewise.
12043 (grub_cs5536_init_geode): Likewise.
12044 * commands/mips/yeeloong/lsspd.c: New file.
12045 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
12046 (serial_mod_SOURCES): New variable.
12047 (serial_mod_CFLAGS): Likewise.
12048 (serial_mod_LDFLAGS): Likewise.
12049 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
12050 term/terminfo.c and term/tparm.c.
12051 (pkglib_IMAGES): Add fwstart.img.
12052 (fwstart_img_SOURCES): New variable.
12053 (fwstart_img_CFLAGS): Likewise.
12054 (fwstart_img_ASFLAGS): Likewise.
12055 (fwstart_img_LDFLAGS): Likewise.
12056 (fwstart_img_FORMAT): Likewise.
12057 (pkglib_MODULES): Add lsspd.mod.
12058 (lsspd_mod_SOURCES): New variable.
12059 (lsspd_mod_CFLAGS): Likewise.
12060 (lsspd_mod_LDFLAGS): Likewise.
12061 (pkglib_MODULES): Add halt.mod.
12062 (halt_mod_SOURCES): New variable.
12063 (halt_mod_CFLAGS): Likewise.
12064 (halt_mod_LDFLAGS): Likewise.
12065 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
12066 (serial_mod_SOURCES): Removed.
12067 (serial_mod_CFLAGS): Likewise.
12068 (serial_mod_LDFLAGS): Likewise.
12069 * disk/ata.c (check_device): New function.
12070 (grub_ata_device_initialize): Use check_device.
12071 (grub_ata_iterate): Recheck devices.
12072 (grub_ata_open): Likewise.
12073 (grub_atapi_iterate): Likewise.
12074 (grub_atapi_open): Likewise.
12075 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
12076 (GRUB_ATA_CH1_PORT1): Likewise.
12077 (GRUB_ATA_CH0_PORT2): Likewise.
12078 (GRUB_ATA_CH1_PORT2): Likewise.
12079 * include/grub/mips/loongson.h: New file.
12080 * include/grub/mips/yeeloong/ec.h: Likewise.
12081 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
12082 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
12083 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
12084 * include/grub/misc.h (grub_halt): Declare as noreturn.
12085 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
12086 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
12087 (UART_ENABLE_FIFO_TRIGGER1): New definition.
12088 (UART_ENABLE_DTRRTS): Likewise.
12089 (UART_ENABLE_MODEM): Removed.
12090 (UART_ENABLE_OUT2): New const.
12091 * include/grub/term.h (grub_term_register_input_active): New function.
12092 (grub_term_register_output_active): Likewise.
12093 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
12094 argument.
12095 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
12096 (init_pci): New function.
12097 (grub_machine_init): Execute platform init when firmware. Init serial.
12098 (grub_halt): Implement.
12099 (grub_exit): Likewise.
12100 (grub_reboot): Likewise.
12101 * term/serial.c (serial_hw_init): Update macros.
12102 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
12103 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
12104 (image_targets): New target mipsel-yeeloong-flash.
12105 (generate_image): Support IMAGE_YEELOONG_FLASH.
12106 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
12107 (grub_video_sm712_setup): Init card.
12108 (grub_video_sm712_set_palette): Removed.
12109 * video/sm712_init.c: New file.
12110
ff4a70d2
CW
121112010-06-30 Colin Watson <cjwatson@ubuntu.com>
12112
12113 * Makefile.in (install-local): Temporarily prepend $(builddir) to
12114 PATH when running help2man and then run it on the unadorned
12115 executable names, rather than passing $(builddir)/* paths to
12116 help2man. This avoids the build directory ending up in generated
12117 manual pages.
12118
1246efeb
CW
121192010-06-29 Colin Watson <cjwatson@ubuntu.com>
12120
12121 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
12122 to avoid accidents when debugging with 'sh -x'.
12123 * util/grub-mkrescue.in: Likewise.
12124 * util/grub.d/00_header.in: Likewise.
12125 * util/grub.d/10_hurd.in: Likewise.
12126 * util/grub.d/10_kfreebsd.in: Likewise.
12127 * util/grub.d/10_linux.in: Likewise.
12128 * util/grub.d/10_netbsd.in: Likewise.
12129 * util/grub.d/10_windows.in: Likewise.
12130 * util/grub.d/20_linux_xen.in: Likewise.
12131 * util/grub.d/30_os-prober.in: Likewise.
12132 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12133
1ba9b889
CW
121342010-06-29 Colin Watson <cjwatson@ubuntu.com>
12135
12136 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
12137 last character in the buffer.
12138 Reported by: Vladimir Serbinenko.
12139
dccaf99d
RM
121402010-06-29 Robert Millan <rmh@gnu.org>
12141
12142 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
12143 (Command-line and menu entry commands): Document `badram' command.
12144
d500ed12
RM
121452010-06-28 Robert Millan <rmh@gnu.org>
12146
12147 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
12148 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
12149 command using ${GRUB_BADRAM} as parameter.
12150
20bc84a6
CW
121512010-06-28 Colin Watson <cjwatson@ubuntu.com>
12152
12153 * docs/grub.texi (Device map): New section.
12154 (Themes): New section (stub).
12155 * Makefile.in (docs/grub.info): The info documentation now builds
12156 without errors. Make sure it stays that way.
12157
4045dee1
VS
121582010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
12159
12160 Use normal parser for menu entries.
12161 Reported by: Thomas Frauendorfer
12162
12163 * include/grub/parser.h (grub_parser_execute): Don't export.
12164 * normal/menu.c (grub_menu_execute_entry_real): New function.
12165 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
12166
bca58c7b
CW
121672010-06-28 Colin Watson <cjwatson@ubuntu.com>
12168
12169 * docs/grub.texi (Embedded configuration): New section (replacing
12170 old "Preset Menu" stub).
12171 (Images): New section.
12172 (configfile): Note that any menu entries defined in `file' are shown
12173 immediately.
12174
dec53e63
JT
121752010-06-28 Josh Triplett <josh@joshtriplett.org>
12176
12177 * mmap/i386/pc/mmap_helper.S: Set CF on return.
12178
c06e40f7
CW
121792010-06-28 Colin Watson <cjwatson@ubuntu.com>
12180
12181 * util/grub-install.in: Add --debug-image= option.
12182
cb88052b
CW
121832010-06-28 Colin Watson <cjwatson@ubuntu.com>
12184
12185 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
12186 possible on Linux.
12187
12188 * util/deviceiter.c (check_device): Rename to ...
12189 (check_device_readable_unique): ... this. Update all callers.
12190 Maintain and check a list of which devices (by canonicalized name)
12191 have already been seen.
12192 (clear_seen_devices): New function.
12193 (compare_file_names) [__linux__]: New function.
12194 (grub_util_iterate_devices): Clear the list of seen devices on exit
12195 and (just in case) on entry.
12196 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
12197 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
12198 seen-devices list, superseded by general code in check_device.
12199
bbe34652
CW
122002010-06-28 Colin Watson <cjwatson@ubuntu.com>
12201
12202 * commands/cat.c (options): New variable.
12203 (grub_cmd_cat): Parse options. If the --dos option is given, print
12204 DOS-style "\r\n" line endings as simple newlines (Debian bug
12205 #586358).
12206 (GRUB_MOD_INIT): Use extcmd.
12207 (GRUB_MOD_FINI): Likewise.
12208 * docs/grub.texi (cat): Document --dos.
12209
412e09f3
VS
122102010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
12211
12212 XEN with Linux grub-mkconfig support.
12213
12214 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
12215 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
12216 GRUB_CMDLINE_XEN_DEFAULT.
12217 * util/grub.d/20_linux_xen.in: New file.
12218
53f3ef38 122192010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
12220
12221 Initialise VGA video on qemu ourselves.
12222
12223 * boot/i386/qemu/boot.S: Don't call 0xc000.
12224 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
12225 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
12226 (kernel_img_HEADERS): Add pci.h.
12227 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
12228 * configure.ac: Force unifont on qemu and yeeloong.
12229 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
12230 (grub_vga_palette_write): Use correct register.
12231 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
12232 Call grub_qemu_init_cirrus.
12233 * kern/i386/qemu/init.c: New file.
12234 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
12235
12236 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
12237
c75be4fb
PR
122382010-06-26 Pavel Roskin <proski@gnu.org>
12239
12240 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
12241 13.
12242
d8034603
CW
122432010-06-26 Colin Watson <cjwatson@ubuntu.com>
12244
12245 * docs/grub.texi (Simple configuration): Explain that
12246 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
12247 set to `true' to disable their respective recovery entries, not
12248 merely set.
12249
3fa06487
CW
122502010-06-26 Colin Watson <cjwatson@ubuntu.com>
12251
12252 Make the `source' command slightly faster.
12253
12254 * normal/main.c (grub_normal_execute): Don't re-read list files when
12255 nested.
12256
e9b29642
CW
122572010-06-23 Colin Watson <cjwatson@ubuntu.com>
12258
12259 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
12260 field position and mask size to red fields from mode_info, not
12261 green.
12262 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
12263 Remove redundant tag->common.framebuffer_type assignment.
12264 Reported by: Seth Goldberg.
12265
e726542f
CW
122662010-06-23 Colin Watson <cjwatson@ubuntu.com>
12267
12268 Sync up other versions of the Linux loader with Robert Millan's
12269 change of 2010-01-09, "Make loader output a bit more user-friendly".
12270
12271 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
12272 grub_dprintf().
12273 (grub_cmd_linux): Likewise.
12274 (grub_cmd_initrd): Likewise.
12275 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
12276 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
12277
d6e98a17
CW
122782010-06-21 Colin Watson <cjwatson@ubuntu.com>
12279
12280 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
12281 larger than MEMORY_MAP_SIZE.
12282
14d3f08e
BC
122832010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
12284
12285 Fix parallel build.
12286
12287 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
12288 dependency.
12289 * script/parser.y: #include grub_script.tab.h header.
12290
4f9613a3
VS
122912010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
12292
12293 Support >3GiB and <16MiB RAM in i386-qemu.
12294
12295 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
12296 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
12297 (grub_lower_mem): Removed.
12298 (grub_upper_mem): Likewise.
12299 (mem_size): Made static.
12300 (above_4g): New variable.
12301 (grub_machine_mmap_init): Detect small mem_size and above_4g.
12302 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
12303 support.
12304
05e51879
VS
123052010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
12306
12307 Cirrus 5446 and Bochs video cards support.
12308
12309 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
12310 video_bochs.mod
12311 (video_cirrus_mod_SOURCES): New variable.
12312 (video_cirrus_mod_CFLAGS): Likewise.
12313 (video_cirrus_mod_LDFLAGS): Likewise.
12314 (video_bochs_mod_SOURCES): Likewise.
12315 (video_bochs_mod_CFLAGS): Likewise.
12316 (video_bochs_mod_LDFLAGS): Likewise.
12317 * include/grub/vga.h: New file.
12318 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
12319 (grub_video_fb_set_page_t): New type.
12320 (grub_video_fb_setup): New prototype.
12321 (grub_video_fb_swap_buffers): Likewise.
12322 (grub_video_fb_get_info_and_fini): Likewise.
12323 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
12324 (CRTC_DATA_PORT): Likewise.
12325 (CRTC_CURSOR): Likewise.
12326 (CRTC_CURSOR_ADDR_HIGH): Likewise.
12327 (CRTC_CURSOR_ADDR_LOW): Likewise.
12328 (CRTC_CURSOR_DISABLE): Likewise.
12329 (update_cursor): Use grub_vga_cr_write.
12330 (grub_vga_text_setcursor): Likewise.
12331 * video/bochs.c: New file.
12332 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
12333 (palette): Likewise.
12334 (palette_size): Likewise.
12335 (framebuffer): New variable.
12336 (grub_video_fb_init): Use 'framebuffer'.
12337 (grub_video_fb_fini): Likewise.
12338 (grub_video_fb_get_info): Likewise.
12339 (grub_video_fb_get_palette): Likewise.
12340 (grub_video_fb_set_palette): Likewise.
12341 (grub_video_fb_set_viewport): Likewise.
12342 (grub_video_fb_get_viewport): Likewise.
12343 (grub_video_fb_map_color): Likewise.
12344 (grub_video_fb_map_rgb): Likewise.
12345 (grub_video_fb_map_rgba): Likewise.
12346 (grub_video_fb_unmap_color): Likewise.
12347 (grub_video_fb_unmap_color_int): Likewise.
12348 (grub_video_fb_fill_rect): Likewise.
12349 (grub_video_fb_blit_bitmap): Likewise.
12350 (grub_video_fb_blit_render_target): Likewise.
12351 (grub_video_fb_scroll): Likewise.
12352 (grub_video_fb_create_render_target): Likewise.
12353 (grub_video_fb_doublebuf_blit_init): Likewise.
12354 (grub_video_fb_set_active_render_target): Handle doublebuffering.
12355 (doublebuf_pageflipping_update_screen): New function.
12356 (doublebuf_pageflipping_init): Likewise.
12357 (grub_video_fb_setup): Likewise.
12358 (grub_video_fb_swap_buffers): Likewise.
12359 (grub_video_fb_get_info_and_fini): Likewise.
12360 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
12361 All users updated.
12362 (doublebuf_pageflipping_commit): Restructured into ...
12363 (doublebuf_pageflipping_set_page): ... this.
12364 (doublebuf_pageflipping_update_screen): Removed.
12365 (doublebuf_pageflipping_init): Likewise.
12366 (double_buffering_init): Likewise.
12367 (grub_video_vbe_setup): Use grub_video_fb_setup.
12368 (grub_video_vbe_swap_buffers): Removed.
12369 (grub_video_vbe_set_active_render_target): Likewise.
12370 (grub_video_vbe_get_active_render_target): Likewise.
12371 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
12372 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
12373 grub_video_fb_set_active_render_target and
12374 grub_video_fb_get_active_render_target.
12375 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
12376 (SEQUENCER_DATA_PORT): Likewise.
12377 (MAP_MASK_REGISTER): Likewise.
12378 (CRTC_ADDR_PORT): Likewise.
12379 (CRTC_DATA_PORT): Likewise.
12380 (START_ADDR_HIGH_REGISTER): Likewise.
12381 (START_ADDR_LOW_REGISTER): Likewise.
12382 (GRAPHICS_ADDR_PORT): Likewise.
12383 (GRAPHICS_DATA_PORT): Likewise.
12384 (READ_MAP_REGISTER): Likewise.
12385 (INPUT_STATUS1_REGISTER): Likewise.
12386 (INPUT_STATUS1_VERTR_BIT): Likewise.
12387 (get_map_mask): Use grub_vga_sr_read.
12388 (set_map_mask): Use grub_vga_sr_write.
12389 (set_read_map): Use grub_vga_gr_write.
12390 (set_start_address): Use grub_vga_cr_write.
12391 * video/sm712.c (framebuffer): Remove leftover fields.
12392
4321c64a
CW
123932010-06-20 Colin Watson <cjwatson@ubuntu.com>
12394
12395 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
12396 setting GRUB_VIDEO_BACKEND. Make it available as a user override
12397 instead. Replace the gfxterm backend check with a check that
12398 ${GRUB_PREFIX}/video.lst is non-empty.
12399 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
12400 again.
12401 (load_video): New generated function. Call it before loading
12402 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
12403 * util/grub.d/10_linux.in (linux_entry): Call load_video.
12404 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
12405 * docs/grub.texi (Simple configuration): Document
12406 GRUB_VIDEO_BACKEND.
12407
124082010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
12409
12410 Use video functions in linux and xnu loaders.
12411
12412 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
12413 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
12414 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
12415 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
12416 loader/i386/pc/linux.c.
12417 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
12418 (find_line_len): Removed.
12419 (find_framebuf): Likewise.
12420 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
12421 * loader/i386/efi/xnu.c: Removed.
12422 * loader/i386/pc/xnu.c: Moved from here...
12423 * loader/i386/xnu.c: ...here.
12424
12425 Enable priorities in video drivers.
12426
12427 * include/grub/video.h (grub_video_adapter_prio_t): New type.
12428 (grub_video_adapter): New field prio.
12429 (grub_video_register): Respect prio when inserting.
12430 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
12431 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
12432 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
12433 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
12434 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
12435 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
12436 * video/sm712.c (grub_video_sm712_adapter): Likewise.
12437
12438 Fix SDL driver ID.
12439
12440 * include/grub/video.h (grub_video_driver_id_t): New value
12441 GRUB_VIDEO_DRIVER_SDL.
12442 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
12443
7d24e434
CW
124442010-06-17 Colin Watson <cjwatson@ubuntu.com>
12445
12446 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
12447 argument to printf.
12448 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
12449
c88a83f6
CW
124502010-06-17 Colin Watson <cjwatson@ubuntu.com>
12451
12452 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
12453 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
12454
094dfb69
CW
124552010-06-17 Colin Watson <cjwatson@ubuntu.com>
12456
12457 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
12458 directly, and recommend grub-install instead.
12459 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
12460
2164da6b
CW
124612010-06-17 Colin Watson <cjwatson@ubuntu.com>
12462
12463 Fix i386-pc prefix handling with nested partitions (Debian bug
12464 #585068). Note that the case where the core image is booted using
12465 multiboot and relocated from its original location still requires
12466 more work.
12467
12468 * kern/i386/pc/init.c (make_install_device): If the prefix starts
12469 with "(,", fill the boot drive in between those two characters, but
12470 expect that a full partition specification including partition map
12471 names will follow.
12472 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
12473 specified, write a prefix without the drive name but including a
12474 full partition specification.
12475
044e2e60
CW
124762010-06-16 Colin Watson <cjwatson@ubuntu.com>
12477
12478 * util/grub-mkconfig.in: Ignore non-option arguments, for
12479 compatibility with older versions (before 2010-06-12) which did the
12480 same. In particular, this makes it easier to ship an update-grub
12481 wrapper which is compatible with that used with GRUB Legacy (Debian
12482 bug #586056).
12483
5591324f
GS
124842010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
12485
12486 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
12487 for manual page generation.
12488
662e24d5
GS
124892010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
12490
12491 * po/POTFILES: Remove leftover commands/handler.c.
12492
8d70754e
CW
124932010-06-14 Colin Watson <cjwatson@ubuntu.com>
12494
12495 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
12496 left this script non-functional.
12497
41160e2e
CW
124982010-06-14 Colin Watson <cjwatson@ubuntu.com>
12499
12500 * docs/man/grub-emu.h2m: New file.
12501
b5309cc1
CW
125022010-06-13 Colin Watson <cjwatson@ubuntu.com>
12503
12504 * docs/grub.texi (Commands): Document reduced command set in rescue
12505 mode.
12506 (cpuid): New section.
12507
fcb2d090
GS
125082010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
12509
12510 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
12511 new partition naming style.
12512 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
12513
96e5c556
BC
125142010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
12515
12516 Add "-o grub.iso" like cmdline options support.
12517
12518 * util/grub-install.in: Improve cmdline option parsing.
12519 * util/grub-mkconfig.in: Likewise.
12520 * util/grub-mkrescue.in: Likewise.
12521 * util/grub-reboot.in: Likewise.
12522 * util/grub-set-default.in: Likewise.
12523 * util/i386/efi/grub-install.in: Likewise.
12524 * util/ieee1275/grub-install.in: Likewise.
12525 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12526
c16be99b
CW
125272010-06-12 Colin Watson <cjwatson@ubuntu.com>
12528
12529 * .bzrignore: Ignore 41_custom.
12530
ce08a9fb
TS
125312010-06-12 Thomas Schmitt <scdbackup@gmx.net>
12532
12533 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
12534
7beac90c
CW
125352010-06-12 Colin Watson <cjwatson@ubuntu.com>
12536
12537 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
12538 prototype declarations.
12539
12540 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
12541 generating fs, partmap, and video lists.
12542 * include/grub/fs.h (grub_fs_register): Omit prototype if
12543 GRUB_LST_GENERATOR is defined.
12544 * include/grub/partition.h (grub_partition_map_register): Likewise.
12545 * include/grub/video.h (grub_video_register): Likewise.
12546
1c8f0f8d
JM
125472010-06-12 Javier Martín <lordhabbit@gmail.com>
12548
12549 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
12550
a6085973
TS
125512010-06-12 Thomas Schmitt <scdbackup@gmx.net>
12552
12553 * util/grub-mkrescue.in: Support --xorriso argument.
12554
25c56d29
VS
125552010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
12556
12557 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
12558 Suggested by: Thomas Schmitt.
12559
e03e4b24
VS
125602010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
12561
12562 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
12563 Suggested by: Thomas Schmitt.
12564
57711df6
VS
125652010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
12566
12567 custom.cfg support.
12568
12569 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
12570 * util/grub.d/41_custom.in: New file.
12571
ee62c427
CW
125722010-06-12 Colin Watson <cjwatson@ubuntu.com>
12573
12574 * util/grub-mkrescue.in (make_image): Remove sh module, which has
12575 been merged back into normal.
12576
283af07a
CW
125772010-06-11 Colin Watson <cjwatson@ubuntu.com>
12578
12579 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
12580 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
12581
56a0d956
CW
125822010-06-11 Colin Watson <cjwatson@ubuntu.com>
12583
12584 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
12585 when generating manual pages.
12586 * docs/man/grub-bin2h.h2m: New file.
12587 * docs/man/grub-editenv.h2m: New file.
12588 * docs/man/grub-fstest.h2m: New file.
12589 * docs/man/grub-install.h2m: New file.
12590 * docs/man/grub-macho2img.h2m: New file.
12591 * docs/man/grub-mkconfig.h2m: New file.
12592 * docs/man/grub-mkdevicemap.h2m: New file.
12593 * docs/man/grub-mkfont.h2m: New file.
12594 * docs/man/grub-mkimage.h2m: New file.
12595 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
12596 * docs/man/grub-mkrelpath.h2m: New file.
12597 * docs/man/grub-mkrescue.h2m: New file.
12598 * docs/man/grub-ofpathname.h2m: New file.
12599 * docs/man/grub-pe2elf.h2m: New file.
12600 * docs/man/grub-probe.h2m: New file.
12601 * docs/man/grub-reboot.h2m: New file.
12602 * docs/man/grub-script-check.h2m: New file.
12603 * docs/man/grub-set-default.h2m: New file.
12604 * docs/man/grub-setup.h2m: New file.
12605
3a37e322
VS
126062010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
12607
12608 Use FOR_* macros instead of *_iterate whenever possible.
12609
12610 * commands/handler.c: Removed.
12611 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
12612 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
12613 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
12614 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
12615 (grub_probe_SOURCES): Remove kern/parser.c.
12616 (util/grub-script-check.c_DEPENDENCIES): Removed.
12617 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
12618 and grub_script_check_init.c.
12619 (grub_script_check_init.lst): Removed.
12620 (grub_script_check_init.h): Likewise.
12621 (grub_script_check_init.c): Likewise.
12622 (pkglib_MODULES): Remove handler.mod and sh.mod.
12623 (handler_mod_SOURCES): Removed.
12624 (handler_mod_CFLAGS): Likewise.
12625 (handler_mod_LDFLAGS): Likewise.
12626 (normal_mod_SOURCES): Remove normal/handler.c.
12627 Add script/main.c, script/script.c, script/execute.c,
12628 script/function.c, script/lexer.c, grub_script.tab.c
12629 and grub_script.yy.c.
12630 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
12631 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
12632 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
12633 (grub_setup_SOURCES): Remove kern/parser.c.
12634 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
12635 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
12636 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
12637 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
12638 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
12639 (grub_setup_SOURCES): Remove kern/parser.c.
12640 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
12641 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
12642 * include/grub/command.h (grub_command_iterate): Removed.
12643 (FOR_COMMANDS): New macro.
12644 * include/grub/dl.h (grub_dl): New member next.
12645 (grub_dl_iterate): Removed.
12646 (grub_dl_head): New variable declaration.
12647 (FOR_DL_MODULES): New macro.
12648 * include/grub/fs.h: Include list.h.
12649 (grub_fs): Make next first element.
12650 (grub_fs_list): New variable declaration.
12651 (grub_fs_register): Make inline.
12652 (grub_fs_unregister): Likewise.
12653 (grub_fs_iterate): Removed.
12654 (FOR_FILESYSTEMS): New macro.
12655 * include/grub/handler.h: Removed.
12656 * include/grub/list.h (grub_list_hook_t): Removed.
12657 (grub_list_test_t): Likewise.
12658 (grub_list_pop): Likewise.
12659 (grub_list_iterate): Likewise.
12660 (grub_list_insert): Likewise.
12661 (FOR_LIST_ELEMENTS): New macro.
12662 * include/grub/parser.h (grub_parser_class): Removed.
12663 (grub_parser_register): Likewise.
12664 (grub_parser_unregister): Likewise.
12665 (grub_parser_get_current): Likewise.
12666 (grub_parser_set_current): Likewise.
12667 (grub_register_rescue_parser): Likewise.
12668 (grub_rescue_parse_line): New function.
12669 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
12670 * include/grub/script_sh.h (grub_script_function_list): New variable
12671 declaration.
12672 (FOR_SCRIPT_FUNCTIONS): New macro.
12673 (grub_script_function_iterate): Removed.
12674 (grub_normal_parse_line): New prototype.
12675 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
12676 (FOR_DISABLED_TERM_INPUTS): Likewise.
12677 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
12678 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
12679 * include/grub/video.h (grub_video_adapter): Move 'next' to first
12680 element.
12681 (grub_video_register): Inline.
12682 (grub_video_unregister): Likewise.
12683 (grub_video_adapter_list): New variable declaration.
12684 (grub_video_iterate): Removed.
12685 (FOR_VIDEO_ADAPTERS): New macro.
12686 * kern/dl.c (grub_dl_list): Removed. All users updated.
12687 (grub_dl_iterate): Removed.
12688 * kern/fs.c (grub_fs_list): Make global.
12689 (grub_fs_register): Removed.
12690 (grub_fs_unregister): Likewise.
12691 (grub_fs_iterate): Likewise.
12692 * kern/handler.c: Removed.
12693 * kern/list.c (grub_list_pop): Removed.
12694 (grub_list_iterate): Likewise.
12695 (grub_list_insert): Likewise.
12696 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
12697 (grub_prio_list_insert): Don't use grub_list_insert.
12698 * kern/main.c (grub_register_rescue_parser): Don't call
12699 grub_register_rescue_parser.
12700 * kern/parser.c (grub_parser_class): Removed.
12701 (grub_parser_execute): Use grub_rescue_parse_line.
12702 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
12703 (grub_rescue_parser): Removed.
12704 (grub_register_rescue_parser): Likewise.
12705 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
12706 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
12707 (grub_auth_check_authentication): Likewise.
12708 * normal/completion.c (iterate_command): Removed.
12709 (grub_normal_do_completion): Use FOR_COMMANDS.
12710 * normal/handler.c: Removed.
12711 * normal/main.c (read_config_file): Remove parser changing.
12712 (grub_normal_execute): Don't call read_handler_list.
12713 (grub_normal_read_line_real): Statically allocate prompt.
12714 (grub_cmdline_run): Use grub_normal_parse_line.
12715 (GRUB_MOD_FINI): Don't call free_handler_list.
12716 * normal/menu_entry.c (run): Likewise.
12717 * script/function.c (grub_script_function_list): Make global.
12718 (grub_script_function_iterate): Removed.
12719 * script/main.c (grub_normal_parse_line): Make global.
12720 (grub_sh_parser): Removed.
12721 (GRUB_MOD_INIT): Likewise.
12722 (GRUB_MOD_FINI): Likewise.
12723 * tests/lib/functional_test.c (grub_functional_test): Use
12724 FOR_LIST_ELEMENTS.
12725 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
12726 (grub_test_run): Use FOR_LIST_ELEMENTS.
12727 * tests/lib/unit_test.c (main): Likewise.
12728 * util/deviceiter.c (grub_util_iterate_devices): Don't use
12729 grub_list_pop.
12730 * util/grub-fstest.c (grub_term_input_class): Removed.
12731 (grub_term_output_class): Likewise.
12732 * util/grub-probe.c: Likewise.
12733 * util/i386/pc/grub-setup.c: Likewise.
12734 * util/sparc64/ieee1275/grub-setup.c: Likewise.
12735 * util/grub-script-check.c (main): Don't call grub_init_all and
12736 grub_fini_all.
12737 * video/video.c (grub_video_adapter_list): Make global.
12738 (grub_video_register): Removed.
12739 (grub_video_unregister): Likewise.
12740 (grub_video_iterate): Likewise.
12741
6289c3a7
VS
127422010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
12743
12744 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
12745 reported by Henrique Ferreiro.
12746
91460247
RM
127472010-06-09 Robert Millan <rmh@gnu.org>
12748
12749 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
12750 ones, when both are available.
12751
0ea7c4f9
GS
127522010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
12753
12754 Make --version uniform and avoid hard-coded program name.
12755
12756 * util/grub-mkimage.c (main): Use `program_name' instead of
12757 hard-coded string.
12758 * util/i386/pc/grub-setup.c (main): Likewise.
12759 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
12760 * util/grub-install.in: Save the basename of $0 in $self, and use the
12761 latter in informational messages. Use the same format for --version
12762 as the binary programs.
12763 * util/grub-mkconfig.in: Likewise.
12764 * util/grub-mkrescue.in: Likewise.
12765 * util/grub-reboot.in: Likewise.
12766 * util/grub-set-default.in: Likewise.
12767 * util/i386/efi/grub-install.in: Likewise.
12768 * util/ieee1275/grub-install.in: Likewise.
12769 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12770
e8a6f3b6
GS
127712010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
12772
12773 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
12774 embedding area. Use <= instead of == when checking for non-emptiness.
12775
f4d095d7
GS
127762010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
12777
12778 * configure.ac: Add `.' to the directories searched for unifont.
12779
50e532ca
CW
127802010-06-08 Colin Watson <cjwatson@ubuntu.com>
12781
12782 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
12783 grub_script.yy.h.
12784
d39f3dec
CW
127852010-06-08 Colin Watson <cjwatson@ubuntu.com>
12786
12787 * docs/grub.texi (History): Expand to cover GRUB 2.
12788 (Serial terminal): Refer to `terminal_input' and `terminal_output'
12789 commands, not `terminal'.
12790 (serial): Likewise.
12791 (terminal_input): New section.
12792 (terminal_output): New section.
12793 (uppermem): New section (stub).
12794 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
12795
6ef0ddb4
CW
127962010-06-08 Colin Watson <cjwatson@ubuntu.com>
12797
12798 * docs/grub.texi (Security): Menu entries are unrestricted by
12799 default, not restricted to superusers as I had previously thought.
12800 Reword to account for this.
12801
e0f4c438
CW
128022010-06-07 Colin Watson <cjwatson@ubuntu.com>
12803
12804 * kern/emu/misc.c (device_mapper_null_log): New function.
12805 (grub_device_mapper_supported): New function.
12806 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
12807 prototype.
12808 * kern/emu/hostdisk.c (find_partition_start): Check whether
12809 device-mapper is supported before trying to use it.
12810 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
12811
da908200
CW
128122010-06-07 Colin Watson <cjwatson@ubuntu.com>
12813
12814 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
12815 (File name syntax): Likewise.
12816 (help): --all is no longer supported in GRUB 2. Be more precise
12817 about pattern matching.
12818
fb55c3ac
CW
128192010-06-07 Colin Watson <cjwatson@ubuntu.com>
12820
12821 * normal/completion.c (grub_normal_do_completion): When completing
12822 arguments to "set" and the current word contains an equals sign,
12823 skip to after the equals sign before starting completion.
12824
258c2573
CW
128252010-06-07 Colin Watson <cjwatson@ubuntu.com>
12826
12827 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
12828
ee75515e
CW
128292010-06-07 Colin Watson <cjwatson@ubuntu.com>
12830
12831 * docs/grub.texi (Network): New section.
12832 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
12833 `(nd)' as in GRUB Legacy.
12834 (pxe_unload): New section.
12835
a6a700aa
CW
128362010-06-07 Colin Watson <cjwatson@ubuntu.com>
12837
12838 * docs/grub.texi (Troubleshooting): `echo' is not usually available
12839 in the rescue shell, so recommend using `set' instead. Thanks,
12840 Jordan Uggla.
12841
4003dd38
CW
128422010-06-07 Colin Watson <cjwatson@ubuntu.com>
12843
12844 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
12845 (password): New section.
12846 (password_pbkdf2): New section.
12847 (search): New section.
12848 (Security): New section.
12849 (Troubleshooting): New section, currently very incomplete.
12850 (Invoking grub-mkpasswd-pbkdf2): New section.
12851 (Internals): New section, currently very incomplete.
12852
e1cbcc40
CW
128532010-06-07 Colin Watson <cjwatson@ubuntu.com>
12854
12855 * util/grub.d/00_header.in: Add some more quoting (of
12856 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
12857 work again.
12858 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
12859
db8fa1ad
CW
128602010-06-07 Colin Watson <cjwatson@ubuntu.com>
12861
12862 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
12863 to `count', fixing variable shadowing that broke the -c option.
12864
128652010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
12866
12867 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
12868 in case they contain spaces.
12869
f28a9212
CW
128702010-06-04 Colin Watson <cjwatson@ubuntu.com>
12871
12872 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
12873 "part_" to partmap module names, in line with grub-install.
12874 Reported by: Jindřich Makovička (Debian bug #584426).
12875
9cdfe32f
CW
128762010-06-04 Colin Watson <cjwatson@ubuntu.com>
12877
12878 * util/grub-mkimage.c: Make target-related error messages slightly
12879 more helpful; -O talks about "format". Explicitly point to the use
12880 of -O if no target is specified.
12881 Reported by: Didier Raboud (Debian bug #584415).
12882
795b593a
CW
128832010-06-03 Colin Watson <cjwatson@ubuntu.com>
12884
12885 * INSTALL: Document several build requirements for optional features
12886 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
12887
9d9b5833
GS
128882010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
12889
12890 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
12891 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
12892 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
12893
0819fec8
CW
128942010-06-02 Colin Watson <cjwatson@ubuntu.com>
12895
12896 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
12897 Thanks to Jordan Uggla for spotting this.
12898
49396b4f
VS
128992010-06-02 Aleš Nesrsta <starous@volny.cz>
12900
12901 Finally make USB usable.
12902
12903 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
12904 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
12905 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
12906 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
12907 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
12908 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
12909 (GRUB_OHCI_FSMPS): Likewise.
12910 (GRUB_OHCI_PERIODIC_START): Likewise.
12911 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
12912 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
12913 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
12914 (GRUB_OHCI_SET_PORT_RESET): Likewise.
12915 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
12916 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
12917 (grub_ohci_transaction): Likewise.
12918 (grub_ohci_transfer): Improve condition detection algorithms.
12919 Handle toggle property. Program the transactions correctly.
12920 Improve error handling. Various important fixups.
12921 (grub_ohci_portstatus): Put register writes in right order.
12922 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
12923 (grub_uhci_transfer): Don't show "failed" message on success.
12924 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
12925 array.
12926 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
12927 determine its size.
12928 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
12929 before initialization is completed. Use IN direction for empty
12930 transfers. Use last_trans and compute toggle.
12931 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
12932 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
12933 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
12934 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
12935 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
12936 (grub_usb_device): Increase toggle to 256.
12937 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
12938 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
12939 GRUB_USBMS_SUBCLASS_SFF8070.
12940 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
12941 (grub_scsi_inquiry): New member page and alloc_length.
12942 (grub_scsi_request_sense): New structure.
12943 (grub_scsi_request_sense_data): Likewise.
12944 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
12945 control.
12946 * disk/scsi.c (grub_scsi_request_sense): New function.
12947 (grub_scsi_test_unit_ready): Likewise.
12948 (grub_scsi_inquiry): Fill new fields.
12949 (grub_scsi_read_capacity): Likewise.
12950 (grub_scsi_read10): Add request sense at the end.
12951 (grub_scsi_read12): Likewise.
12952 (grub_scsi_write10): Likewise.
12953 (grub_scsi_write12): Likewise.
12954 (grub_scsi_open): Add Test Unit Ready.
12955 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
12956 Support additional subclasses. Con't clear halt yet. Activate the
12957 proper config. Calculate LUNs correctly.
12958 (grub_usbms_transfer): Various important fixups.
12959
129602010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
12961
12962 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
12963 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
12964 (grub_ohci_fini_hw): New function.
12965 (grub_ohci_restore_hw): Likewise.
12966 (GRUB_MOD_INIT(ohci)): Register preboot hook.
12967 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
12968 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
12969
129702010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
12971
12972 Dedicated DMA allocations.
12973
12974 * bus/pci.c (grub_memalign_dma32): New function
12975 (grub_dma_free): Likewise.
12976 (grub_dma_get_virt): Likewise.
12977 (grub_dma_get_phys): Likewise.
12978 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
12979 (grub_ohci_pci_iter): Use dma32_alloc.
12980 (grub_ohci_transfer): Likewise.
12981 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
12982 (grub_usb_bulk_readwrite): Likewise.
12983 * include/grub/pci.h: Add declarations.
12984
129852010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
12986
12987 CS5536 support.
12988
12989 * bus/cs5536.c: New file.
12990 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
12991 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
12992 (cs5536_mod_SOURCES): New variable.
12993 (cs5536_mod_CFLAGS): Likewise.
12994 (cs5536_mod_LDFLAGS): Likewise.
12995 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
12996 machine/pci.h.
12997 (kernel_img_SOURCES): Add bus/cs5536.c.
12998 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
12999 usb_keyboard.mod.
13000 (usb_mod_SOURCES): New variable.
13001 (usb_mod_CFLAGS): New variable.
13002 (usb_mod_LDFLAGS): New variable.
13003 (usbtest_mod_SOURCES): New variable.
13004 (usbtest_mod_CFLAGS): New variable.
13005 (usbtest_mod_LDFLAGS): New variable.
13006 (ohci_mod_SOURCES): New variable.
13007 (ohci_mod_CFLAGS): New variable.
13008 (ohci_mod_LDFLAGS): New variable.
13009 (usbms_mod_SOURCES): New variable.
13010 (usbms_mod_CFLAGS): New variable.
13011 (usbms_mod_LDFLAGS): New variable.
13012 (usb_keyboard_mod_SOURCES): New variable.
13013 (usb_keyboard_mod_CFLAGS): New variable.
13014 (usb_keyboard_mod_LDFLAGS): New variable.
13015 * include/grub/smbus.h: New file.
13016 * include/grub/cs5536.h: New file.
13017
0b35b2a9
CW
130182010-06-02 Colin Watson <cjwatson@ubuntu.com>
13019
13020 * util/grub.d/00_header.in: Add safety check to make sure that
13021 ${locale_dir} exists before trying to probe it.
13022
ca0afd5b
CW
130232010-06-02 Colin Watson <cjwatson@ubuntu.com>
13024
13025 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
13026 per the GNU Coding Standards; this is now too obscure to be worth
13027 documenting.
13028 (QNX): Likewise.
13029 (chainloader): Remove cross-reference to `SCO UnixWare'.
13030
1c41aa78
CW
130312010-06-02 Colin Watson <cjwatson@ubuntu.com>
13032
13033 * docs/grub.texi (Chain-loading): New section.
13034 (DOS/Windows): New section, borrowed from GRUB Legacy with details
13035 adjusted for GRUB 2.
13036 (SCO UnixWare): Likewise.
13037 (QNX): Likewise.
13038 (chainloader): Add reference to `Block list syntax'.
13039 (drivemap): New section.
13040 (parttool): New section.
13041
bb8ea0f5
CW
130422010-06-02 Colin Watson <cjwatson@ubuntu.com>
13043
13044 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
13045 the grub shell'.
13046 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
13047 (Installing GRUB using grub-install): Remove reference to the grub
13048 shell; mention `grub-mkimage' and `grub-setup' instead.
13049 (Invoking grub-install): Likewise.
13050 (Interface): Add reference to `Menu entry editor'.
13051 (serial): Remove `--device' option.
13052
288dd6ed
CW
130532010-06-02 Colin Watson <cjwatson@ubuntu.com>
13054
13055 * docs/grub.texi (Configuration): New section, documenting
13056 configuration file generation using grub-mkconfig. I've left a slot
13057 for documenting the full shell scripting format but have not yet
13058 started on writing that up.
13059 (Invoking grub-mkconfig): New section.
13060
34c9f0e9
CW
130612010-06-02 Colin Watson <cjwatson@ubuntu.com>
13062
13063 * docs/grub.texi (direntry): Remove grub-terminfo reference.
13064 (GNU GRUB manual): Likewise.
13065 (General commands): Update description of `terminfo' for GRUB 2.
13066
9121567e
CW
130672010-06-02 Colin Watson <cjwatson@ubuntu.com>
13068
13069 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
13070 (GRUB_MOD_INIT): Fix capitalisation.
13071 * docs/grub.texi (Command-line and menu entry commands): Document
13072 gettext and gptsync commands.
13073
ab631611
CW
130742010-06-02 Colin Watson <cjwatson@ubuntu.com>
13075
13076 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
13077 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
13078
bde4a9ac
CW
130792010-06-01 Colin Watson <cjwatson@ubuntu.com>
13080
13081 Add btrfs probing support, currently only in the single-device case.
13082
13083 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
13084 function.
13085 (grub_guess_root_device): Call find_root_device_from_mountinfo
13086 before looking in /dev.
13087
b1d17e10
VS
130882010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13089
13090 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
13091 GRUB_DISK_SIZE_UNKNOWN.
13092 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
13093
dfbfe004
JS
130942010-05-31 Jiro SEKIBA <jir@unicus.jp>
13095
13096 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
13097 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
13098 corrupted or not synced properly.
13099
c2ffc8e9
VS
131002010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13101
13102 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
13103 Reported by: Seth Goldberg.
13104
56293166
VS
131052010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13106
13107 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
13108 addition of dest.
13109 Reported by: Seth Goldberg.
13110
7620e7de
VS
131112010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13112
13113 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
13114 Reported by: Seth Goldberg.
13115
c837af3f
VS
131162010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13117
13118 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
13119 64-bit address as signed on MIPS.
13120
c7c75cf4
CW
131212010-05-28 Colin Watson <cjwatson@ubuntu.com>
13122
13123 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
13124 to the empty string.
13125
fa4b8490
BC
131262010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
13127
13128 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
13129
13130 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
13131 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
13132 * kern/misc.c (__enable_execute_stack): Disable on
13133 GRUB_MACHINE_EMU.
13134
a33075b9
CW
131352010-05-28 Colin Watson <cjwatson@ubuntu.com>
13136
13137 Make grub-probe work with symbolic links under /dev/mapper as well
13138 as with real block devices. The Linux world seems to be (at best)
13139 in transition here, and GRUB shouldn't get caught in the middle.
13140
13141 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
13142 /dev/mapper.
13143
d8708134
CW
131442010-05-27 Colin Watson <cjwatson@ubuntu.com>
13145
13146 * util/grub-script-check.c (main): Ensure defined behaviour on empty
13147 input files (in which case exit zero).
13148
db2102a0
CW
131492010-05-27 Colin Watson <cjwatson@ubuntu.com>
13150
13151 * kern/emu/misc.c (canonicalize_file_name): realpath can still
13152 return NULL for various reasons even if it has a maximum-length
13153 buffer: for example, there might be a symlink loop, or the path
13154 might exceed PATH_MAX. If this happens, return NULL.
13155
5fdba519
RM
131562010-05-27 Robert Millan <rmh@gnu.org>
13157
13158 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
13159 partmap module to handle cross-partmap setups.
13160 Reported by Orestes Mas. Gràcies!
13161
d1d368e4
CW
131622010-05-27 Colin Watson <cjwatson@ubuntu.com>
13163
13164 * util/grub-mkrescue.in: Initialise override_dir rather than
13165 assuming that it's unset or empty in the environment.
13166
95ac3c73
GS
131672010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
13168
13169 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
13170 variable index into p_index to suppress a warning with -Wshadow.
13171
7d8c0213
BC
131722010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
13173
13174 * INSTALL: Added flex >= 2.5.35 requirement.
13175
db4d5813
VS
131762010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13177
13178 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
13179
f24f4300
VS
131802010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13181
13182 cmostest support.
13183
13184 * commands/i386/cmostest.c: New file.
13185 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
13186 (cmostest_mod_SOURCES): New variable.
13187 (cmostest_mod_CFLAGS): Likewise.
13188 (cmostest_mod_LDFLAGS): Likewise.
13189 * conf/i386-pc.rmk: Likewise.
13190 * docs/grub.texi (Vendor power-on keys): New section.
13191 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
13192 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
13193 and GRUB_BUTTON_CMOS_ADDRESS.
13194 * util/grub.d/00_header.in: Handle powering-on by separate button.
13195
ad603f61
VS
131962010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13197
13198 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
13199 Removed drawing_scrollbar argument. All users updated
13200 Fixes #29792.
13201 Reported by Jo Shields
13202
3ecb080a
VS
132032010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13204
13205 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
13206 buffer since gfxterm handles double repaint.
13207
5f2316c1
VS
132082010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13209
13210 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
13211 * term/gfxterm.c (real_scroll): Likewise.
13212
9a25f885
VS
132132010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
13214
13215 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
13216 before calling BIOS.
13217
39fbb79a
VS
132182010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
13219
13220 * include/grub/i18n.h: Always enable grub_gettext.
13221
228cfa97
VS
132222010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
13223
13224 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
13225 partition naming style.
13226
21717c8f
CW
132272010-05-21 Colin Watson <cjwatson@ubuntu.com>
13228
13229 * util/grub-mkconfig.in: Fix handling of -o so that it works when
13230 not the first option.
13231
c0f48e65
CW
132322010-05-20 Colin Watson <cjwatson@ubuntu.com>
13233
13234 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
13235
96779aec
CW
132362010-05-20 Colin Watson <cjwatson@ubuntu.com>
13237
13238 * util/misc.c: Move inclusion of <limits.h> to ...
13239 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
13240
fa9d256e
GS
132412010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
13242
13243 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
13244 Fix merge error in NetBSD code.
13245 (find_partition_start) [__NetBSD__]: Likewise.
13246
123b7a85
BC
132472010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
13248
13249 Fix grub-mkrescue usage unit testing.
13250
13251 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
13252
74276c0d
CF
132532010-05-18 Christian Franke <franke@computer.org>
13254
13255 * util/grub.d/10_windows.in: Use path names instead of
13256 drive letters to prevent warning from Cygwin 1.7.
13257 Add drivemap command to menuentry if needed.
13258
c4f7b523
ST
132592010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
13260
13261 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
13262 gnumach and gnumach.gz.
13263
95b97950
VS
132642010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13265
13266 * include/grub/i18n.h (gettext): Inline instead of using #define.
13267 (grub_gettext): Likewise.
13268 (_): Likewise.
13269
01b8d2d7
VS
132702010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13271
13272 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
13273 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
13274 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
13275 (main): Add a slash after pkglibdirroot.
13276
654e1d1e
VS
132772010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13278
13279 * util/grub-install.in: Add missing "in" keyword.
13280
26966aeb
VS
132812010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13282
13283 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
13284 Reported by: Seth Goldberg.
13285
75006747
VS
132862010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13287
13288 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
13289
74cbf5bd
CW
132902010-05-18 Colin Watson <cjwatson@ubuntu.com>
13291
13292 * configure.ac: Check for Linux device-mapper support.
13293
13294 * util/hostdisk.c (device_is_mapped): New function.
13295 (find_partition_start): New function, partly broken out from
13296 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
13297 device-mapper support added.
13298 (linux_find_partition): Use find_partition_start.
13299 (convert_system_partition_to_system_disk): Add `st' argument.
13300 Support Linux /dev/mapper/* devices if device-mapper support is
13301 available; only DM-RAID devices are understood at present.
13302 (find_system_device): Add `st' argument. Pass it to
13303 convert_system_partition_to_system_disk.
13304 (grub_util_biosdisk_get_grub_dev): Pass stat result to
13305 find_system_device and convert_system_partition_to_system_disk. Use
13306 find_partition_start.
13307
13308 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
13309 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
13310 * util/deviceiter.c [__linux__]: Define MINOR.
13311 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
13312 * util/mkdevicemap.c (grub_putchar): New function.
13313 (grub_getkey): New function.
13314 (grub_refresh): New function.
13315 (main): Set debug=all if -v -v is used.
13316
355b51e9
CW
133172010-05-18 Colin Watson <cjwatson@ubuntu.com>
13318
13319 Fix build with non-GNU libcs.
13320
13321 * util/misc.c (canonicalize_file_name): Move to ...
13322 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
13323 grub_make_system_path_relative_to_its_root.
13324
7fb5c25f
CW
133252010-05-18 Colin Watson <cjwatson@ubuntu.com>
13326
13327 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
13328 we handle finding grub-mkimage. Default to finding grub-mkimage in
13329 ${bindir} with program_transform_name applied, and provide a
13330 --grub-mkimage option to override this.
13331
1d3293d6
VS
133322010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13333
13334 Remove grub-mkisofs.
13335
13336 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
13337 (grub_mkisofs_SOURCES): Removed.
13338 (grub_mkisofs_CFLAGS): Removed.
13339 * util/mkisofs/defaults.h: Removed.
13340 * util/mkisofs/eltorito.c: Likewise.
13341 * util/mkisofs/exclude.h: Likewise.
13342 * util/mkisofs/hash.c: Likewise.
13343 * util/mkisofs/include/: Likewise.
13344 * util/mkisofs/include/fctldefs.h: Likewise.
13345 * util/mkisofs/include/mconfig.h: Likewise.
13346 * util/mkisofs/include/prototyp.h: Likewise.
13347 * util/mkisofs/include/statdefs.h: Likewise.
13348 * util/mkisofs/iso9660.h: Likewise.
13349 * util/mkisofs/joliet.c: Likewise.
13350 * util/mkisofs/match.c: Likewise.
13351 * util/mkisofs/match.h: Likewise.
13352 * util/mkisofs/mkisofs.c: Likewise.
13353 * util/mkisofs/mkisofs.h: Likewise.
13354 * util/mkisofs/msdos_partition.h: Likewise.
13355 * util/mkisofs/multi.c: Likewise.
13356 * util/mkisofs/name.c: Likewise.
13357 * util/mkisofs/rock.c: Likewise.
13358 * util/mkisofs/tree.c: Likewise.
13359 * util/mkisofs/write.c: Likewise.
13360
5dde9afe
VS
133612010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13362
13363 Unify grub-mkimage accross platforms.
13364
13365 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
13366 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
13367 (grub_mkelfimage_SOURCES): Removed.
13368 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
13369 (util/grub-mkimage.c_DEPENDENCIES): .. this.
13370 (bin_UTILITIES): Add grub-mkimage.
13371 (grub_mkimage_SOURCES): New variable.
13372 (kernel_img_HEADERS): Remove machine/kernel.h.
13373 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
13374 (pkglib_PROGRAMS): Add kernel.img.
13375 (kernel_img_HEADERS): Add machine/kernel.h.
13376 (kernel_img_FORMAT): Removed.
13377 (bin_UTILITIES): Remove grub-mkimage.
13378 (grub_mkimage_SOURCES): Removed.
13379 (grub_mkimage_CFLAGS): Likewise.
13380 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13381 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
13382 (pkglib_PROGRAMS): Add kernel.img.
13383 (bin_UTILITIES): Remove grub-mkimage.
13384 (grub_mkimage_SOURCES): Removed.
13385 (grub_mkimage_CFLAGS): Likewise.
13386 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13387 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
13388 (pkglib_PROGRAMS): Add kernel.img.
13389 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
13390 (pkglib_PROGRAMS): Add kernel.img.
13391 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
13392 (grub_mkimage_SOURCES): Removed.
13393 (grub_mkimage_CFLAGS): Likewise.
13394 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13395 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
13396 (pkglib_PROGRAMS): Add kernel.img.
13397 (bin_UTILITIES): Remove grub-mkimage.
13398 (grub_mkimage_SOURCES): Removed.
13399 (grub_mkimage_CFLAGS): Likewise.
13400 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13401 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
13402 (grub_mkimage_SOURCES): Removed.
13403 (grub_mkimage_CFLAGS): Likewise.
13404 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13405 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
13406 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
13407 (grub_pe32_optional_header): ... this.
13408 (grub_pe64_optional_header): ... and this. All users updated.
13409 (GRUB_PE32_PE32_MAGIC): Split into ..
13410 (GRUB_PE32_PE32_MAGIC): .. this.
13411 (GRUB_PE32_PE64_MAGIC): .. and this.
13412 (GRUB_PE32_SIGNATURE_SIZE): New definition.
13413 * include/grub/elf.h (PT_GNU_STACK): New definition.
13414 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
13415 * include/grub/i386/efi/kernel.h: Likewise.
13416 * include/grub/i386/kernel.h: Likewise.
13417 * include/grub/i386/pc/kernel.h: Likewise.
13418 * include/grub/i386/qemu/boot.h: Likewise.
13419 * include/grub/mips/kernel.h: Likewise.
13420 * include/grub/mips/qemu-mips/kernel.h: Likewise.
13421 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
13422 * include/grub/powerpc/kernel.h: Likewise.
13423 * include/grub/sparc64/ieee1275/boot.h: Likewise.
13424 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
13425 * include/grub/sparc64/kernel.h: Likewise.
13426 * include/grub/x86_64/efi/kernel.h: Likewise.
13427 * include/grub/x86_64/kernel.h: Likewise.
13428 * include/grub/offsets.h: New file.
13429 * include/grub/kernel.h (grub_module_info): Split into ...
13430 (grub_module_info32): ... this.
13431 (grub_module_info64): ... and this.
13432 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
13433 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
13434 (grub_boot_blocklist): Moved from here ...
13435 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
13436 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
13437 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
13438 * include/grub/types.h (grub_target_to_host16): Removed.
13439 (grub_target_to_host32): Likewise.
13440 (grub_target_to_host64): Likewise.
13441 (grub_host_to_target16): Likewise.
13442 (grub_host_to_target32): Likewise.
13443 (grub_host_to_target64): Likewise.
13444 (grub_host_to_target_addr): Likewise.
13445
13446 Support grub-mkrescue for efi, coreboot and qemu.
13447
13448 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
13449 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
13450 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
13451 * util/grub-mkrawimage.c: Moved from here ...
13452 * util/grub-mkimage.c: ... here. All users updated.
13453 (ALIGN_ADDR): Use image_target.
13454 (TARGET_NO_FIELD): New const.
13455 (image_target_desc): New type.
13456 (image_targets): New array.
13457 (grub_target_to_host64): Use image_target.
13458 (grub_target_to_host32): Likewise.
13459 (grub_target_to_host16): Likewise.
13460 (grub_host_to_target64): Likewise.
13461 (grub_host_to_target32): Likewise.
13462 (grub_host_to_target16): Likewise.
13463 (grub_host_to_target_addr): Likewise.
13464 (generate_image): Handle multiimage.
13465 (main): Require -O parameter. All users updated.
13466 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
13467 util/efi/grub-mkimage.c
13468 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
13469 New option --rom-directory.
13470 Use xorriso.
13471 * util/i386/efi/grub-mkimage.c: Removed.
13472 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
13473 (grub_target_to_host32): Likewise.
13474 (grub_target_to_host64): Likewise.
13475 (grub_host_to_target16): Likewise.
13476 (grub_host_to_target32): Likewise.
13477 (grub_host_to_target64): Likewise.
13478 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
13479 (grub_target_to_host32): Likewise.
13480 (grub_target_to_host64): Likewise.
13481 (grub_host_to_target16): Likewise.
13482 (grub_host_to_target32): Likewise.
13483 (grub_host_to_target64): Likewise.
13484
f4fc97d0
BC
134852010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
13486
13487 Source tree is reorganized for emu build.
13488
13489 * include/grub/util/console.h: Move from here...
13490 * include/grub/emu/console.h: ...to here.
13491 * include/grub/util/getroot.h: Move from here...
13492 * include/grub/emu/getroot.h: ...to here.
13493 * include/grub/util/hostdisk.h: Move from here...
13494 * include/grub/emu/hostdisk.h: ...to here.
13495 * util/console.c: Move from here...
13496 * kern/emu/console.c: ...to here.
13497 * util/getroot.c: Move from here...
13498 * kern/emu/getroot.c: ...to here.
13499 * util/grub-emu.c: Move from here...
13500 * kern/emu/main.c: ...to here.
13501 * util/hostdisk.c: Move from here...
13502 * kern/emu/hostdisk.c: ...to here.
13503 * util/hostfs.c: Move from here...
13504 * kern/emu/hostfs.c: ...to here.
13505 * util/mm.c: Move from here...
13506 * kern/emu/mm.c: ...to here.
13507 * util/pci.c: Move from here...
13508 * bus/emu/pci.c: ...to here.
13509 * util/sdl.c: Move from here...
13510 * video/emu/sdl.c: ...to here.
13511 * util/time.c: Move from here...
13512 * kern/emu/time.c: ...to here.
13513 * util/usb.c: Move from here...
13514 * bus/usb/emu/usb.c: ...to here.
13515
13516 * include/grub/emu/misc.h: New header for grub-emu functions.
13517 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
13518
13519 * conf/any-emu.rmk: Rule updates for above renames.
13520 * conf/common.rmk: Likewise.
13521 * conf/i386-pc.rmk: Likewise.
13522 * conf/i386-qemu.rmk: Likewise.
13523 * conf/mips.rmk: Likewise.
13524 * conf/sparc64-ieee1275.rmk: Likewise.
13525 * conf/x86-efi.rmk: Likewise.
13526
13527 * disk/lvm.h: #include updates for above renames.
13528 * util/grub-mkrelpath.c: Likewise.
13529 * util/grub-probe.c: Likewise.
13530 * util/i386/pc/grub-setup.c: Likewise.
13531 * util/sparc64/ieee1275/grub-setup.c: Likewise.
13532 * kern/emu/console.c: Likewise.
13533 * kern/emu/getroot.c: Likewise.
13534 * kern/emu/hostdisk.c: Likewise.
13535 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
13536
13537 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
13538 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
13539 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
13540 * util/misc.c: Remove grub-emu functions.
13541
cced9145
VS
135422010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
13543
13544 Fix gfxmenu crash.
13545 Reported by: Thorsten Grützmacher.
13546
13547 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
13548 timeout hook.
13549 (circprog_set_property): Register and unregister timeout hook.
13550 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
13551 (label_destroy): Free template. and unregister hook.
13552 (label_set_state): New function.
13553 (label_set_property): Handle templates and hooks.
13554 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
13555 timeout hook.
13556 (progress_bar_set_property): Register and unregister timeout hook.
13557 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
13558 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
13559 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
13560 (update_timeout_visit): Removed.
13561 (update_timeouts): New function.
13562 (redraw_timeouts): Likewise.
13563 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
13564 (grub_gfxmenu_clear_timeout): Likewise.
13565 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
13566 (grub_gfxmenu_timeout_notify): Likewise.
13567 (grub_gfxmenu_timeout_notifications): New external variable.
13568 (grub_gfxmenu_timeout_register): New function.
13569 (grub_gfxmenu_timeout_unregister): Likewise.
13570
c6e5caab
VS
135712010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
13572
13573 Transform (broken) vga terminal into (working) vga video driver.
13574
13575 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
13576 video/i386/pc/vga.c.
13577 * include/grub/video.h (grub_video_driver_id):
13578 Add GRUB_VIDEO_DRIVER_VGA.
13579 * term/i386/pc/vga.c: Renamed to ...
13580 * video/i386/pc/vga.c: ...this
13581 (DEBUG_VGA): Removed.
13582 (CHAR_WIDTH): Likewise.
13583 (CHAR_HEIGHT): Likewise.
13584 (TEXT_WIDTH): Likewise.
13585 (TEXT_HEIGHT): Likewise.
13586 (DEFAULT_FG_COLOR): Likewise.
13587 (DEFAULT_BG_COLOR): Likewise.
13588 (colored_char): Likewise.
13589 (xpos): Likewise.
13590 (ypos): Likewise.
13591 (cursor_state): Likewise.
13592 (fg_color): Likewise.
13593 (bg_color): Likewise.
13594 (text_buf): Likewise.
13595 (page): Likewise.
13596 (font): Likewise.
13597 (framebuffer): New variable.
13598 (set_read_map): Disabled.
13599 (setup): New variable.
13600 (is_target): Likewise.
13601 (grub_vga_mod_init): Likewise.
13602 (grub_vga_mod_fini): Likewise.
13603 (check_vga_mem): Likewise.
13604 (write_char): Likewise.
13605 (write_cursor): Likewise.
13606 (scroll_up): Likewise.
13607 (grub_vga_putchar): Likewise.
13608 (grub_vga_getcharwidth): Likewise.
13609 (grub_vga_getwh): Likewise.
13610 (grub_vga_getxy): Likewise.
13611 (grub_vga_gotoxy): Likewise.
13612 (grub_vga_cls): Likewise.
13613 (grub_vga_setcolorstate): Likewise.
13614 (grub_vga_setcursor): Likewise.
13615 (grub_video_vga_init): New function.
13616 (grub_video_vga_setup): Likewise.
13617 (grub_video_vga_fini): Likewise.
13618 (update_target): Likewise.
13619 (grub_video_vga_blit_bitmap): Likewise.
13620 (grub_video_vga_blit_render_target): Likewise.
13621 (grub_video_vga_set_active_render_target): Likewise.
13622 (grub_video_vga_get_active_render_target): Likewise.
13623 (grub_video_vga_swap_buffers): Likewise.
13624 (grub_video_vga_set_palette): Likewise.
13625 (grub_video_vga_get_info_and_fini): Likewise.
13626 (grub_vga_term): Removed.
13627 (grub_video_vga_adapter): New variable.
13628 (GRUB_MOD_INIT): Register a video driver instead of terminal.
13629 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
13630
2bf61a98
VS
136312010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13632
13633 * video/readers/jpeg.c: Indented.
13634
09ddcd11
VS
136352010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13636
13637 Various jpeg cleanups.
13638
13639 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
13640 (grub_jpeg_decode_quan_table): Use sizeof.
13641 (grub_jpeg_decode_du): Use ARRAY_SIZE.
13642
e5507505
PH
136432010-05-05 Peter Hurley <No e-mail available> (tiny change)
13644
13645 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
13646 tables. Ignore non-last ac bit.
13647 (grub_jpeg_decode_quan_table): Likewise.
13648
7e720a9b
VS
136492010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13650
13651 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
13652 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
13653 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
13654 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
13655 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
13656 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
13657
a7fc080b
VS
136582010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13659
13660 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
13661 error.
13662
2bf6012d
VS
136632010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13664
13665 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
13666
265d68cd
VS
136672010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
13668
13669 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
13670 condition.
13671
136722010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
13673
13674 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
13675 part.
13676
265d68cd 136772010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
13678
13679 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
13680 pointers.
13681
265d68cd 136822010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
13683
13684 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
13685
d1b61374
CF
136862010-05-01 Christian Franke <franke@computer.org>
13687
13688 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
13689 Remove broken Cygwin path conversion.
13690 * util/misc.c: [__CYGWIN__] Add include and define.
13691 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
13692 for Cygwin 1.7.
13693 (make_system_path_relative_to_its_root): Simplify loop, replace early
13694 return by break.
13695 [__CYGWIN__] Add conversion to win32 path.
13696 Include "/" case in trailing slash removal.
13697
3558c6e9
VS
136982010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13699
13700 * kern/main.c (grub_load_config): Fix copy-pasted comment.
13701 Reported by: Seth Goldberg
13702
f5f3ff93
VS
137032010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13704
13705 * commands/help.c (grub_cmd_help): Fix a typo.
13706 Reported by: Seth Goldberg
13707
d8b5cd40
VS
137082010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13709
13710 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
13711 name and add N_.
13712 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
13713 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
13714 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
13715 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
13716 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
13717 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
13718 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
13719 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
13720 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
13721 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
13722 * normal/context.c (GRUB_MOD_INIT): Likewise.
13723 * normal/main.c (GRUB_MOD_INIT): Likewise.
13724 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
13725 * term/serial.c (GRUB_MOD_INIT): Likewise.
13726 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
13727
88c14915
VS
137282010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13729
13730 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
13731 extra == 0.
13732
165134bc
VS
137332010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13734
13735 * commands/iorw.c: New file.
13736 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
13737 (iorw_mod_SOURCES): New variable.
13738 (iorw_mod_CFLAGS): Likewise.
13739 (iorw_mod_LDFLAGS): Likewise.
13740
c5ac9b32
VS
137412010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13742
13743 Hotkey support
13744
13745 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
13746 * normal/main.c (hotkey_aliases): New variable.
13747 (grub_normal_add_menu_entry): Parse "--hotkey".
13748 * normal/menu_text.c (run_menu): Handle hotkeys.
13749
ce60689c
VS
137502010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13751
13752 * kern/i386/coreboot/init.c (grub_machine_init): Call
13753 grub_machine_mmap_init on qemu.
13754
0359d006
VS
137552010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13756
13757 * boot/i386/qemu/boot.S: Add a missing .code16.
13758
7819a456
VS
137592010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13760
13761 Use LBIO on coreboot.
13762
13763 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
13764 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
13765 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
13766 New declaration.
13767 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
13768 grub_machine_mmap_init on coreboot.
13769 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
13770 GRUB_LINUXBIOS_MEMBER_LINK.
13771 (grub_machine_mmap_iterate): Fix declaration.
13772 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
13773
7210dca9
VS
137742010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13775
13776 Split coreboot and multiboot ports.
13777
13778 * conf/i386-multiboot.rmk: New file.
13779 * configure.ac: Add multiboot port.
13780 * include/grub/i386/multiboot/boot.h: New file.
13781 * include/grub/i386/multiboot/console.h: Likewise.
13782 * include/grub/i386/multiboot/init.h: Likewise.
13783 * include/grub/i386/multiboot/kernel.h: Likewise.
13784 * include/grub/i386/multiboot/loader.h: Likewise.
13785 * include/grub/i386/multiboot/memory.h: Likewise.
13786 * include/grub/i386/multiboot/serial.h: Likewise.
13787 * include/grub/i386/multiboot/time.h: Likewise.
13788 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
13789 * loader/multiboot.c: Likewise.
13790 * loader/multiboot_mbi2.c: Likewise.
13791 * util/grub-mkrescue.in: Generate multiboot rescue.
13792
6f8aaf68
VS
137932010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13794
3080f7a7
VS
13795 * kern/parser.c (grub_parser_execute): Cope with read-only config.
13796
137972010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13798
13799 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
13800
13801 * commands/terminal.c (abstract_terminal): New struct.
13802 (handle_command): New function. Based on grub_cmd_terminal_input.
13803 (grub_cmd_terminal_input): Use handle_command.
13804 (grub_cmd_terminal_output): Use handle_command.
13805
a8ebb841
BC
138062010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
13807
13808 Fix comment handling.
13809
13810 * tests/grub_script_comments.in: New testcase.
13811 * conf/tests.rmk: Rules for new testcase.
13812 * script/yylex.l: Updated flex rules.
13813
bb06ba08
ST
138142010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
13815
13816 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
13817 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
13818 if argc is 1.
bb06ba08 13819
cc9d2425
VS
138202010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
13821
13822 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
13823 autogen issues.
13824
460d8402
CF
138252010-04-26 Christian Franke <franke@computer.org>
13826
13827 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
13828 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
13829 (grub_get_prefix): Remove function.
13830 * util/grub-emu.c (main): Replace grub_get_prefix () call by
13831 make_system_path_relative_to_its_root ().
13832 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
13833
553c01f9
CF
138342010-04-24 Christian Franke <franke@computer.org>
13835
13836 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
13837 (kernel_img_LDFLAGS): Remove -static-libgcc.
13838
2aec1692
CF
138392010-04-24 Christian Franke <franke@computer.org>
13840
13841 * configure.ac: Do not CHECK_BSS_START_SYMBOL
13842 and CHECK_END_SYMBOL if grub-emu is built.
13843 Unset TARGET_OBJ2ELF if grub-emu is built
13844 without module support.
13845
f67dc308
JS
138462010-04-24 Jiro SEKIBA <jir@unicus.jp>
13847
13848 Nilfs2 support.
13849
13850 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
13851 (grub_fstest_SOURCES): Likewise.
13852 (pkglib_MODULES): Add nilfs2.mod.
13853 (nilfs2_mod_SOURCES): New variable.
13854 (nilfs2_mod_CFLAGS): Likewise.
13855 (nilfs2_mod_LDFLAGS): Likewise.
13856 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
13857 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
13858 * fs/nilfs2.c: New file.
13859
4ba8d354
VS
138602010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
13861
13862 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
13863 is not supported.
13864
0d2c20c6
GS
138652010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
13866
13867 Add grub-mkconfig support for NetBSD.
13868
13869 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
13870 * util/grub-mkconfig.in: export new NetBSD specific variables.
13871 * po/POTFILES-shell: added 10_netbsd.in.
13872 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
13873
bc4a2d83
BC
138742010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
13875
13876 Fix emu build with grub-emu-pci and grub-emu-modules.
13877
13878 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
13879 functions.
13880 * include/grub/libpciaccess.h: New file.
13881 * conf/any-emu.rmk: Update kernel headers for emu build.
13882
f48c87aa
VS
138832010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
13884
13885 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
13886
18959385
VS
138872010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
13888
13889 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
13890
0037de3f
VS
138912010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
13892
13893 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
13894 Retrieve chosen/bootpath if bootpath isn't hardcoded.
13895 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
13896 util/ieee1275/ofpath.c.
13897 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
13898 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
13899 * include/grub/sparc64/ieee1275/boot.h
13900 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
13901 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
13902 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
13903 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
13904 const char *.
13905 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
13906 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
13907 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
13908 install.
13909
38e55e90
GS
139102010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
13911
13912 * util/grub-mkconfig.in: Corrected two == equality tests.
13913 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
13914 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
13915 expect a number appended to it.
13916 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
13917 expects a number appended to it.
13918
a9e6ff28
VS
139192010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
13920
13921 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
13922
0b830b8f
VS
139232010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
13924
13925 * util/hostdisk.c (make_device_name): Change to new partition naming.
13926
0973daeb
VS
139272010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
13928
13929 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
13930
460d8402 139312010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
13932
13933 * Makefile.in: Add missing localedir setting.
13934
0b456309
CW
139352010-04-14 Colin Watson <cjwatson@ubuntu.com>
13936
13937 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
13938 mistake in r2156. Noticed by Anthony Fok.
13939
13940 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
13941 @localedir@.
13942 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
13943
08f46d62
BC
139442010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
13945
13946 Fix a spurious, uninitialized variable warning.
13947
13948 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
13949 Initialize variable, shdr.
13950 (grub_freebsd_load_elfmodule): Likewise.
13951 (grub_freebsd_load_elf_meta): Likewise.
13952
8c4a72d4
BC
139532010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
13954
13955 Fix for escaped dollar in double quoted strings.
13956
13957 * script/yylex.l: Updated flex rules.
13958 * conf/tests.rmk: Rule for new testcase.
13959 * tests/grub_script_dollar.in: New testcase.
13960
ce44826e
CPE
139612010-04-13 Carles Pina i Estany <carles@pina.cat>
139622010-04-13 Colin Watson <cjwatson@ubuntu.com>
13963
13964 Enclose all translated strings in grub.cfg in single quotes, and
13965 escape them appropriately (Ubuntu bug #552921).
13966
13967 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
13968 * util/grub.d/10_hurd.in: Use it.
13969 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
13970 * util/grub.d/10_linux.in (linux_entry): Likewise.
13971
4b0cd8f8
VS
139722010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
13973
13974 Fix cygwin compilation.
13975
13976 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
13977 * include/grub/misc.h (__register_frame_info)
13978 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
13979 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
13980 * kern/misc.c (__register_frame_info)
13981 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
13982 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
13983
01fcf061
VS
139842010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
13985
13986 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
13987
5d04b11e
VS
139882010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
13989
13990 Unify libgcc processing.
13991
13992 * Makefile.in (kernel_img_LDFLAGS): New variable.
13993 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
13994 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
13995 overwriting.
13996 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
13997 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
13998 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
13999 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
14000 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
14001 overwriting. Remove -lgcc and -static-libgcc
14002 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
14003 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
14004 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
14005 (kernel_img_LDFLAGS): Append instead of overwriting.
14006 Remove -lgcc and -static-libgcc
14007 * conf/sparc64-ieee1275.rmk: Likewise.
14008 * include/grub/powerpc/libgcc.h: Move to ...
14009 * include/grub/libgcc.h: .. this.
14010 * include/grub/libgcc.h: Don't export most of the function on x86.
14011 (__bswapsi2): New export.
14012 (__bswapdi2): Likewise.
14013 * include/grub/mips/libgcc.h: Removed.
14014 * include/grub/sparc64/libgcc.h: Likewise.
14015
b7f3ac29
VS
140162010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14017
14018 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
14019 disk_info_msg (conflicts with gettexting into languages with cases).
14020
2c7031b1
GS
140212010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
14022
14023 Add grub-probe support for NetBSD.
14024
14025 * util/getroot.c (find_root_device): Convert block device to
14026 character device on NetBSD.
14027 * util/probe.c (probe): Require character device on NetBSD.
14028 * util/hostdisk.c: NetBSD specific headers.
14029 (configure_device_driver): new function to tune device driver
14030 parameters (currently only for NetBSD floppy driver).
14031 (grub_util_biosdisk_open): NetBSD specific code (get disk size
14032 via disklabel ioctl).
14033 (open_device): call configure_device_driver on NetBSD.
14034 (convert_system_partition_to_system_disk): NetBSD specific code.
14035 (device_is_wholedisk): Likewise.
14036 (grub_util_biosdisk_get_grub_dev): Likewise.
14037 (make_device_name): Fixed a typo in bsd_part_str.
14038 * configure.ac: check for opendisk() and getrawpartition() on
14039 NetBSD and set LIBUTIL.
14040 * Makefile.in: add LIBUTIL to LIBS.
14041
f516290c
BC
140422010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
14043
14044 Documentation fix.
14045
14046 * util/grub-script-check.c: Better help message.
14047
d8dcc0df
BC
140482010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
14049
14050 Fix FreeBSD build.
14051
14052 * configure.ac: Flex version check.
14053 * conf/common.rmk: Add -Wno-error to sh.mod.
14054 * script/yylex.l: Remove all #pragma.
14055
6734334a
VS
140562010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14057
14058 * include/grub/util/misc.h (canonicalise_file_name): Add missing
14059 prototype.
14060 Reported by: Seth Goldberg.
14061
daea6abd
VS
140622010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14063
14064 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
14065 Rename "module" to "module2".
14066 Reported by: Seth Goldberg.
14067
f2fd9d2b
VS
140682010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14069
14070 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
14071 EXPORT_FUNC.
14072 Reported by: Seth Goldberg.
14073
be124579
VS
140742010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14075
14076 * lib/posix_wrap/locale.h: Add missing file.
14077 Reported by: Seth Goldberg.
14078
ef5da797
VS
140792010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14080
14081 grub-emu module load support.
14082
14083 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
14084 NO_DYNAMIC_MODULES switched to this.
14085 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
14086 (CFLAGS): Likewise.
14087 * conf/any-emu.rmk: Generate symlist.
14088 (kernel_img_HEADERS): Add util/datetime.h.
14089 (kernel_img_HEADERS) [sdl]: Add sdl.h.
14090 (kernel_img_HEADERS) [libusb]: Add libusb.h.
14091 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
14092 kern/$(target_cpu)/cache.S.
14093 * configure.ac (grub-emu-modules): New option.
14094 * genmk.rb: Handle multiple source lists.
14095 * include/grub/sdl.h: New file.
14096 * include/grub/libusb.h: Likewise.
14097 * util/grub-emu.c (main): Hanle (host) root.
14098 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
14099 GRUB_ERR_UNKNOWN_DEVICE.
14100 * util/misc.c: Move mm functions to ...
14101 * util/mm.c: ... here. All users updated.
14102
47822096
VS
141032010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14104
14105 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
14106 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
14107 missing files.
14108 (maintainer-clean): Remove libgcrypt-grub.
14109
5d7e7445
VS
141102010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14111
14112 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
14113
25f4e252
EC
141142010-04-09 EFI Coder <eficoder@hotmail.com>
14115
14116 * normal/menu_text.c (print_message): Clean up the message and show
14117 the Fn information when on EFI
14118 * term/efi/console.c (grub_console_checkkey): Add F4 support.
14119
027de555
VS
141202010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14121
14122 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
14123 All users updated.
14124 * normal/crypto.c (read_crypto_list): Likewise.
14125 * normal/dyncmd.c (read_command_list): Likewise.
14126 * normal/term.c (read_terminal_list): Likewise.
14127 * normal/main.c (read_lists): Use explicit prefix.
14128 (read_lists_hook): Use read_lists.
14129 (grub_normal_execute): Likewise.
14130
47779711
VS
141312010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14132
14133 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
14134 Reported by: Thomas Schmitt.
14135 Add -no-emul-boot to grub-mkisofs parameters.
14136
1118c32e
VS
141372010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14138
14139 * font/font.c: Indented.
14140
7d652447
BC
141412010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
14142
14143 Elif support to GRUB script (by Deepak Vankadaru).
14144
14145 * tests/grub_script_if.in: New testcase.
14146 * conf/tests.rmk: Rule for new testcase.
14147 * script/parser.y: Grammar rules for elif.
14148
34bb22df
BC
141492010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
14150
14151 While and until loops support to GRUB script.
14152
14153 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
14154 (grub_script_create_cmdwhile): New function prototype.
14155 (grub_script_execute_cmdwhile): New function prototype.
14156 * script/execute.c (grub_script_execute_cmdwhile): New function.
14157 * script/parser.y (command): New commands.
14158 (whilecmd): New grammar rule.
14159 (untilcmd): New grammar rule.
14160 * script/script.c (grub_script_create_cmdwhile): New function.
14161 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
14162 function.
14163
14164 * tests/grub_script_while1.in: New testcase.
14165 * conf/tests.rmk: Rule for new testcase.
14166
e215d8e0
VS
141672010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14168
14169 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
14170 as *.jpg.
14171
d7c43ba1
MV
141722010-04-09 Mario Vazquez <mariovazq@gmail.com>
14173
14174 GRUB_BACKGROUND support.
14175
14176 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
14177 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
14178
d64795c0
VS
141792010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14180
14181 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 14182 Idea by: Mario Vazquez
d64795c0
VS
14183
14184 * util/grub.d/00_header.in: Load pf2 and image modules.
14185
f267f83a
VS
141862010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14187
14188 grub-mkconfig multiple terminal support.
14189
14190 * util/grub-mkconfig.in: Handle multiple terminals correctly.
14191 * util/grub.d/00_header.in: Likewise.
14192
b7841ceb
VS
141932010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14194
14195 * Makefile.in: Specify files explicitly instead of using $< and $@ since
14196 we use cd $(srcdir).
14197
df60998c
CW
141982010-04-08 Colin Watson <cjwatson@ubuntu.com>
14199
14200 * util/grub.d/10_linux.in: Only use the first word of
14201 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
14202 spaces in GRUB_DISTRIBUTOR.
14203 * util/grub.d/10_kfreebsd.in: Likewise.
14204 * util/grub.d/10_hurd.in: Likewise.
14205
fa09c82e
BC
142062010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
14207
14e18ae3 14208 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
14209
14210 * tests/util/grub-shell.in: Remove -serial stdio option.
14211
daf892b3
BC
142122010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
14213
14214 POSIX header file wrappers.
14215
14216 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
14217 equivalents.
14218 * lib/posix_wrap/ctype.h: Likewise.
14219 * lib/posix_wrap/errno.h: Likewise.
14220 * lib/posix_wrap/langinfo.h: Likewise.
14221 * lib/posix_wrap/limits.h: Likewise.
14222 * lib/posix_wrap/localcharset.h: Likewise.
14223 * lib/posix_wrap/stdint.h: Likewise.
14224 * lib/posix_wrap/stdio.h: Likewise.
14225 * lib/posix_wrap/stdlib.h: Likewise.
14226 * lib/posix_wrap/string.h: Likewise.
14227 * lib/posix_wrap/sys/types.h: Likewise.
14228 * lib/posix_wrap/unistd.h: Likewise.
14229 * lib/posix_wrap/wchar.h: Likewise.
14230 * lib/posix_wrap/wctype.h: Likewise.
14231 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
14232 (grub_script.yy.h): Likewise.
14233 * script/yylex.l: Remove POSIX emulation #defines.
14234 * Makefile.in (POSIX_CFLAGS): New variable.
14235 (GNULIB_UTIL_CFLAGS): Likewise.
14236
14237 Regexp support.
14238
14239 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
14240 (regexp_mod_SOURCES): New variable.
14241 (regexp_mod_CFLAGS): Likewise.
14242 (regexp_mod_LDFLAGS): Likewise.
14243 * commands/regexp.c: New file.
14244 * gnulib/regcomp.c: New file. Imported from gnulib.
14245 * gnulib/regex.c: Likewise.
14246 * gnulib/regex_internal.c: Likewise.
14247 * gnulib/regex_internal.h: Likewise.
14248 * gnulib/regexec.c: Likewise.
14249 * gnulib/regex.h: Likewise.
14250
974ac4f7
VS
142512010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
14252
14253 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
14254 unsupported video mode types.
14255
2622c3ff
VS
142562010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
14257
14258 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
14259
064cb524
VS
142602010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
14261
14262 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
14263 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
14264
a8c3b552
VS
142652010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
14266
14267 Remove unused grub_vga_get_font.
14268
14269 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
14270 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
14271
187bbe3d
GS
142722010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14273
14274 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
14275 * include/grub/misc.h: Likewise.
14276
b9396631
GS
142772010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14278
14279 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
14280 for which failure is fatal.
14281
50479feb
GS
142822010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14283
14284 * util/grub-install.in: Use mkdir -p to create grub directory.
14285 * util/i386/efi/grub-install.in: Likewise.
14286 * util/ieee1275/grub-install.in: Likewise.
14287
b1654fdf
GS
142882010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14289
14290 * Makefile.in (LEX): new variable.
14291
bd5a6415
GS
142922010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14293
14294 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
14295 `=' and added double quotes on operands of this equality test.
14296
3db3a82b
VS
142972010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
14298
14299 * Makefile.in (uninstall): Remove a leftover debug echo.
14300 Reported by: Grégoire Sutre
14301
38023412
VS
143022010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
14303
14304 MIPS multiboot2 support.
14305
14306 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
14307 (multiboot2_mod_SOURCES): New variable.
14308 (multiboot2_mod_CFLAGS): Likewise.
14309 (multiboot2_mod_LDFLAGS): Likewise.
14310 (multiboot2_mod_ASFLAGS): Likewise.
14311 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
14312 definition.
14313 (MULTIBOOT_ENTRY_REGISTER): Likewise.
14314 (MULTIBOOT_MBI_REGISTER): Likewise.
14315 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
14316 (MULTIBOOT_ELF32_MACHINE): Likewise.
14317 (MULTIBOOT_ELF64_MACHINE): Likewise.
14318 * include/grub/mips/multiboot.h: New file.
14319 * include/grub/video.h (grub_video_driver_id): New type
14320 GRUB_VIDEO_DRIVER_SM712.
14321 (grub_video_get_info_and_fini): Export.
14322 (grub_video_get_palette): Likewise.
14323 (grub_video_get_driver_id): Likewise.
14324 * include/multiboot2.h: Resynced with spec.
14325 * loader/i386/multiboot.c: Moved from here ...
14326 * loader/multiboot.c: ... here. All users updated.
14327 (grub_multiboot_boot): Use platform-specific macros.
14328 * loader/i386/multiboot_elfxx.c: Moved from here ...
14329 * loader/multiboot_elfxx.c: ... here. All users updated.
14330 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
14331 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
14332 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
14333
47674667
VS
143342010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
14335
14336 Import gnulib argp module.
14337
14338 * gnulib/argp-ba.c: New file.
14339 * gnulib/argp-eexst.c: Likewise.
14340 * gnulib/argp-fmtstream.c: Likewise.
14341 * gnulib/argp-fmtstream.h: Likewise.
14342 * gnulib/argp-fs-xinl.c: Likewise.
14343 * gnulib/argp-help.c: Likewise.
14344 * gnulib/argp-namefrob.h: Likewise.
14345 * gnulib/argp-parse.c: Likewise.
14346 * gnulib/argp-pin.c: Likewise.
14347 * gnulib/argp-pv.c: Likewise.
14348 * gnulib/argp-pvh.c: Likewise.
14349 * gnulib/argp-version-etc.c: Likewise.
14350 * gnulib/argp-version-etc.h: Likewise.
14351 * gnulib/argp-xinl.c: Likewise.
14352 * gnulib/argp.h: Likewise.
14353
495442ed
VS
143542010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
14355
14356 * kern/device.c (grub_device_iterate): Clear errors after failed
14357 opening device.
14358
f9fd65df
VS
143592010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
14360
14361 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
14362 returned by firmware.
14363
af09641e
VS
143642010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14365
14366 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
14367 compilation on coreboot and qemu
14368
016883a5
VS
143692010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
14370
14371 * include/multiboot2.h: Resync with spec.
14372
f97e1f7d
VS
143732010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
14374
14375 Multiboot2 tag support
14376
14377 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
14378 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
14379 Remove loader/multiboot_loader.c.
14380 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
14381 (grub_multiboot2_real_boot): Likewise.
14382 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
14383 (grub_get_multiboot_mmap_count): New proto.
14384 (grub_fill_multiboot_mmap): Likewise.
14385 (grub_multiboot_set_video_mode): Likewise.
14386 (grub_multiboot_set_console): Likewise.
14387 (grub_multiboot_load): Likewise.
14388 (grub_multiboot_load_elf): Likewise.
14389 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
14390 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
14391 * include/multiboot.h: Resynced with specification.
14392 * include/multiboot2.h: Resynced with specification.
14393 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
14394 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
14395 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
14396 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
14397 users updated.
14398 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
14399 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
14400 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
14401 Removed.
14402 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
14403 Moved from here...
14404 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
14405 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
14406 Moved from here...
14407 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
14408 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
14409 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
14410 All users updated.
14411 * loader/i386/multiboot_mbi2.c: New file.
14412
3506b90b
VS
144132010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
14414
14415 Resync with gnulib.
14416
14417 * Makefile.in (GNULIB_CFLAGS): New variable.
14418 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
14419 (grub_script_check_CFLAGS): New variable.
14420 * gnulib/alloca.h: Resync with gnulib.
14421 * gnulib/error.c: Likewise.
14422 * gnulib/error.h: Likewise.
14423 * gnulib/fnmatch.c: Likewise.
14424 * gnulib/fnmatch_loop.c: Likewise.
14425 * gnulib/getdelim.c: Likewise.
14426 * gnulib/getline.c: Likewise.
14427 * gnulib/getopt.c: Likewise.
14428 * gnulib/getopt1.c: Likewise.
14429 * gnulib/getopt_int.h: Likewise.
14430 * gnulib/gettext.h: Likewise.
14431 * gnulib/progname.c: Likewise.
14432 * gnulib/progname.h: Likewise.
14433
394a3120
GS
144342010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
14435
14436 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
14437 which is the case with --disabled-nls.
14438
14439 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
14440 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
14441 * util/misc.c: Likewise.
14442 * util/mkisofs/mkisofs.c: Likewise.
14443 * util/mkisofs/mkisofs.h: Likewise.
14444
969d1c78
VS
144452010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
14446
14447 Simplify Apple CC support.
14448
14449 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
14450 Add 0 byte at the end not to have a symbol with empty target.
14451 * mmap/i386/pc/mmap_helper.S: Likewise.
14452 * genmk.rb: Ignore errors 2030 and 2050.
14453 * kern/i386/pc/startup.S: Use LOCAL when possible.
14454
8d2977bb
BC
144552010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
14456
14457 Testcase and the fix for final semicolon on cmdline.
14458
14459 * tests/grub_script_final_semicolon.in: New testcase.
14460 * conf/tests.rmk: Rules for the new testcase.
14461 * script/parser.y: Grammar fix.
14462
a7bd6915
BC
144632010-03-26 BVK Chaitanya <bvk@localhost>
14464
14465 Blank lines testcase for GRUB script.
14466
14467 * tests/grub_script_blanklines.in: New testcase.
14468 * conf/tests.rmk: Rules for the new testcase.
14469
e4ff6628
VS
144702010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
14471
14472 Don't use __FILE__.
14473
14474 * genmk.rb: Add -DGRUB_FILE to all C targets.
14475 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
14476 * include/grub/list.h: Likewise.
14477 * include/grub/misc.h: Likewise.
14478 * include/grub/mm.h: Likewise.
14479 * include/grub/test.h: Likewise.
14480 * kern/mm.c: Likewise.
14481 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
14482
6a5cf6b6
VS
144832010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
14484
14485 Sunpc partitions support.
14486
14487 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
14488 (grub_fstest_SOURCES): Likewise.
14489 (pkglib_MODULES): Add part_sunpc.mod.
14490 (part_sunpc_mod_SOURCES): New variable.
14491 (part_sunpc_mod_CFLAGS): Likewise.
14492 (part_sunpc_mod_LDFLAGS): Likewise.
14493 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
14494 * partmap/sunpc.c: New file.
14495
746d9045
BC
144962010-03-26 BVK Chaitanya <bvk@localhost>
14497
14498 For loop support to GRUB script.
14499
14500 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
14501 (grub_script_create_cmdfor): New function prototype.
14502 (grub_script_execute_cmdfor): New function prototype.
14503 * script/execute.c (grub_script_execute_cmdfor): New function.
14504 * script/parser.y (command): New for command.
14505 (forcmd): New grammar rule.
14506 * script/script.c (grub_script_create_cmdfor): New function.
14507 * util/grub-script-check.c (grub_script_execute_cmdfor): New
14508 function.
14509 * tests/grub_script_for1.in: New testcase.
14510 * conf/tests.rmk: Rules for new testcase.
14511
18486b18
VS
145122010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
14513
14514 Nested partitions
14515
14516 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
14517 'partition' is NULL, grub_partition_get_start already does that.
14518 * commands/loadenv.c (check_blocklists): Likewise.
14519 (write_blocklists): Likewise.
14520 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
14521 (grub_fstest_SOURCES): Likewise.
14522 (pkglib_MODULES): Add part_bsd.mod.
14523 (part_bsd_mod_SOURCES): New variable.
14524 (part_bsd_mod_CFLAGS): Likewise.
14525 (part_bsd_mod_LDFLAGS): Likewise.
14526 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
14527 (grub_emu_SOURCES): Likewise.
14528 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14529 * include/grub/bsdlabel.h: New file.
14530 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
14531 'get_name'.
14532 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
14533 (grub_partition_map_list): New variable.
14534 (grub_partition_map_register): Inline.
14535 (grub_partition_map_unregister): Likewise.
14536 (FOR_PARTITION_MAPS): New macro.
14537 (grub_partition_map_iterate): Removed.
14538 (grub_partition_get_start): Handle nested partitions.
14539 * include/grub/msdos_partition.h: Remove bsd-related entries.
14540 (grub_pc_partition): Remove.
14541 * kern/disk.c (grub_disk_close): Free partition data.
14542 (grub_disk_adjust_range): Handle nested partitions.
14543 * kern/partition.c (grub_partition_map_probe): New function.
14544 (grub_partition_probe): Parse name to number, handle subpartitions.
14545 (get_partmap): New function.
14546 (grub_partition_iterate): Handle subpartitions.
14547 (grub_partition_get_name): Likewise.
14548 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
14549 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
14550 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
14551 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
14552 Set 'number'.
14553 (acorn_partition_map_probe): Remove.
14554 (acorn_partition_map_get_name): Likewise.
14555 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
14556 Set 'number'.
14557 Set 'index' to 0 since there can be only one partition entry per sector.
14558 (amiga_partition_map_probe): Remove.
14559 (amiga_partition_map_get_name): Likewise.
14560 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
14561 Set 'number'.
14562 Set 'offset' and 'index' to real positions of partitions.
14563 (apple_partition_map_probe): Remove.
14564 (apple_partition_map_get_name): Likewise.
14565 * partmap/bsdlabel.c: New file.
14566 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
14567 Set 'number'.
14568 Allocate 'data' so it can be correctly freed.
14569 Set 'index' to offset inside sector.
14570 (gpt_partition_map_probe): Remove.
14571 (gpt_partition_map_get_name): Likewise.
14572 * partmap/msdos.c (grub_partition_parse): Remove.
14573 (pc_partition_map_iterate): Don't force raw access.
14574 Set 'number'.
14575 Make 'ext_offset' a local variable.
14576 (pc_partition_map_probe): Remove.
14577 (pc_partition_map_get_name): Remove.
14578 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
14579 Set 'number'.
14580 (sun_partition_map_probe): Remove.
14581 (sun_partition_map_get_name): Likewise.
14582 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
14583 (grub_pcpart_type): Likewise.
14584 * util/hostdisk.c (open_device): Handle new numbering scheme.
14585 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
14586 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
14587 * util/grub-probe.c (probe_partmap): Handle nested paritions.
14588 * util/grub-install.in: Insert all subpartition modules.
14589 * util/ieee1275/grub-install.in: Likewise.
14590
a3940f88
AG
145912010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
14592
14593 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
14594 grammar.
14595
21b99926 145962010-03-24 Colin Watson <cjwatson@ubuntu.com>
14597
14598 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
14599
bed1d352
CW
146002010-03-21 Colin Watson <cjwatson@ubuntu.com>
14601
14602 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
14603 match where 'make install' puts them.
14604 * util/i386/efi/grub-install.in: Likewise.
14605
c9f58427
CW
146062010-03-19 Colin Watson <cjwatson@ubuntu.com>
14607
14608 * .bzrignore: Add gentrigtables, grub-script-check,
14609 grub_script_check_init.c, grub_script_check_init.h, and
14610 trigtables.c.
14611
f84afb27
VS
146122010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
14613
14614 * kern/parser.c: Indented.
14615
ed0e3d30
VS
146162010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
14617
14618 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
14619
0ea81d98
VS
146202010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
14621
14622 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
14623 alpha_mask_size == 0 case.
14624
0cdc2a09
BC
146252010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
14626
14627 GRUB shell lexer and parser improvements.
14628
14629 * conf/any-emu.rmk: Build rule updates.
14630 * conf/common.rmk: Likewise.
14631 * conf/i386-coreboot.rmk: Likewise.
14632 * conf/i386-efi.rmk: Likewise.
14633 * conf/i386-ieee1275.rmk: Likewise.
14634 * conf/i386-pc.rmk: Likewise.
14635 * conf/powerpc-ieee1275.rmk: Likewise.
14636 * conf/x86_64-efi.rmk: Likewise.
14637
14638 * configure.ac: Configure check for flex.
14639
14640 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
14641 types.
14642 (grub_lexer_param): Struct member updates.
14643 (grub_parser_param): Likewise.
14644 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
14645 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
14646 (grub_script_lexer_init): Prototype update.
14647 (grub_script_lexer_record_start): Likewise.
14648 (grub_script_lexer_record_stop): Likewise.
14649 (grub_script_lexer_yywrap): New function prototype.
14650 (grub_script_lexer_fini): Likewise.
14651 (grub_script_execute_argument_to_string): Removed by...
14652 (grub_script_execute_argument_to_argv): ...better version.
14653
14654 * script/execute.c (ROUND_UPTO): New macro.
14655 (grub_script_execute_cmdline): Out of memory fixes.
14656 (grub_script_execute_menuentry): Likewise.
14657 (grub_script_execute_argument_to_string): Removed. Update all
14658 users by...
14659 (grub_script_execute_argument_to_argv): ...better version.
14660 * script/function.c (grub_script_function_create): Use
14661 grub_script_execute_argument_to_argv instead of
14662 grub_script_execute_argument_to_string.
14663
14664 * script/lexer.c (check_varstate): Removed.
14665 (check_textstate): Removed.
14666 (grub_script_lexer_record_start): Likewise.
14667 (grub_script_lexer_record_stop): Likewise.
14668 (recordchar): Replaced with...
14669 (grub_script_lexer_record): ...new function.
14670 (nextchar): Removed.
14671 (grub_script_lexer_init): Rewritten.
14672 (grub_script_yylex): Rewritten.
14673 (append_newline): New function.
14674 (grub_script_lexer_yywrap): New function.
14675 (grub_script_lexer_fini): New function.
14676 (grub_script_yyerror): Sets error flag.
14677
14678 * script/yylex.l: New file.
14679 (grub_lexer_yyfree): Wrapper for flex yyffre.
14680 (grub_lexer_yyalloc): Likewise.
14681 (grub_lexer_yyrealloc): Likewise.
14682 * script/parser.y: Refactored.
14683
14684 * script/script.c (grub_script_arg_add): Out of memory fixes.
14685 (grub_script_add_arglist): Likewise.
14686 (grub_script_create_cmdline): Likewise.
14687 (grub_script_create_cmdmenu): Likewise.
14688 (grub_script_add_cmd): Likewise.
14689 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
14690 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
14691 unnecessary code.
14692
14693 * tests/grub_script_echo1.in: New testcase.
14694 * tests/grub_script_vars1.in: New testcase.
14695 * tests/grub_script_echo_keywords.in: New testcase.
14696
1d63a066
VS
146972010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
14698
14699 Remove some redundancy in build system.
14700
14701 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
14702 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
14703 (TARGET_LDFLAGS): Add -nostdlib.
14704 (TARGET_IMG_LDFLAGS): Likewise.
14705 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
14706 anything since mmap isn't available.
14707 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
14708 Add util/time.c.
14709 (pkglib_MODULES): Remove reboot.mod.
14710 (reboot_mod_SOURCES): Removed.
14711 (reboot_mod_CFLAGS): Likewise.
14712 (reboot_mod_LDFLAGS): Likewise.
14713 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
14714 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
14715 (DEFSYMFILES): Add kernel_syms.lst.
14716 (kernel_img_HEADERS): Add common headers.
14717 (symlist.c): New target.
14718 (kernel_syms.lst): Likewise.
14719 (pkglib_MODULES): Add memdisk.mod.
14720 (memdisk_mod_SOURCES): New variable.
14721 (memdisk_mod_CFLAGS): Likewise.
14722 (memdisk_mod_LDFLAGS): Likewise.
14723 (pkglib_MODULES): Add reboot.mod.
14724 (reboot_mod_SOURCES): New variable.
14725 (reboot_mod_CFLAGS): Likewise.
14726 (reboot_mod_LDFLAGS): Likewise.
14727 (pkglib_MODULES): Add date.mod.
14728 (date_mod_SOURCES): New variable.
14729 (date_mod_CFLAGS): Likewise.
14730 (date_mod_LDFLAGS): Likewise.
14731 (pkglib_MODULES): Add datehook.mod.
14732 (datehook_mod_SOURCES): New variable.
14733 (datehook_mod_CFLAGS): Likewise.
14734 (datehook_mod_LDFLAGS): Likewise.
14735 (pkglib_MODULES): Add lsmmap.mod.
14736 (lsmmap_mod_SOURCES): New variable.
14737 (lsmmap_mod_CFLAGS): Likewise.
14738 (lsmmap_mod_LDFLAGS): Likewise.
14739 (pkglib_MODULES): Add boot.mod.
14740 (boot_mod_SOURCES): New variable.
14741 (boot_mod_CFLAGS): Likewise.
14742 (boot_mod_LDFLAGS): Likewise.
14743 * conf/i386-coreboot.rmk: Removed redundant parts.
14744 * conf/i386-ieee1275.rmk: Likewise.
14745 * conf/i386-pc.rmk: Likewise.
14746 * conf/mips-yeeloong.rmk: Likewise.
14747 * conf/mips.rmk: Likewise.
14748 * conf/powerpc-ieee1275.rmk: Likewise.
14749 * conf/sparc64-ieee1275.rmk: Likewise.
14750 * conf/x86_64-efi.rmk: Likewise.
14751 * conf/i386-coreboot.rmk: Moved qemu parts ..
14752 * conf/i386-qemu.rmk: ... here
14753 * conf/i386-efi.rmk: Moved common parts to...
14754 * conf/x86-efi.rmk: ... here.
14755 * conf/i386.rmk: Added modules common to all x86 variants.
14756 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
14757 * disk/memdisk.c: Remove grub/machine/kernel.h.
14758 * gensymlist.sh.in: Include symbol.h.
14759 * hook/datehook.c: Correct module name.
14760 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
14761 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
14762 * include/grub/i386/efi/serial.h: New file.
14763 * include/grub/x86_64/efi/serial.h: Likewise.
14764 * util/time.c: Likewise.
14765 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
14766
463ac55f
CK
147672010-03-14 Colin King <colin.king@ubuntu.com>
147682010-03-14 Colin Watson <cjwatson@ubuntu.com>
14769
14770 Shrink the pre-partition-table part of boot.img by eight bytes.
14771
14772 * boot/i386/pc/boot.S (ERR): New macro.
14773 (chs_mode): Use ERR.
14774 (geometry_error): Likewise.
14775 (hd_probe_error): Remove. This is only used once, so we wrwite
14776 it inline instead.
14777 (read_error): Instead of printing read_error_string, just set up
14778 %si and fall through to ...
14779 (error_message): ... this new function, also used by ERR.
14780
08e46ede
CW
147812010-03-14 Colin Watson <cjwatson@ubuntu.com>
14782
14783 Speed up consecutive hostdisk operations on the same device.
14784
14785 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
14786 (grub_util_biosdisk_open): Initialise disk->data.
14787 (struct linux_partition_cache): New structure.
14788 (linux_find_partition): Cache partition start positions; these are
14789 expensive to compute on every read and write.
14790 (open_device): Cache open file descriptor in disk->data, so that we
14791 don't have to reopen it and flush the buffer cache for consecutive
14792 operations on the same device.
14793 (grub_util_biosdisk_close): New function.
14794 (grub_util_biosdisk_dev): Set `close' member.
14795
14796 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
14797 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
14798 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
14799 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
14800 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
14801
4a6d2d06
VS
148022010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
14803
14804 Compile parts of grub-emu as modules.
14805
14806 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
14807 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
14808 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
14809 (all-local): Add $(GRUB_EMU).
14810 (install-local): Install $(GRUB_EMU).
14811 (uninstall): Uninstall $(GRUB_EMU).
14812 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
14813 * kern/dl.c: Likewise.
14814 * commands/sleep.c: Not include machine/time.h.
14815 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
14816 (COMMON_CFLAGS): Likewise.
14817 (sbin_UTILITIES): Remove grub-emu.
14818 (grub_emu_SOURCES): Removed.
14819 (kernel_img_RELOCATABLE): New variable.
14820 (pkglib_PROGRAMS): Add kernel.img.
14821 (kernel_img_SOURCES): New variable
14822 (kernel_img_CFLAGS): Likewise.
14823 (kernel_img_LDFLAGS): Likewise.
14824 (TARGET_NO_STRIP): Likewise.
14825 (TARGET_NO_DYNAMIC_MODULES): Likewise.
14826 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
14827 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
14828 (grub-emu): New target.
14829 (GRUB_EMU): New variable.
14830 * configure.ac: Whitelist -emu as possible x86_64 architecture.
14831 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
14832 * loader/xnu.c: Likewise.
14833 * include/grub/pci.h: Likewise.
14834 * genemuinit.sh: New file.
14835 * genemuinitheader.sh: Likewise.
14836 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
14837 Support TARGET_NO_DYNAMIC_MODULES.
14838 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
14839 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
14840 * disk/loopback.c: Likewise.
14841 * font/font_cmd.c: Likewise.
14842 * partmap/acorn.c: Likewise.
14843 * partmap/amiga.c: Likewise.
14844 * partmap/apple.c: Likewise.
14845 * partmap/gpt.c: Likewise.
14846 * partmap/msdos.c: Likewise.
14847 * partmap/sun.c: Likewise.
14848 * parttool/msdospart.c: Likewise.
14849 * term/gfxterm.c: Likewise.
14850 * video/bitmap.c: Likewise.
14851 * video/readers/jpeg.c: Likewise.
14852 * video/readers/png.c: Likewise.
14853 * video/readers/tga.c: Likewise.
14854 * video/video.c: Likewise.
14855 * util/grub-emu.c (read_command_list): Removed.
14856 (main): Don't call util_init_nls.
14857 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
14858 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
14859
91fdd2ed
VS
148602010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
14861
14862 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
14863 date.mod, datehook.mod.
14864 (datetime_mod_SOURCES): New variable.
14865 (datetime_mod_CFLAGS): Likewise.
14866 (datetime_mod_LDFLAGS): Likewise.
14867 (date_mod_SOURCES): Likewise.
14868 (date_mod_CFLAGS): Likewise.
14869 (date_mod_LDFLAGS): Likewise.
14870 (datehook_mod_SOURCES): Likewise.
14871 (datehook_mod_CFLAGS): Likewise.
14872 (datehook_mod_LDFLAGS): Likewise.
14873 * conf/sparc64-ieee1275.rmk: Likewise.
14874 * lib/ieee1275/datetime.c: New file.
14875
873ccae6
VS
148762010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
14877
14878 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
14879 (ieee1275_fb_mod_SOURCES): New variable.
14880 (ieee1275_fb_mod_CFLAGS): Likewise.
14881 (ieee1275_fb_mod_LDFLAGS): Likewise.
14882 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
14883 New proto.
14884 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
14885 (HEAP_MAX_ADDR): Likewise.
14886 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
14887 type.
14888 Correct stop condition.
14889 (grub_ieee1275_devices_iterate): New function.
14890 * video/ieee1275.c: New file.
14891
601c97c0
VS
148922010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
14893
14894 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
14895
14896 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
14897 as scratch.
14898 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
14899 SCRATCH_PAD_DISKBOOT as scratch.
14900 (bootit): Pass Openfirmware pointer in %o4.
14901 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
14902 of 0x200000.
14903 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
14904 with util/grub-mkrawimage.c.
14905 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
14906 * include/grub/aout.h (AOUT_MID_SUN): New definition.
14907 (grub_aout_get_type) [GRUB_UTIL]: Removed.
14908 (grub_aout_load) [GRUB_UTIL]: Likewise.
14909 * include/grub/kernel.h (grub_modules_get_end): New proto.
14910 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
14911 (SCRATCH_PAD_BOOT): New definition.
14912 (SCRATCH_PAD_DISKBOOT): Likewise.
14913 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
14914 * include/grub/sparc64/ieee1275/ieee1275.h
14915 (grub_ieee1275_original_stack): New variable
14916 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
14917 New definition
14918 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
14919 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
14920 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
14921 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
14922 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
14923 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
14924 (grub_platform_image_format_t): New type.
14925 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
14926 * kern/main.c (grub_modules_get_end)
14927 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
14928 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
14929 (codestart): Switch stacks.
14930 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
14931 variable.
14932 (grub_heap_init): Use grub_modules_get_end.
14933 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
14934 stack.
14935 * util/grub-mkrawimage.c (generate_image): Support sparc64.
14936 (main): Likewise.
14937 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
14938
d68b491e
TG
149392010-03-14 Thorsten Glaser <tg@mirbsd.org>
14940
14941 * util/grub-mkrescue.in: Base ISO UUID on UTC.
14942
4e02ed50
MK
149432010-03-08 Matt Kraai <kraai@ftbfs.org>
14944
14945 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
14946 bug #559005).
14947
1f15fc1e
VS
149482010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
14949
14950 * genmoddep.awk: Output all missing symbols and not only first.
14951
fce5d8ff
VS
149522010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
14953
14954 * NEWS: Put the date of 1.98 release.
14955
d1e8a02f
VS
149562010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
14957
14958 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
14959 ft2build.h.
14960
696fd607
VS
149612010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
14962
14963 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
14964 completition in the middle of string.
14965
33e2e6f3
VS
149662010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
14967
14968 * util/grub-mkrescue.in: Use mktemp with explicit template.
14969
b1f6d291
VS
149702010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
14971
14972 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
14973
2ac227c7
VS
149742010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
14975
14976 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
14977 right pointer.
14978
8f9a632b
VS
149792010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
14980
14981 Fix FreeBSD compilation.
14982
14983 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
14984 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
14985
60b03859
VS
149862010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
14987
14988 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
14989
48a5a769
VS
149902010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
14991
14992 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
14993
3ab4bd77
VS
149942010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
14995
14996 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
14997
d116e0d8
RM
149982010-03-04 Robert Millan <rmh.grub@aybabtu.com>
14999
15000 Support relative image path in theme file.
15001
15002 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
15003 (image_set_property): Handle theme_dir and relative path.
15004
c7ef54aa
VS
150052010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15006
15007 * configure.ac: Alias amd64 to x86_64.
15008
fcee14ed
VS
150092010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15010
15011 * NEWS: mention multiboot on EFI.
15012
d0780363
VS
150132010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15014
15015 * kern/main.c (grub_load_modules): Handle errors from init functions of
15016 embeded modules.
15017
41168ea4
VS
150182010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15019
15020 * normal/autofs.c (autoload_fs_module): Handle errors.
15021
b54d93ac
VS
150222010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15023
15024 Disable linux.mod on qemu-mips since it's not functional and leads
15025 to compilation failure.
15026
15027 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
15028 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
15029 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
15030 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
15031 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
15032 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
15033 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
15034 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
15035 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
15036 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
15037 Reported by: BVK Chaitanya
15038
fc8345da
JU
150392010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
15040
15041 * INSTALL: Add gettext as a dependency and add qemu to a new section
15042 "Prerequisites for make-check".
15043
4760f979
CF
150442010-03-04 Christian Franke <franke@computer.org>
15045
15046 * util/grub-pe2elf.c: Add missing include "progname.h".
15047
f209b5b2
VS
150482010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15049
15050 * normal/crypto.c (read_crypto_list): Fix a typo.
15051 Reported by: Seth Goldberg.
15052
b4b7be98
VS
150532010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15054
15055 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 15056 Reported by: Seth Goldberg.
b4b7be98 15057
c0ee0385
VS
150582010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15059
15060 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
15061 ascii.bitmaps.
15062
a8efbf64
VS
150632010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15064
15065 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 15066 Reported by: Seth Goldberg.
a8efbf64 15067
08dcd913
VS
150682010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15069
15070 * util/i386/efi/grub-install.in: Copy gettext files.
15071
c4d0b332
VS
150722010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15073
15074 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
15075
c6f2fe52
VS
150762010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15077
15078 Wait for user entry basing on presence of output rather than on errors.
15079
15080 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
15081 (grub_install_newline_hook): Likewise.
15082 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
15083 * normal/menu.c (show_menu): Check line_counter to determine presence
15084 of output.
15085 * normal/term.c (grub_normal_line_counter): New variable.
15086 (grub_normal_get_line_counter): New function.
15087 (grub_install_newline_hook): Likewise.
15088
5382b1e4
VS
150892010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15090
15091 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
15092
5519963b
VS
150932010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15094
15095 * configure.ac: Update version to 1.98.
15096
72b28631
VS
150972010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15098
15099 * util/grub.d/10_linux.in (linux_entry): Don't default to
15100 gfxpayload=keep if Linux doesn't support video handover.
15101
c140a180
VS
151022010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
15103
15104 Don't compile video modules on yeeloong since video subsystem is part
15105 of kernel.
15106
15107 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
15108 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
15109 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
15110 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
15111 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
15112 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
15113 * include/grub/bitmap_scale.h: Likewise.
15114 * include/grub/bufio.h: Likewise.
15115 * include/grub/font.h: Likewise.
15116 * include/grub/gfxterm.h: Likewise.
15117 * include/grub/video.h: Likewise.
15118 * include/grub/vbe.h: Don't include video_fb.h.
15119 * video/i386/pc/vbe.c: Include video_fb.h.
15120 * commands/i386/pc/vbetest.c: Include video.h.
15121
a0ca21c2
CW
151222010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
15123
15124 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
15125 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
15126 default entry if GRUB_SAVEDEFAULT=true. This allows using
15127 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
15128 saving a new default on every boot.
15129
4a8a763c
VS
151302010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
15131
15132 * normal/crypto.c (read_crypto_list): Fix a memory leak.
15133 * normal/term.c (read_terminal_list): Likewise.
15134 * normal/main.c (grub_normal_init_page): Likewise.
15135 (grub_normal_read_line_real): Likewise.
15136
607ffde2
VS
151372010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
15138
15139 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
15140 memory leak.
15141 Reported by: Seth Goldberg.
15142
2b8fa975
CW
151432010-02-24 Joey Korkames <joey+lists@kidfixit.com>
15144
15145 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
15146 duplicate declaration of `start'.
15147
618307dd
VS
151482010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
15149
15150 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
15151 filename.
15152 Reported by: Georgy Buranov
15153
7dd05b96 151542010-02-20 Carles Pina i Estany <carles@pina.cat>
15155
15156 * util/grub-mkrawimage.c (usage): Change string formatting to
15157 improve gettext.
15158
d1484a42
MRA
151592010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
15160
15161 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
15162 backspace keys.
15163
42b1d186
VS
151642010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
15165
15166 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
15167 Reported by: Michael Suchanek.
15168
151692010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
15170
15171 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
15172 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
15173
d9f31a41
VS
151742010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
15175
15176 Remove any reference to non-free fonts.
15177
15178 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
15179 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
15180 uses non-free components.
15181 * font/font.c (grub_font_get_name): Remove example name.
15182 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
15183 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
15184 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
15185 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
15186
2793c71e
GB
151872010-02-16 Georgy Buranov <gburanov@gmail.com>
15188
15189 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
15190
402e3779
VS
151912010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
15192
15193 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
15194 Double divisor.
15195 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
15196 features.
15197 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
15198
0dd1e0dd
VS
151992010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
15200
15201 * gensymlist.sh.in: Use TARGET_CC instead of CC.
15202
6fa7cfce
ST
152032010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
15204
15205 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
15206 * docs/grub.texi (Command-line and menu entry commands): Document play
15207 command.
15208
37c8483b
ST
152092010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
15210
15211 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
15212 parse arguments as inline tempo and notes. Move code for playing notes
15213 to...
15214 (play): ... new function.
15215
14da0fb7
ST
152162010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
15217
15218 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
15219 grub_uint16_t instead of short.
15220 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
15221 disk from little endian to cpu endianness.
15222
04459e70
ST
152232010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
15224
15225 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
15226 GRUB_TICKS_PER_SECOND instead of 120.
15227
a0876943
VS
152282010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15229
15230 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
15231 escape sequence after \e.
15232
e29f95dc
VS
152332010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15234
15235 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
15236 non-ASCII characters.
15237
d27859b2
VS
152382010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15239
15240 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
15241 set root in single quotes to prevent \, from being unescaped.
15242
bc028f2f
VS
152432010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15244
15245 Prevent unknown commands from stopping menuentry execution.
15246
15247 * script/execute.c (grub_script_execute_cmdline): Print error after
15248 unknown command.
15249
095f5f82
VS
152502010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15251
15252 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
15253 Reported by: Pavel Pisa.
15254
8c717950
VS
152552010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15256
15257 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
15258
904935c3
VS
152592010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15260
15261 Merge grub_ieee1275_map_physical into grub_map and rename to
15262 grub_ieee1275_map
15263
15264 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
15265 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
15266 Remove.
15267 * kern/ieee1275/openfw.c (grub_map): Rename to ...
15268 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
15269 necessary.
15270 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
15271
5b59a4e3
VS
152722010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15273
15274 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
15275 opening and not after.
15276
69e137e8
VS
152772010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15278
15279 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
15280 constants.
15281
2c0fcc36
VS
152822010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15283
15284 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
15285 (alloc_phys): Use ALIGN_UP instead of align_addr.
15286
8c6052ce
VS
152872010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15288
15289 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
15290
17cec782
VS
152912010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15292
15293 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
15294
e0128bbd
VS
152952010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15296
15297 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
15298 verbose dprintf.
15299
ca62070b
VS
153002010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15301
15302 Fix over-4GiB seek on sparc64.
15303
15304 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
15305 Replace pos_i and pos_lo with pos. All users updated.
15306 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
15307 New constant.
15308 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
15309 Likewise.
15310 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
15311 and pos_lo.
15312
bdca2607
VS
153132010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15314
15315 * util/grub-mkrawimage.c (main): Call set_program_name.
15316
da278c4d
VS
153172010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15318
15319 Properly align 64-bit targets.
15320
15321 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
15322 (generate_image): Use ALIGN_ADDR.
15323
b274d734
VS
153242010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15325
15326 Properly create cross-endian images.
15327
15328 * include/grub/types.h (grub_host_to_target_addr): New macro
15329 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
15330
82da2062
VS
153312010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15332
15333 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
15334
7cae4377
VS
153352010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
15336
15337 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
15338
15339 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
15340 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
15341 (grub_linux_boot): Divide by 64K when on VESA.
15342
65a533e7
VS
153432010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
15344
15345 Support GRUB_GFXPAYLOAD_LINUX.
15346
15347 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
15348 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
15349
dd01d397
VS
153502010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
15351
15352 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
15353 to show messages instead of discarding them.
15354 Process errors after executing command and not before. Keep old method
15355 too as precaution.
15356
660960d6
VS
153572010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
15358
15359 * configure.ac: Check for ft2build.h.
15360
62509f04
VS
153612010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15362
15363 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
15364
473df63d
VS
153652010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15366
15367 * genkernsyms.sh.in: Use TARGET_CC.
15368
c98d2a13
CW
153692010-02-07 Colin Watson <cjwatson@ubuntu.com>
15370
15371 * NEWS: Update.
15372
6e14234c
VS
153732010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15374
15375 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
15376 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
15377 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 15378
b255e9cf
YB
153792010-02-07 Yves Blusseau <blusseau@zetam.org>
15380
6e14234c 15381 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 15382
98e6959d
VS
153832010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15384
15385 Fix warnings in grub-emu when compiling with maximum warning options.
15386
15387 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
15388 (grub_arch_modules_addr): Return 0 and not NULL.
15389 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 15390 (xstrdup): Use newstr instead of dup.
f88d801b
VS
15391 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
15392 of disk to dsk to avoid shadowing.
74e4934e
VS
15393 (find_free_slot): Fix prototype.
15394 * util/getroot.c (grub_util_is_dmraid): Make static.
15395 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
15396 Add missing prototype.
15397 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 15398
74e31b5c
VS
153992010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15400
15401 * loader/i386/linux.c (grub_linux_setup_video): Handle error
15402 appropriately.
15403
6b2ad14b
VS
154042010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15405
15406 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
15407 code out.
15408
8f891adc
VS
154092010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15410
15411 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
15412 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
15413 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
15414 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
15415 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
15416 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
15417
74b45184
VS
154182010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15419
15420 * include/grub/err.h (grub_err_printf): Don't export.
15421
a4bced77
VS
154222010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15423
15424 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
15425
007d0695
VS
154262010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15427
15428 * include/grub/i18n.h (grub_gettext_dummy): Removed.
15429 * kern/misc.c (grub_gettext_dummy): Make static.
15430
b6c0d9c2
VS
154312010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15432
15433 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
15434 by non-valid ones.
15435 * kern/term.c (grub_putchar): Likewise.
15436
f51a90d0
VS
154372010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15438
15439 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
15440 buggy hook call and memory leak.
15441
6846cec5
VS
154422010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15443
15444 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
15445
468d69fe
VS
154462010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15447
15448 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
15449
51906b8c
VS
154502010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15451
15452 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
15453 modevar.
15454 Return grub_errno on allocation error.
15455
09706ce5
VS
154562010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15457
15458 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
15459
911df80c
YB
154602010-02-06 Yves Blusseau <blusseau@zetam.org>
15461
15462 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
15463 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
15464
3746a6bc
VS
154652010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15466
15467 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
15468 non-pxe disk.
15469 (grub_pxefs_open): Likewise.
15470
09706ce5
VS
154712010-02-06 Robert Millan <rmh.grub@aybabtu.com>
15472
15473 * util/grub.d/10_hurd.in: Add --class information to menuentries.
15474 * util/grub.d/10_kfreebsd.in: Likewise.
15475 * util/grub.d/10_linux.in: Likewise.
15476
7cc192d9
VS
154772010-02-06 Colin D Bennett <colin@gibibit.com>
15478
15479 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
15480 (gfxmenu_mod_SOURCES): New variable.
15481 (gfxmenu_mod_CFLAGS): Likewise.
15482 (gfxmenu_mod_LDFLAGS): Likewise.
15483 * include/grub/term.h (grub_term_set_current_output): Declare
15484 argument as const.
15485 * docs/gfxmenu-theme-example.txt: New file.
15486 * gfxmenu/gfxmenu.c: Likewise.
15487 * gfxmenu/gui_box.c: Likewise.
15488 * gfxmenu/gui_canvas.c: Likewise.
15489 * gfxmenu/gui_circular_progress.c: Likewise.
15490 * gfxmenu/gui_image.c: Likewise.
15491 * gfxmenu/gui_label.c: Likewise.
15492 * gfxmenu/gui_list.c: Likewise.
15493 * gfxmenu/gui_progress_bar.c: Likewise.
15494 * gfxmenu/gui_string_util.c: Likewise.
15495 * gfxmenu/gui_util.c: Likewise.
15496 * gfxmenu/icon_manager.c: Likewise.
15497 * gfxmenu/model.c: Likewise.
15498 * gfxmenu/named_colors.c: Likewise.
15499 * gfxmenu/theme_loader.c: Likewise.
15500 * gfxmenu/view.c: Likewise.
15501 * gfxmenu/widget-box.c: Likewise.
15502 * include/grub/gfxmenu_model.h: Likewise.
15503 * include/grub/gfxmenu_view.h: Likewise.
15504 * include/grub/gfxwidgets.h: Likewise.
15505 * include/grub/gui.h: Likewise.
15506 * include/grub/gui_string_util.h: Likewise.
15507 * include/grub/icon_manager.h: Likewise.
15508
155092010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15510
15511 Agglomerate scrolling in gfxterm.
15512
15513 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
15514 (grub_virtual_screen_setup): Initialise 'total_screen'.
15515 (write_char): Split to ...
15516 (paint_char): ... this ...
15517 (write_char): ... and this.
15518 (paint_char): Handle delayed scrolling.
15519 (draw_cursor): Likewise.
15520 (scroll_up): Split to ...
15521 (real_scroll): ... this ...
15522 (scroll_up): ... and this.
15523 (real_scroll): Handle multi-line scroll and draw below-the-bottom
15524 characters.
15525 (grub_gfxterm_refresh): Call real_scroll.
15526
155272010-02-06 Colin D Bennett <colin@gibibit.com>
15528
15529 * include/grub/misc.h (grub_iscntrl): New inline function.
15530 (grub_isalnum): Likewise.
15531 (grub_strtol): Likewise.
15532
155332010-02-06 Colin D Bennett <colin@gibibit.com>
15534
15535 * normal/menu_text.c (get_entry_number): Move from here ...
15536 * normal/menu.c (get_entry_number): ... moved here.
15537 * include/grub/menu.h (grub_menu_get_default_entry_index):
15538 New prototype.
15539 * normal/menu.c (grub_menu_get_default_entry_index): New function.
15540 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
15541 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
15542 (grub_menu_viewer_should_return): Likewise.
15543 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
15544 * normal/menu_text.c (run_menu): Enable menu switching.
15545 * normal/menu_viewer.c (should_return): New variable.
15546 (menu_viewer_changed): Likewise.
15547 (grub_menu_viewer_show_menu): Handle menu viewer changes.
15548 (grub_menu_viewer_should_return): New function.
15549 (menuviewer_write_hook): Likewise.
15550 (grub_menu_viewer_init): Likewise.
15551
155522010-02-06 Colin D Bennet <colin@gibibit.com>
155532010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15554
15555 Support for gfxterm in a window.
15556
15557 * include/grub/gfxterm.h: New file.
15558 * include/grub/video.h (struct grub_video_rect): New declaration.
15559 (grub_video_rect_t): Likewise.
15560 * term/gfxterm.c (struct grub_gfxterm_window): New type.
15561 (refcount): New variable.
15562 (render_target): Likewise.
15563 (window): Likewise.
15564 (repaint_callback): Likewise.
15565 (grub_virtual_screen_setup): Use 'render_target'.
15566 (init_window): New function.
15567 (grub_gfxterm_init_window): Likewise.
15568 (grub_gfxterm_init): Check reference counter.
15569 Use init_window.
15570 (destroy_window): New function.
15571 (grub_gfxterm_destroy_window): Likewise.
15572 (grub_gfxterm_fini): Check reference counter.
15573 Use destroy_window.
15574 (redraw_screen_rect): Restore viewport.
15575 Use 'render_target' and 'window'.
15576 Call 'repaint_callback'.
15577 (write_char): Use 'render_target'.
15578 (draw_cursor): Likewise.
15579 (scroll_up): Restore viewport.
15580 Use 'render_target' and 'window'.
15581 Call 'repaint_callback'.
15582 (grub_gfxterm_cls): Likewise.
15583 (grub_gfxterm_refresh): Use 'window'.
15584 (grub_gfxterm_set_repaint_callback): New function.
15585 (grub_gfxterm_background_image_cmd): Use 'window'.
15586 (grub_gfxterm_get_term): New function.
15587 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
15588
155892010-02-06 Colin D Bennett <colin@gibibit.com>
15590
15591 Bitmap scaling support.
15592
15593 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
15594 (bitmap_scale_mod_SOURCES): New variable.
15595 (bitmap_scale_mod_CFLAGS): Likewise.
15596 (bitmap_scale_mod_LDFLAGS): Likewise.
15597 * include/grub/bitmap_scale.h: New file.
15598 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
15599 (background_image_cmd_options): New variable.
15600 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
15601 (cmd): Rename and change type to ...
15602 (background_image_cmd_handle): ... this. All users updated.
15603 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
15604 * video/bitmap_scale.c: New file.
15605
156062010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15607
15608 SDL support.
15609
15610 * Makefile.in (LIBSDL): New variable.
15611 (enable_grub_emu_sdl): Likewise.
15612 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
15613 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
15614 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
15615 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
15616 * util/sdl.c: New file.
15617
156182010-02-06 Colin D Bennett <colin@gibibit.com>
156192010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15620
15621 Double buffering support.
15622
15623 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
15624 * include/grub/video.h: Update comment.
15625 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
15626 New type.
15627 (grub_video_fb_doublebuf_blit_init): New prototype.
15628 * term/gfxterm.c (scroll_up): Support double buffering.
15629 (grub_gfxterm_refresh): Likewise.
15630 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
15631 (grub_video_fb_doublebuf_blit_init): Likewise.
15632 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
15633 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
15634 'displayed_page', 'render_page' and 'update_screen'.
15635 (grub_video_vbe_fini): Free offscreen buffer.
15636 (doublebuf_pageflipping_commit): New function.
15637 (doublebuf_pageflipping_update_screen): Likewise.
15638 (doublebuf_pageflipping_init): Likewise.
15639 (double_buffering_init): Likewise.
15640 (grub_video_vbe_setup): Enable doublebuffering.
15641 (grub_video_vbe_swap_buffers): Implement.
15642 (grub_video_vbe_set_active_render_target): Handle double buffering.
15643 (grub_video_vbe_get_active_render_target): Likewise.
15644 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
15645 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
15646 (grub_video_vbe_enable_double_buffering): Likewise.
15647 (grub_video_vbe_swap_buffers): Use update_screen.
15648 (grub_video_set_mode): Use double buffering.
15649
156502010-02-06 Robert Millan <rmh.grub@aybabtu.com>
15651
15652 * maintainance/gentrigtables.py: Remove.
15653 * lib/trig.c: Likewise.
15654
15655 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
15656
15657 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
15658 `trigtables.c'.
15659 (trigtables.c): New rule.
15660 (gentrigtables): Likewise.
15661 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
15662
156632010-02-06 Robert Millan <rmh.grub@aybabtu.com>
15664
15665 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
15666 integer constants.
15667
156682010-02-06 Colin D Bennet <colin@gibibit.com>
15669
15670 Trigonometry support.
15671
15672 * include/grub/trig.h: New file.
15673 * lib/trig.c: Likewise.
15674 * maintainance/gentrigtables.py: Likewise.
15675 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
15676 (trig_mod_SOURCES): New variable.
15677 (trig_mod_CFLAGS): Likewise.
15678 (trig_mod_LDFLAGS): Likewise.
15679
5562834e
VS
156802010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15681
15682 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
15683 disk devices.
15684
4f8528fc
VS
156852010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15686
15687 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
15688 error.
15689
2b4068e9
VS
156902010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
15691
15692 * util/hostdisk.c (open_device): Don't use partition device when reading
15693 before the partition.
15694 (grub_util_biosdisk_read): Don't read from partition and before the
15695 partition in single operation.
15696 (grub_util_biosdisk_write): Don't write to partition and before the
15697 partition in single operation.
15698
399f6e4d
TL
156992010-02-03 Torsten Landschoff <torsten@debian.org>
15700
15701 * kern/disk.c (grub_disk_read): Fix offset computation when reading
15702 last sectors.
15703
996649b0
VS
157042010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
15705
15706 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
15707 CDROM reads.
15708 (grub_biosdisk_write): Refuse to write to CDROM.
15709
3b205d4d
VS
157102010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
15711
15712 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
15713
61e89d9d
VS
157142010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
15715
15716 * font/font.c (find_glyph): Check that bmp_idx is available before
15717 using it.
15718 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
15719 with (font == NULL).
15720
bf7fcba2
CS
157212010-01-28 Christian Schmitt <chris@ilovelinux.de>
15722
15723 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
15724
f45d2663
BC
157252010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
15726
15727 * include/grub/script_sh.h (sourcecode): Add const qualifier.
15728 * util/grub-script-check.c (getline): Fix empty lines case.
15729
ec1444e6
RM
157302010-01-28 Robert Millan <rmh.grub@aybabtu.com>
15731
15732 * Makefile.in (check): Exit with fail status when one of the tests
15733 fails.
15734 * tests/example_functional_test.c (example_test): Fix reversed assert.
15735 * tests/example_unit_test.c (example_test): Likewise.
15736
2e1cb9bb
CW
157372010-01-28 Colin Watson <cjwatson@ubuntu.com>
15738
15739 * util/grub.d/10_linux.in: This script does not use any of the
15740 contents of gettext.sh, only the external command `gettext', so stop
15741 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
15742 the same prefix as GRUB.)
15743 * util/grub.d/10_kfreebsd.in: Likewise.
15744
63533ab0
VS
157452010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
15746
15747 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
15748 of the line.
15749
989e1f93
VS
157502010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
15751
15752 * kern/disk.c (grub_disk_read): Fix offset computation when reading
15753 last sectors.
15754
e709ebe2
VS
157552010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
15756
15757 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
15758 having a 4KiB and not 32KiB buffer size.
15759
27dea7ed
RM
157602010-01-27 Robert Millan <rmh.grub@aybabtu.com>
15761
15762 * util/hostfs.c: Include `<errno.h>'.
15763 (grub_hostfs_read): Handle errors from fseeko() and fread().
15764
67667b9c
RM
157652010-01-27 Robert Millan <rmh.grub@aybabtu.com>
15766
15767 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
15768 loop when using read hooks on files whose size isn't sector-aligned.
15769
c294d9d8
RM
157702010-01-27 Robert Millan <rmh.grub@aybabtu.com>
15771
15772 Remove unused parameter.
15773
15774 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
15775 (grub_iso9660_open): Remove initialization of `data->length'.
15776
af75a9f1
RM
157772010-01-27 Robert Millan <rmh.grub@aybabtu.com>
15778
15779 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
15780 memleak conditions.
15781
254e2ce5 157822010-01-27 Carles Pina i Estany <carles@pina.cat>
15783
15784 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
15785 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
15786
b510928c 157872010-01-26 Carles Pina i Estany <carles@pina.cat>
15788
15789 * util/bin2h.c (usage): Fix warning (space after backslash).
15790
aa2f9dd2 157912010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 15792
15793 * font/font.c: Include `grub/fontformat.h.
15794 Remove font file format constants.
15795 (grub_font_load): Use the new macros.
15796 * include/grub/fontformat.h: New file.
15797 * util/grub-mkfont.c: Include `grub/fontformat.c'.
15798 (write_font_pf2): Use the new macros.
15799
94e7e712
RM
158002010-01-26 Robert Millan <rmh.grub@aybabtu.com>
15801
15802 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
15803 does.
15804
3973a59a
RM
158052010-01-26 Robert Millan <rmh.grub@aybabtu.com>
15806
15807 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
15808
15809 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
15810 (_start): Macroify `0x7F'.
15811
15812 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
15813 (make_install_device): Use "(pxe)" as fallback prefix when booting
15814 via PXE.
15815
42e0cba3
GS
158162010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
15817
15818 * configure.ac: Reset LIBS after check for libgcc symbols.
15819
847effd8
CW
158202010-01-25 Colin Watson <cjwatson@ubuntu.com>
15821
15822 * util/hostdisk.c (open_device): Add trailing newline to debug
15823 message.
15824
ea4a7e35
GS
158252010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
15826
15827 * configure.ac: Check for `limits.h'.
15828 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
15829
67951a53
RM
158302010-01-24 Robert Millan <rmh.grub@aybabtu.com>
15831
15832 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
15833 capitalize error strings.
15834
c273d4ce
ST
158352010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
15836
15837 * util/grub.d/10_hurd.in: Add a recovery mode.
15838
69be5b74
VS
158392010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
15840
15841 * configure.ac: Check for libgcc symbols with -nostdlib.
15842
fc9e5810
BC
158432010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
15844
15845 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
15846
4b358c0a
VS
158472010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15848
15849 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
15850 stack since heap may be unavailable at that point.
15851 (grub_ofconsole_gotoxy): Likewise.
15852
454fcd1c
VS
158532010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15854
15855 * configure.ac: Check for _restgpr_14_x.
15856 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
15857 and _savegpr_* prototypes.
15858
566863ca
RM
158592010-01-22 Robert Millan <rmh.grub@aybabtu.com>
15860
15861 Use generic grub_reboot() for i386-efi.
15862
15863 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
15864 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
15865 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
15866
bf86e59a
VS
158672010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15868
15869 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
15870 presence of "prefix" variable as it breaks when normal.mod is
15871 embedded.
15872
d645e0f8
VS
158732010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
15874
15875 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
15876 stack since heap is unavailable at that point.
15877
f9ab2e25
VS
158782010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
15879
15880 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
15881 (grub_freebsd_bootinfo): Rewritten.
15882 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
15883
01fc7054
VS
158842010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
15885
15886 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
15887
caab4fd6
RM
158882010-01-21 Robert Millan <rmh.grub@aybabtu.com>
15889
15890 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
15891 domain now.
15892
67eb1427
FZ
158932010-01-20 Felix Zielcke <fzielcke@z-51.de>
15894
15895 * util/misc.c (make_system_path_relative_to_its_root): Change the work
15896 around for handling "/" to the correct fix. Fix a memory leak. Use
15897 xstrdup instead of strdup.
15898
a9ed4ff3
VS
158992010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15900
15901 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
15902
159032010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
15904
15905 Optimise glyph lookup by Basic Multilingual Plane lookup array.
15906
15907 * font/font.c (struct grub_font): New member 'bmp_idx'.
15908 (font_init): Initialise 'bmp_idx'.
15909 (load_font_index): Fill 'bmp_idx'.
15910 (find_glyph): Make inline. Use bmp_idx for BMP characters.
15911
48209f4f
VS
159122010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15913
15914 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
15915 unnecessary calls.
15916
9f0a4bb7
VS
159172010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15918
15919 Move context handling out of the kernel.
15920
15921 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
15922 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
15923 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
15924 * conf/i386-efi.rmk: Likewise.
15925 * conf/i386-ieee1275.rmk: Likewise.
15926 * conf/i386-pc.rmk: Likewise.
15927 * conf/powerpc-ieee1275.rmk: Likewise.
15928 * conf/sparc64-ieee1275.rmk: Likewise.
15929 * conf/x86_64-efi.rmk: Likewise.
15930 * include/grub/env.h: Include grub/menu.h.
15931 (grub_env_var_type): Removed.
15932 (grub_env_var): Replaced field 'type' with 'global'.
15933 (grub_env_find): New prototype.
15934 (grub_env_context_open): Remove EXPORT_FUNC.
15935 (grub_env_context_close): Likewise.
15936 (grub_env_export): Likewise.
15937 (grub_env_set_data_slot): Removed.
15938 (grub_env_get_data_slot): Likewise.
15939 (grub_env_unset_data_slot): Likewise.
15940 (grub_env_unset_menu): New prototype.
15941 (grub_env_set_menu): Likewise.
15942 (grub_env_get_menu): Likewise.
15943 * include/grub/env_private.h: New file.
15944 * include/grub/normal.h (grub_context_init): New prototype.
15945 (grub_context_fini): Likewise.
15946 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
15947 * normal/context.c (grub_cmd_export): ... to here.
15948 * kern/env.c: Include env_private.h.
15949 (HASHSZ): Moved to include/grub/env_private.h.
15950 (grub_env_context): Likewise.
15951 (grub_env_sorted_var): Likewise.
15952 (current_context): Renamed from this ...
15953 (grub_current_context): ...to this. 'static' removed. All users updated.
15954 (grub_env_find): Removed 'static'.
15955 (grub_env_context_open): Moved to normal/context.c.
15956 (grub_env_context_close): Likewise.
15957 (grub_env_export): Likewise.
15958 (mangle_data_slot_name): Removed.
15959 (grub_env_set_data_slot): Likewise.
15960 (grub_env_get_data_slot): Likewise.
15961 (grub_env_unset_data_slot): Likewise.
15962 * kern/main.c (grub_set_root_dev): Don't export root.
15963 It will be done later.
15964 (grub_main): Don't export prefix.
15965 It will be done later.
15966 * normal/context.c: New file.
15967 * normal/main.c (free_menu): Use grub_env_unset_menu.
15968 (grub_normal_add_menu_entry): Use grub_env_get_menu.
15969 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
15970 (GRUB_MOD_INIT(normal)): Call grub_context_init.
15971 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
15972
8dd35b8c
VS
159732010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15974
15975 setpci support.
15976
15977 * commands/setpci.c: New file.
15978 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
15979 (setpci_mod_SOURCES): New variable.
15980 (setpci_mod_CFLAGS): Likewise.
15981 (setpci_mod_LDFLAGS): Likewise.
15982
449193d5
VS
159832010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15984
15985 Byte-addressable PCI configuration space.
15986
15987 * bus/pci.c (grub_pci_make_address): Use byte address instead of
15988 dword address.
15989 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
15990 GRUB_PCI_REG_CACHELINE.
15991 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
15992 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
15993 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
15994 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
15995 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
15996 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
15997 grub_pci_make_address.
15998 (lock_rom_area): Likewise.
15999 * commands/lspci.c (grub_lspci_iter): Use macroses
16000 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
16001 of grub_pci_make_address.
16002 * disk/ata.c (grub_ata_pciinit): Likewise.
16003 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
16004 (GRUB_PCI_REG_VENDOR): Likewise.
16005 (GRUB_PCI_REG_DEVICE): Likewise.
16006 (GRUB_PCI_REG_COMMAND): Likewise.
16007 (GRUB_PCI_REG_STATUS): Likewise.
16008 (GRUB_PCI_REG_REVISION): Likewise.
16009 (GRUB_PCI_REG_CLASS): Likewise.
16010 (GRUB_PCI_REG_CACHELINE): Likewise.
16011 (GRUB_PCI_REG_LAT_TIMER): Likewise.
16012 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
16013 (GRUB_PCI_REG_BIST): Likewise.
16014 (GRUB_PCI_REG_ADDRESSES): Likewise.
16015 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16016 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16017 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16018 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16019 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16020 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16021 (GRUB_PCI_REG_CIS_POINTER): Likewise.
16022 (GRUB_PCI_REG_SUBVENDOR): Likewise.
16023 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
16024 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
16025 (GRUB_PCI_REG_CAP_POINTER): Likewise.
16026 (GRUB_PCI_REG_IRQ_LINE): Likewise.
16027 (GRUB_PCI_REG_IRQ_PIN): Likewise.
16028 (GRUB_PCI_REG_MIN_GNT): Likewise.
16029 (GRUB_PCI_REG_MAX_LAT): Likewise.
16030 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
16031 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
16032 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 16033 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
16034 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
16035 space.
16036
96d73208
RM
160372010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16038
16039 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
16040 can be reliably determined to be supported.
16041
d4484482
RM
160422010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16043
16044 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
16045 that VESA is supported.
16046 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
16047 supported.
16048
00308ecf
VS
160492010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16050
16051 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
16052
f66924a4
RM
160532010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16054
16055 * util/misc.c (make_system_path_relative_to_its_root): Work around
16056 special-casing of "/", as previous incarnation of this routine did.
16057
cbca0ada
VS
160582010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16059
16060 Fix any-emu compilation.
16061
16062 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
16063 * grub_bin2h_SOURCES: New variable.
16064
34a66d99
RM
160652010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16066
16067 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
16068
94fabf58
RM
160692010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16070
16071 * util/grub.d/00_header.in: Fix handling of locale_dir.
16072
02cf98ca
VS
160732010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16074
16075 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
16076 as possible unifont location (Gentoo).
16077 Reported by: Alexander Brüning
16078
327dbcd7
VS
160792010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16080
16081 Don't try to generate lists for kernel.img.
16082
16083 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
16084 (pkglib_MODULES): Remove kernel.img.
16085 (kernel_img_EXPORTS): Removed.
16086 (kernel_img_RELOCATABLE): New variable.
16087 * conf/x86_64-efi.rmk: Likewise.
16088 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
16089
ca467290
VS
160902010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16091
16092 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
16093 grub_xasprintf or grub_snprintf.
16094 (grub_vsprintf): Likewise.
16095 (grub_snprintf): New proto.
16096 (grub_vsnprintf): Likewise.
16097 (grub_xasprintf): Likewise.
16098 (grub_xvasprintf): Likewise.
16099 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
16100 (grub_sprintf): Removed.
16101 (grub_vsnprintf): New function.
16102 (grub_snprintf): Likewise.
16103 (grub_xvasprintf): Likewise.
16104 (grub_xasprintf): Likewise.
16105 (grub_vsprintf): Renamed to ...
16106 (grub_vsnprintf_real): ...this. New argument max_len.
16107
aca655fd
BC
161082010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
16109
16110 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
16111 fix grub-script-check warning.
16112
7ee92c32
VS
161132010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16114
16115 * include/grub/font.h (grub_font_load): Fix prototype.
16116
f80927ca
VS
161172010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16118
16119 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
16120
119c50ea
VS
161212010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16122
16123 * include/grub/x86_64/at_keyboard.h: New file.
16124
47d5f3c1
VS
161252010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16126
16127 * loader/mips/linux.c: Include missing grub/i18n.h.
16128
55ff5266
RM
161292009-12-20 Robert Millan <rmh.grub@aybabtu.com>
16130
16131 * normal/menu.c (notify_execution_failure): Clarify error message.
16132
c893cc87
RM
161332009-12-20 Robert Millan <rmh.grub@aybabtu.com>
16134
16135 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
16136 return value (and revert all return statements). Update users.
16137
917dd370
CW
161382010-01-20 Dan Merillat <debian@dan.merillat.org>
16139
16140 * kern/device.c (grub_device_iterate): Allocate new part_ent
16141 structure based on sizeof (*p) rather than sizeof (p->next), to
16142 account for structure padding.
16143
16144 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
16145 disk is NULL, which might happen for LVM physical volumes with no
16146 LVM signature.
16147
d4a4ee57
RM
161482009-12-20 Robert Millan <rmh.grub@aybabtu.com>
16149
16150 * loader/mips/linux.c (grub_cmd_initrd)
16151 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
16152
161532009-12-20 Robert Millan <rmh.grub@aybabtu.com>
16154
16155 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
16156 (grub_video_video_init, grub_video_bitmap_init)
16157 (grub_font_manager_init, grub_term_gfxterm_init)
16158 (grub_at_keyboard_init): New extern declarations.
16159 (grub_machine_init): Initialize gfxterm and at_keyboard.
16160
16161 * kern/main.c (grub_main): Revert grub_printf delay kludge.
16162
16163 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
16164 `gfxterm.mod' into core image.
16165
16166 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
16167 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
16168 (kernel_img_FORMAT): Copy to ...
16169
16170 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
16171 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
16172 (kernel_img_FORMAT): ... here, and ...
16173
16174 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
16175 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
16176 (kernel_img_FORMAT): ... here.
16177
16178 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
16179 and input (at_keyboard) terminals in kernel.
16180 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
16181
16182 (pkglib_MODULES): Remove `pci.mod'.
16183 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
16184 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
16185 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
16186 (at_keyboard_mod_LDFLAGS): Remove variables.
16187
161882010-01-11 Felix Zielcke <fzielcke@z-51.de>
16189
16190 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
16191
161922009-12-10 Robert Millan <rmh.grub@aybabtu.com>
16193
16194 * include/grub/mips/libgcc.h: Only export symbols for functions
16195 that libgcc provides.
16196
161972009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
16198
16199 MIPS support.
16200
16201 * bus/bonito.c: New file.
16202 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
16203 GRUB_PCI_NUM_DEVICES.
16204 * term/i386/pc/serial.c: Move to ...
16205 * term/serial.c: ... here. All users updated.
16206 * util/i386/pc/grub-mkimage.c: Move to ...
16207 * util/grub-mkrawimage.c: ... here. All users updated.
16208 * term/i386/pc/at_keyboard.c: Move to ...
16209 * term/at_keyboard.c: ... here. All users updated.
16210 * conf/mips-qemu-mips.rmk: New file.
16211 * conf/mips-yeeloong.rmk: Likewise.
16212 * conf/mips.rmk: Likewise.
16213 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
16214 mipsel-qemu-mips.
16215 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
16216 to port addresses.
16217 (grub_ata_pciinit): Support CS5536.
16218 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
16219 * font/font_cmd.c (loadfont_command): Open file before passing it to
16220 grub_font_load.
16221 (pseudo_file_read): New function.
16222 (pseudo_file_close): Likewise.
16223 (pseudo_fs): New structure.
16224 (load_font_module): New function.
16225 (GRUB_MOD_INIT(font_manager)): Load embedded font.
16226 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
16227 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
16228 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
16229 * include/grub/i386/at_keyboard.h: Split into ...
16230 * include/grub/at_keyboard.h: ... this ...
16231 * include/grub/i386/at_keyboard.h: ... and this.
16232 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
16233 New prototype.
16234 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
16235 updated.
16236 (grub_elf64_size): Likewise.
16237 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
16238 filename.
16239 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
16240 * include/grub/i386/coreboot/serial.h: Rewritten.
16241 * include/grub/i386/ieee1275/serial.h: Include
16242 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
16243 * include/grub/i386/pc/serial.h: Moved from here ...
16244 * include/grub/serial.h: ... to here. All users updated.
16245 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
16246 (GRUB_PCI_NUM_BUS): Likewise.
16247 (GRUB_PCI_NUM_DEVICES): Likewise.
16248 (grub_pci_device_map_range): Add missing volatile keyword.
16249 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
16250 * include/grub/mips/at_keyboard.h: New file.
16251 * include/grub/mips/cache.h: Likewise.
16252 * include/grub/mips/io.h: Likewise.
16253 * include/grub/mips/kernel.h: Likewise.
16254 * include/grub/mips/libgcc.h: Likewise.
16255 * include/grub/mips/pci.h: Likewise.
16256 * include/grub/mips/qemu-mips/boot.h: Likewise.
16257 * include/grub/mips/qemu-mips/kernel.h: Likewise.
16258 * include/grub/mips/qemu-mips/loader.h: Likewise.
16259 * include/grub/mips/qemu-mips/memory.h: Likewise.
16260 * include/grub/mips/qemu-mips/serial.h: Likewise.
16261 * include/grub/mips/qemu-mips/time.h: Likewise.
16262 * include/grub/mips/relocator.h: Likewise.
16263 * include/grub/mips/time.h: Likewise.
16264 * include/grub/mips/types.h: Likewise.
16265 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
16266 * include/grub/mips/yeeloong/boot.h: Likewise.
16267 * include/grub/mips/yeeloong/kernel.h: Likewise.
16268 * include/grub/mips/yeeloong/loader.h: Likewise.
16269 * include/grub/mips/yeeloong/memory.h: Likewise.
16270 * include/grub/mips/yeeloong/pci.h: Likewise.
16271 * include/grub/mips/yeeloong/serial.h: Likewise.
16272 * include/grub/mips/yeeloong/time.h: Likewise.
16273 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
16274 * kern/elf.c (grub_elf32_size): New parameter. All users
16275 updated.
16276 (grub_elf64_size): Likewise.
16277 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
16278 Load modules before saying "Welcome to GRUB!".
16279 Call grub_refresh after saying "Welcome to GRUB!".
16280 * kern/mips/cache.S: New file.
16281 * kern/mips/cache_flush.S: Likewise.
16282 * kern/mips/dl.c: Likewise.
16283 * kern/mips/init.c: Likewise.
16284 * kern/mips/qemu-mips/init.c: Likewise.
16285 * kern/mips/startup.S: Likewise.
16286 * kern/mips/yeeloong/init.c: Likewise.
16287 * kern/term.c (grub_putcode): Handle NULL terminal.
16288 (grub_getcharwidth): Likewise.
16289 (grub_getkey): Likewise.
16290 (grub_checkkey): Likewise.
16291 (grub_getkeystatus): Likewise.
16292 (grub_getxy): Likewise.
16293 (grub_getwh): Likewise.
16294 (grub_gotoxy): Likewise.
16295 (grub_cls): Likewise.
16296 (grub_setcolorstate): Likewise.
16297 (grub_setcolor): Likewise.
16298 (grub_getcolor): Likewise.
16299 (grub_refresh): Likewise.
16300 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
16301 (write_jump): Add hatch nop.
16302 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
16303 * lib/mips/setjmp.S: New file.
16304 * loader/mips/linux.c: Likewise.
16305 * term/i386/pc/at_keyboard.c: Move from here ...
16306 * term/at_keyboard.c: ... to here.
16307 * term/i386/pc/serial.c: Moved from here ...
16308 * term/serial.c: ... to here. All users updated.
16309 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
16310 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
16311 (serial_translate_key_sequence): Avoid deadlock.
16312 (grub_serial_getkey): Handle backspace.
16313 (grub_serial_putchar): Fix newline handling.
16314 * util/i386/pc/grub-mkimage.c: Move from here ...
16315 * util/grub-mkrawimage.c: ... to here. All users updated.
16316 (generate_image): New parameters 'font_path' and 'format'.
16317 Support embedding font.
16318 Use grub_host_to_target* instead of grub_cpu_to_le*.
16319 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
16320 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
16321 (options): New option "--font".
16322 (usage): Likewise.
16323 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
16324 (main): Handle "--font".
16325 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
16326 (grub_virtual_screen_setup): Set bg_color_display.
16327 (redraw_screen_rect): Use bg_color_display instead of incorrect
16328 bg_color.
16329 (grub_gfxterm_cls): Likewise.
16330 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
16331 Support embedding config file.
16332 (add_segments): Likewise.
16333 (options): New option "--config".
16334 (main): Handle "--config".
16335 * video/sm712.c: New file.
16336
25c2b5b3
RM
163372010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16338
16339 Fix parallel builds.
16340
16341 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
16342 font.c depend on ascii.h).
16343
163442010-01-12 Carles Pina i Estany <carles@pina.cat>
16345
16346 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
16347
163482010-01-11 Carles Pina i Estany <carles@pina.cat>
16349
16350 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
16351 By default: disabled.
16352 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
16353 parameter.
16354
163552010-01-10 Carles Pina i Estany <carles@pina.cat>
16356
16357 * font/font.c: Update copyright years.
16358 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
16359
163602010-01-10 Carles Pina i Estany <carles@pina.cat>
16361
16362 * font/font.c: Include `ascii.h'.
16363 (ASCII_BITMAP_SIZE): New macro.
16364 (ascii_font_glyph): Define.
16365 (ascii_glyph_lookup): New function.
16366 (grub_font_get_string_width): Change comment. If glyph not found, use
16367 ascii_glyph_lookup.
16368 (grub_font_get_glyph_with_fallback): If glyph not available returns
16369 ascii_glyph_lookup.
16370 * util/grub-mkfont.c (file_formats): New enum.
16371 (options): Add `ascii-bitmaps' new option.
16372 (usage): Add `asii-bitmaps' new option.
16373 (write_font_ascii_bitmap): New function.
16374 (write_font): Rename to ...
16375 (write_font_p2): ... this. Remove print_glyphs call.
16376 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
16377 used. Call print_glyphs.
16378 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
16379
163802010-01-14 Robert Millan <rmh.grub@aybabtu.com>
16381
16382 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
16383 (grub_bin2h_SOURCES): New variable.
16384 * util/bin2h.c: New file.
16385
915fc1b8
VS
163862010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16387
16388 * include/multiboot.h: Resynced with spec.
16389 * include/multiboot2.h: Likewise.
16390 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
16391 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
16392
9444b678
RM
163932010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16394
16395 * include/grub/term.h (grub_term_register_input,
16396 grub_term_register_output): Check return of terminal init()
16397 routines, and abort if errors are raised.
16398
16399 * commands/terminal.c: Update copyright year.
16400
cba98e8d
RM
164012010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16402
16403 * commands/terminal.c (grub_cmd_terminal_input)
16404 (grub_cmd_terminal_output): Check return of terminal init()
16405 routines, and abort if errors are raised.
16406
6f7db5d6
VS
164072010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
16408
16409 * include/grub/i386/bsd.h: Fix include pathes.
16410
262bff8d
VS
164112010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
16412
16413 Add missing *BSD copyright headers.
16414
16415 * include/grub/aout.h: Add BSD licence.
16416 * include/grub/i386/bsd.h: Parts under different licences moved to ...
16417 * include/grub/i386/freebsd_linker.h: ... here,
16418 * include/grub/i386/freebsd_reboot.h: ... here,
16419 * include/grub/i386/netbsd_bootinfo.h: ... here,
16420 * include/grub/i386/netbsd_reboot.h: ... here,
16421 * include/grub/i386/openbsd_bootarg.h: ... here,
16422 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
16423 licence to each file.
16424
b2cab848
RM
164252010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16426
16427 * acinclude.m4: Remove `nop' assembly instruction; it's not
16428 implemented by all architectures.
16429
2cb6be4b
RM
164302010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16431
16432 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
16433 ELILO. This is no longer necessary.
16434
a2eaee15
BC
164352010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
16436
16437 Added new tool, grub-scrit-check to verify grub.cfg syntax.
16438
16439 * util/grub-script-check.c: grub-script-check tool.
16440 * conf/common.rmk: Make rules for grub-script-check.
16441
88d17012
RM
164422010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16443
16444 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
16445 spotting it back in 2008. Shame on me for forgetting he did.
16446
16447 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
16448
8040619d
RM
164492010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16450
16451 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
16452 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
16453 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
16454 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
16455 (GRUB_VIDEO_TYPE_EFI): Rename to ...
16456 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
16457
a0c2a0f6
RM
164582010-01-17 Robert Millan <rmh.grub@aybabtu.com>
16459
16460 * include/grub/test.h: Add license header.
16461 * tests/example_functional_test.c: Likewise.
16462 * tests/example_unit_test.c: Likewise.
16463 * tests/lib/functional_test.c: Likewise.
16464 * tests/lib/test.c: Likewise.
16465 * tests/lib/unit_test.c: Likewise.
16466
b0b13907
VS
164672010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
16468
16469 Use flag-based instead of hook-based video mode selection and "auto"
16470 keyword.
16471
16472 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
16473 (grub_video_set_mode): Changed prototype. All users updated.
16474 (grub_video_check_mode_flag): New inline function.
16475 * video/video.c (parse_modespec): New function.
16476 (grub_video_set_mode): Parse flags and keywords.
16477
ea379330 164782010-01-17 Carles Pina i Estany <carles@pina.cat>
16479
16480 * util/misc.c (grub_util_info): Fix the order of the parameters in a
16481 fprintf call.
16482
e15c215e
FZ
164832010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
16484
16485 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
16486
409ae1c9 164872010-01-16 Carles Pina i Estany <carles@pina.cat>
16488
16489 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
16490 string.
16491 * util/grub-emu.c (usage): Likewise.
16492 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
16493 * util/i386/efi/grub-mkimage.c (usage): Likewise.
16494 * util/i386/pc/grub-mkimage.c (usage): Likewise.
16495 * util/i386/pc/grub-setup.c (usage): Likewise.
16496
70a14d3d 164972010-01-16 Carles Pina i Estany <carles@pina.cat>
16498
16499 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
16500 the message.
16501 (grub_util_info): Likewise.
16502 (grub_util_error): Likewise.
16503 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
16504 and/or new lines in `grub_util_warna', `grub_util_info',
16505 `grub_util_error' calls.
16506 * util/getroot.c: Likewise.
16507 * util/grub-editenv.c: Likewise.
16508 * util/grub-emu.c: Likewise.
16509 * util/grub-fstest.c: Likewise.
16510 * util/grub-mkdevicemap.c: Likewise.
16511 * util/grub-mkfont.c: Likewise.
16512 * util/grub-mkpasswd-pbkdf2.c: Likewise.
16513 * util/grub-mkrelpath.c: Likewise.
16514 * util/grub-pe2elf.c: Likewise.
16515 * util/grub-probe.c: Likewise.
16516 * util/hostdisk.c: Likewise.
16517 * util/i386/efi/grub-mkimage.c: Likewise.
16518 * util/i386/pc/grub-mkimage.c: Likewise.
16519 * util/i386/pc/grub-setup.c: Likewise.
16520 * util/ieee1275/ofpath.c: Likewise.
16521 * util/mkisofs/eltorito.c: Likewise.
16522 * util/mkisofs/rock.c: Likewise.
16523 * util/mkisofs/write.c: Likewise.
16524 * util/raid.c: Likewise.
16525 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
16526 * util/sparc64/ieee1275/grub-setup.c: Likewise.
16527
a0b766fc
VS
165282010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
16529
16530 Enable multiboot on non-pc.
16531
16532 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
16533 multiboot.mod and multiboot2.mod to ...
16534 * conf/i386.rmk (pkglib_MODULES): ... here.
16535 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
16536 Moved to ...
16537 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
16538 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
16539 Moved to ...
16540 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
16541 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
16542 Moved to ...
16543 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
16544 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
16545 Moved to ...
16546 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
16547 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
16548 relocator.mod.
16549 (ata_mod_SOURCES): Removed.
16550 (ata_mod_CFLAGS): Likewise.
16551 (ata_mod_LDFLAGS): Likewise.
16552 (relocator_mod_SOURCES): Removed.
16553 (relocator_mod_CFLAGS): Likewise.
16554 (relocator_mod_ASFLAGS): Likewise.
16555 (relocator_mod_LDFLAGS): Likewise.
16556 Include i386.mk.
16557 * include/grub/x86_64/multiboot.h: New file.
16558 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
16559 Terminate EFI.
16560
884ade56
VS
165612010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
16562
16563 Video multiboot support.
16564
16565 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
16566 New prototype.
16567 * include/multiboot.h: Resynced with multiboot specification.
16568 * include/multiboot2.h: Likewise.
16569 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
16570 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
16571 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
16572 (HAS_VGA_TEXT): Likewise.
16573 (accepts_video): New variable.
16574 (grub_multiboot_set_accepts_video): New function.
16575 (grub_multiboot_get_mbi_size): Account for video structures.
16576 (set_video_mode): New function.
16577 (retrieve_video_parameters): Likewise.
16578 (grub_multiboot_make_mbi): Fill video fields.
16579
0d90e8a6
VS
165802010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
16581
16582 Video driver ids.
16583
16584 * include/grub/video.h (grub_video_driver_id): New type.
16585 (grub_video_adapter): New member 'id'. All users updated.
16586 (grub_video_get_driver_id): New proto.
16587 * video/video.c (grub_video_get_driver_id): New function.
16588
5c71db1b 165892010-01-14 Carles Pina i Estany <carles@pina.cat>
16590
16591 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
16592 `var=val'.
16593
cca15b52 165942010-01-14 Carles Pina i Estany <carles@pina.cat>
16595
16596 * normal/cmdline.c (print_completion): Gettextizze.
16597
c586fbb2 165982001-01-14 Carles Pina i Estany <carles@pina.cat>
16599
16600 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
16601
ba2f6848 166022010-01-14 Carles Pina i Estany <carles@pina.cat>
16603
16604 * gettext/gettext.c (grub_gettext_translate): Push and pop
16605 grub_errno.
16606 (grub_gettext_delete_list): Change comment style.
16607 * kern/err.c (grub_error): Gettextizze.
16608 (grub_fatal): Gettextizze.
16609
0a46429a
RM
166102010-01-14 Robert Millan <rmh.grub@aybabtu.com>
16611
16612 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
16613 (grub_linux16_real_boot): ... this.
16614 * kern/i386/loader.S: Likewise.
16615 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
16616 (grub_linux16_boot): New function. Switches to text mode and calls
16617 grub_linux16_real_boot().
16618
16619 * loader/i386/bsd.c: Include `<grub/video.h>'.
16620 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
16621 text mode before calling grub_unix_real_boot().
16622
16623 * loader/i386/multiboot.c: Include `<grub/video.h>'.
16624 (grub_multiboot_boot): Switch to text mode before calling
16625 grub_relocator32_boot().
16626
16627 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
16628 (grub_chainloader_boot): Switch to text mode before calling
16629 grub_chainloader_real_boot().
16630
d6f93a66
RM
166312010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
166322010-01-05 Colin Watson <cjwatson@ubuntu.com>
16633
16634 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
16635 non-empty value.
16636
166372010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
166382010-01-05 Colin Watson <cjwatson@ubuntu.com>
16639
16640 * util/grub.d/00_header.in: Define a "savedefault" function for use
16641 in menu entries.
16642 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
16643
166442010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
166452010-01-05 Colin Watson <cjwatson@ubuntu.com>
16646
16647 * util/grub-mkconfig_lib.in (save_default_entry): Only set
16648 saved_entry if boot_once is unset.
16649 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
16650 previous saved entry (i.e. grub-reboot).
16651
166522009-12-08 Colin Watson <cjwatson@ubuntu.com>
16653
16654 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
16655
166562009-12-08 Colin Watson <cjwatson@ubuntu.com>
16657
16658 * util/grub.d/00_header.in: Use `set var=val' rather than plain
16659 `var=val'.
16660 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
16661
166622009-12-08 Colin Watson <cjwatson@ubuntu.com>
16663
16664 * util/grub-reboot.in: Fix --version output.
16665 * util/grub-set-default.in: Likewise.
16666
166672009-12-08 Colin Watson <cjwatson@ubuntu.com>
16668
16669 * util/grub.d/00_header.in: Silently ignore zero-sized environment
16670 blocks.
16671
166722009-12-08 Colin Watson <cjwatson@ubuntu.com>
16673
16674 * util/grub.d/00_header.in: Quote the value assigned to `default',
16675 in case it contains spaces.
16676
166772009-12-08 Colin Watson <cjwatson@ubuntu.com>
16678
16679 * util/grub.d/30_os-prober.in: Fix merge error that moved a
16680 `save_default_entry' call from the macosx case to the linux case.
16681
166822009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
166832009-10-25 Colin Watson <cjwatson@ubuntu.com>
16684
16685 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
16686 in `chosen' environment variable.
16687 * normal/menu_text.c (get_entry_number): Check if the variable
16688 matches the title of a menu entry.
16689 (run_menu): Pass menu to get_entry_number.
16690
16691 * util/grub-reboot.in: New file.
16692 * util/grub-set-default.in: New file.
16693 * conf/common.rmk (grub-reboot): New utility.
16694 (grub-set-default): New utility.
16695
16696 * util/grub-mkconfig_lib.in (save_default_entry): New function.
16697 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
16698 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
16699 move it to `saved_entry' for the next boot. Load environment on
16700 initialisation.
16701 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
16702 * util/grub.d/10_hurd.in: Likewise.
16703 * util/grub.d/10_linux.in (linux_entry): Likewise.
16704 * util/grub.d/10_windows.in: Likewise.
16705 * util/grub.d/30_os-prober.in: Likewise.
16706
16707 * util/grub-install.in: Create environment block.
16708 * util/i386/efi/grub-install.in: Likewise.
16709 * util/ieee1275/grub-install.in: Likewise.
16710 * util/sparc64/ieee1275/grub-install.in: Likewise.
16711
0934d184
BC
167122010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
16713
16714 Unit testing framework for GRUB.
16715
16716 * Makefile.in: Test framework build rules for 'make check'.
16717 * conf/tests.rmk: Build rules for individual tests and framework.
16718
16719 * include/grub/test.h: Header file for whitebox tests.
16720 * tests/lib/functional_test.c: Framework support for whitebox
16721 functional tests.
16722 * tests/lib/test.c: Common whitebox testing code for unit and
16723 functional tests.
16724 * tests/lib/unit_test.c: Framework support for whitebox unit
16725 tests.
16726
16727 * tests/util/grub-shell-tester.in: Support utility for grub-script
16728 tests.
16729 * tests/util/grub-shell.in: Utility to execute grub-script
16730 commands in a Qemu instance.
16731
16732 * tests/example_functional_test.c: Example whitebox functional
16733 test.
16734 * tests/example_grub_script_test.in: Example grub-script test.
16735 * tests/example_scripted_test.in: Example scripted test.
16736 * tests/example_unit_test.c: Example whitebox unit test.
16737
9c4ffeeb
VS
167382010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
16739
16740 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
16741 Add loader/i386/multiboot_mbi.c.
16742 (multiboot2_mod_SOURCES): Likewise.
16743 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
16744 (multiboot2_mod_SOURCES): Likewise.
16745 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
16746 (grub_multiboot_make_mbi): Likewise.
16747 (grub_multiboot_free_mbi): Likewise.
16748 (grub_multiboot_init_mbi): Likewise.
16749 (grub_multiboot_add_module): Likewise.
16750 (grub_multiboot_set_bootdev): Likewise.
16751 * loader/i386/multiboot.c (mbi): Removed.
16752 (mbi_dest): Likewise.
16753 (alloc_mbi): New variable.
16754 (grub_multiboot_payload_size): Removed. All users updated.
16755 (grub_multiboot_pure_size): New variable.
16756 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
16757 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
16758 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
16759 (grub_fill_multiboot_mmap): Likewise.
16760 (grub_multiboot_get_bootdev): Likewise.
16761 (grub_multiboot): Use multiboot_mbi functions.
16762 * loader/i386/multiboot_mbi.c: New file.
16763
17383dfe
VS
167642010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
16765
16766 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
16767 it would result in module crash.
16768
c1f28820
VS
167692010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
16770
16771 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
16772 (grub_ofconsole_getwh): Split to ...
16773 (grub_ofconsole_getwh): ... this.
16774 (grub_ofconsole_dimensions): ...and this.
16775 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
16776
58655a16
RM
167772010-01-13 Robert Millan <rmh.grub@aybabtu.com>
16778
16779 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
16780
10891398
VS
167812010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16782
16783 * loader/i386/pc/multiboot2.c: Removed stalled file.
16784
0b8a223c
VS
167852010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16786
16787 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
16788 Reported by: Grégoire Sutre
16789
92ab12b0
RM
167902010-01-11 Robert Millan <rmh.grub@aybabtu.com>
16791
16792 * util/misc.c (canonicalize_file_name): New function.
16793 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
16794 instead of realpath().
16795
a788afb6
CW
167962010-01-11 Colin Watson <cjwatson@ubuntu.com>
16797
16798 * util/grub-install.in (usage): Clarify meaning of --root-directory,
16799 and make it clearer that it's optional. Based on confusion
16800 witnessed on IRC.
16801
ffa8e3d2
VS
168022010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16803
16804 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
16805 in premature implicit newline.
16806
e9060a9d
VS
168072010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16808
16809 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
16810 which resulted in garbled command line at the end of screen.
16811
f0d0c0b7
RM
168122010-01-10 Robert Millan <rmh.grub@aybabtu.com>
16813
16814 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
16815 initialization with similar approach as with other Linux loaders.
16816
0e60bae7
RM
168172010-01-10 Robert Millan <rmh.grub@aybabtu.com>
16818
16819 Fix i386-ieee1275 build.
16820
16821 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
16822 and grub_term_height() for video_{width,height} initialization.
16823
168242010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
16825
16826 Fix grub-emu build.
16827
16828 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
16829
cdb3f378
RM
168302010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
168312010-01-09 Robert Millan <rmh.grub@aybabtu.com>
16832
16833 Support for multiple terminals.
16834
16835 * Makefile.in (pkglib_DATA): terminal.lst.
16836 (terminal.lst): New target.
16837 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
16838 (GRUB_MOD_INIT(handler)): Likewise.
16839 (GRUB_MOD_FINI(handler)): Likewise.
16840 * commands/help.c (grub_cmd_help): Handle multiple terminals.
16841 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
16842 * commands/sleep.c (do_print): Use grub_term_restore_pos.
16843 (grub_cmd_sleep): Use grub_term_save_pos.
16844 * commands/terminal.c: New file.
16845 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
16846 commands/terminal.c and lib/charset.c.
16847 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
16848 (pkglib_MODULES): Add terminal.mod.
16849 (terminal_mod_SOURCES): New variable.
16850 (terminal_mod_CFLAGS): Likewise.
16851 (terminal_mod_LDFLAGS): Likewise.
16852 * genhandlerlist.sh: Don't handle terminals.
16853 * genmk.rb: Generate terminal-*.lst.
16854 * genterminallist.sh: New file.
16855 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
16856 (grub_is_valid_utf8): Likewise.
16857 (grub_utf8_to_ucs4_alloc): Likewise.
16858 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
16859 (grub_menu_register_viewer): Changed argument.
16860 (grub_menu_try_text): New proto.
16861 (grub_gfxmenu_try_hook): New declaration.
16862 * include/grub/normal.h (grub_normal_exit_level): New declaration.
16863 (grub_menu_init_page): Additional argument term.
16864 (grub_normal_init_page): Likewise.
16865 (grub_cmdline_get): Arguments simplified.
16866 (grub_utf8_to_ucs4_alloc): Removed.
16867 (grub_print_ucs4): Additional argument term.
16868 (grub_getstringwidth): Likewise.
16869 (grub_print_message_indented): Likewise.
16870 (grub_menu_text_register_instances): New proto.
16871 (grub_show_menu): Likewise.
16872 (read_terminal_list): Likewise.
16873 (grub_set_more): Likewise.
16874 * include/grub/parser.h: Include handler.h.
16875 * include/grub/reader.h: Rewritten.
16876 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
16877 (GRUB_TERM_WIDTH): Changed to function.
16878 (GRUB_TERM_HEIGHT): Likewise.
16879 (GRUB_TERM_BORDER_WIDTH): Likewise.
16880 (GRUB_TERM_BORDER_HEIGHT): Likewise.
16881 (GRUB_TERM_NUM_ENTRIES): Likewise.
16882 (GRUB_TERM_ENTRY_WIDTH): Likewise.
16883 (GRUB_TERM_CURSOR_X): Likewise.
16884 (grub_term_input_class): Likewise.
16885 (grub_term_output_class): Likewise.
16886 (grub_term_outputs_disabled): New declaration.
16887 (grub_term_inputs_disabled): Likewise.
16888 (grub_term_outputs): Likewise.
16889 (grub_term_inputs): Likewise.
16890 (grub_term_register_input): Rewritten.
16891 (grub_term_register_output): Likewise.
16892 (grub_term_unregister_input): Likewise.
16893 (grub_term_unregister_output): Likewise.
16894 (FOR_ACTIVE_TERM_INPUTS): New macro.
16895 (FOR_DISABLED_TERM_INPUTS): Likewise.
16896 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
16897 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
16898 * include/grub/terminfo.h: Add oterm argument to all protypes.
16899 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
16900 Use grub_rescue_run.
16901 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
16902 All users updated.
16903 * kern/reader.c: Removed. All users updated.
16904 * kern/rescue_reader.c (grub_rescue_init): Removed.
16905 (grub_rescue_reader): Likewise.
16906 (grub_register_rescue_reader): Likewise.
16907 (grub_rescue_run): New function based on kern/reader.c.
16908 * kern/term.c: Adapted for multiterm.
16909 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
16910 (grub_is_valid_utf8): Likewise.
16911 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
16912 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
16913 right terminal.
16914 * loader/i386/linux.c (grub_linux_boot): Likewise.
16915 * normal/auth.c (grub_username_get): New function.
16916 (grub_auth_check_authentication): Use grub_username_get.
16917 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
16918 * normal/color.c: Adapt for multiterm.
16919 * normal/main.c (read_config_file): Don't use grub_reader_loop.
16920 (grub_normal_init_page): Additional argument term.
16921 (read_lists): Call read_terminal_lists.
16922 (grub_enter_normal_mode): Call grub_cmdline_run.
16923 Handle grub_normal_exit_level.
16924 (grub_cmd_normal): Make reentrant.
16925 (grub_cmd_normal_exit): New function.
16926 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
16927 * normal/menu.c: Adapt for multiterm.
16928 * normal/menu_entry.c: Likewise.
16929 * normal/menu_text.c: Likewise.
16930 * normal/menu_viewer.c: Removed. All users updated.
16931 * normal/term.c: New file.
16932 * util/console.c: Change order of includes to workaround a bug in
16933 ncurses headers.
16934 * term/terminfo.c: New argument oterm on all exported functions.
16935 All users updated.
16936 * util/grub-editenv.c (grub_term_input_class): Removed.
16937 (grub_term_output_class): Likewise.
16938
1a064917
RM
169392010-01-09 Robert Millan <rmh.grub@aybabtu.com>
16940
16941 Make loader output a bit more user-friendly.
16942
16943 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
16944 is being loaded. Likewise for the Hurd.
16945
16946 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
16947 that kernel of FreeBSD ${version} is being loaded.
16948
16949 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
16950 grub_dprintf().
16951 (grub_cmd_initrd): Likewise.
16952 * util/grub.d/10_linux.in (linux_entry): Print message indicating
16953 that Linux ${version} is being loaded. Likewise for initrd.
16954
5ce0a83a 169552010-01-09 Carles Pina i Estany <carles@pina.cat>
16956
16957 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
16958
809bbfeb 169592010-01-08 Carles Pina i Estany <carles@pina.cat>
16960
16961 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
16962 (GRUB_MOD_INIT): Gettextizze.
16963 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
16964 (GRUB_MOD_INIT): Gettextizze.
16965 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
16966 (grub_cmd_linux): Capitalise Linux.
16967 (GRUB_MOD_INIT): Gettextizze.
16968 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
16969 (grub_cmd_linux): Capitalise Linux.
16970 (GRUB_MOD_INIT): Gettextizze.
16971 * loader/i386/linux.c: Include `<grub/i18n.h>'.
16972 (grub_cmd_linux): Capitalise Linux.
16973 (GRUB_MOD_INIT): Gettextizze.
16974 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
16975 (GRUB_MOD_INIT): Gettextizze.
16976 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
16977 (grub_cmd_linux): Capitalise Linux.
16978 (GRUB_MOD_INIT): Gettextizze.
16979 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
16980 (grub_cpu_xnu_init): Gettextizze.
16981 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
16982 (GRUB_MOD_INIT): Gettextizze.
16983 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
16984 (GRUB_MOD_INIT): Gettextizze.
16985 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
16986 (grub_linux_load64): Capitalise Linux.
16987 (GRUB_MOD_INIT): Gettextizze.
16988 * loader/xnu.c: Include `<grub/i18n.h>'.
16989 (GRUB_MOD_INIT): Gettextizze.
16990 * po/POTFILES: Add `loader/efi/appleloader.c',
16991 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
16992 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
16993 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
16994 `loader/i386/xnu.c', `loader/multiboot_loader.c',
16995 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
16996 and `loader/xnu.c'.
16997
b394b2ca
RM
169982010-01-08 Robert Millan <rmh.grub@aybabtu.com>
16999
17000 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
17001
170022010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
17003
17004 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
17005 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
17006 * util/mkisofs/mkisofs.c (main): Readjust --version output.
17007
bc8b32b3
RM
170082010-01-07 Robert Millan <rmh.grub@aybabtu.com>
17009
17010 Reset Multiboot 2 support. New loader implements the draft in
17011 /branches/multiboot2 and shares as much code as possible with the
17012 production Multiboot 1 implementation.
17013
17014 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
17015 * loader/multiboot2.c: Likewise.
17016 * loader/i386/multiboot_helper.S: Likewise.
17017 * include/multiboot2.h: Replace with latest version from the draft
17018 in /branches/multiboot2.
17019
17020 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
17021 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
17022 and `loader/multiboot2.c'.
17023 (pkglib_MODULES): Add `multiboot2.mod'.
17024 (multiboot2_mod_SOURCES): New variable.
17025 (multiboot2_mod_LDFLAGS): Likewise.
17026 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
17027
17028 * conf/i386-pc.rmk: Likewise.
17029
17030 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
17031 (multiboot_mod_SOURCES): Remove variable.
17032 (multiboot_mod_LDFLAGS): Likewise.
17033 (multiboot_mod_CFLAGS): Likewise.
17034
17035 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
17036 `<multiboot2.h>' instead of `<multiboot.h>'.
17037 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
17038 (MULTIBOOT_HEADER_MAGIC): New macros.
17039
17040 * loader/multiboot_loader.c (module_version_status): Remove variable.
17041 (find_multi_boot2_header): Remove function.
17042 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
17043 logic. Always check for the Multiboot version we're compiling for.
17044 (grub_cmd_module_loader): Likewise.
17045 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
17046 command instead of `multiboot'.
17047
5d2c52b8
RM
170482010-01-07 Robert Millan <rmh.grub@aybabtu.com>
17049
17050 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
17051 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
17052 all users.
17053
53108d92
RM
170542010-01-07 Robert Millan <rmh.grub@aybabtu.com>
170552010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17056
17057 Fix breakage introduced with previous commit.
17058
17059 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
17060 commands.
17061 * normal/handler.c (read_handler_list): Revert part of previous commit
17062 affecting this file.
17063 * normal/main.c (read_lists): Move read_handler_list() call back to ...
17064 (grub_normal_execute): ... here.
17065
e2e936b2
RM
170662010-01-07 Robert Millan <rmh.grub@aybabtu.com>
17067
17068 Merge prefix-redefinition-fix branch.
17069
17070 * normal/autofs.c (read_fs_list): Make function capable of being
17071 run multiple times, gracefuly replacing the previous data
17072 structures.
17073 * normal/dyncmd.c (read_command_list): Likewise.
17074 * normal/handler.c (read_handler_list): Likewise.
17075 * normal/main.c (read_lists): New function. Calls all the
17076 list reading functions.
17077 (grub_normal_execute): Use read_lists() instead of calling all
17078 list reading functions explicitly. Register read_lists() as a
17079 variable hook attached to ${prefix}.
17080
607a3701
VS
170812010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17082
17083 Merge crypto branch.
17084
17085 * Makefile.in (pkglib_DATA): Add crypto.lst.
17086 (crypto.lst): New target.
17087 * commands/hashsum.c: New file.
17088 * commands/password.c (check_password): Use grub_crypto_memcmp.
17089 * commands/password_pbkdf2.c: New file.
17090 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
17091 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
17092 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
17093 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
17094 -I$(srcdir)/lib/libgcrypt_wrap.
17095 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
17096 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
17097 password_pbkdf2.mod.
17098 (crypto_mod_SOURCES): New variable.
17099 (crypto_mod_CFLAGS): Likewise.
17100 (crypto_mod_LDFLAGS): Likewise.
17101 (hashsum_mod_SOURCES): New variable.
17102 (hashsum_mod_CFLAGS): Likewise.
17103 (hashsum_mod_LDFLAGS): Likewise.
17104 (pbkdf2_mod_SOURCES): New variable.
17105 (pbkdf2_mod_CFLAGS): Likewise.
17106 (pbkdf2_mod_LDFLAGS): Likewise.
17107 (password_pbkdf2_mod_SOURCES): New variable.
17108 (password_pbkdf2_mod_CFLAGS): Likewise.
17109 (password_pbkdf2_mod_LDFLAGS): Likewise.
17110 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
17111 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
17112 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
17113 Include conf/gcry.rmk.
17114 * include/grub/auth.h: Rewritten.
17115 * include/grub/crypto.h: New file.
17116 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
17117 * include/grub/normal.h (read_crypto_list): New prototype.
17118 * lib/crypto.c: New file.
17119 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
17120 * lib/pbkdf2.c: Likewise.
17121 * normal/auth.c (grub_auth_strcmp): Removed.
17122 (grub_iswordseparator): Likewise.
17123 (grub_auth_strword): Likewise.
17124 (is_authenticated): Use grub_strword.
17125 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
17126 and grub_strword. Pass entered password to authentication callback.
17127 * normal/crypto.c: New file.
17128 * normal/main.c: Call read_crypto_list.
17129 * util/grub-mkpasswd-pbkdf2.c: New file.
17130 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
17131
42841caa
VS
171322010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
17133
17134 Fix descent and ascent calculation.
17135
17136 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
17137 (options): New option "asce".
17138 (usage): Likewise.
17139 (add_char): Ignore invalid glyphs for descent calculation.
17140 Calculate ascent from actual content.
17141 (print_glyphs): Use 'asce'.
17142 (write_font): Likewise. Allow ascent override.
17143 (main): Handle "asce" option.
17144
e7730de7 171452010-01-06 Carles Pina i Estany <carles@pina.cat>
17146
17147 * kern/err.c: Include `<grub/i18n.h>'.
17148 (grub_print_error): Add full stop. Gettextizze.
17149 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
17150 (grub_bsd_load_elf): Capitalise ELF.
17151 (grub_cmd_freebsd_loadenv): Add `s' in error string.
17152 (grub_cmd_freebsd_module): Likewise.
17153 (grub_cmd_freebsd_module_elf): Likewise.
17154 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
17155
40e3a41f 171562010-01-06 Carles Pina i Estany <carles@pina.cat>
17157
17158 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
17159 * commands/search_file.c (HELP_MESSAGE): New macro.
17160 * commands/search_label.c (HELP_MESSAGE): Likewise.
17161 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
17162 * po/POTFILES: Add `commands/search_file.c',
17163 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
17164 `commands/search.c'.
17165
83507e68
RM
171662010-01-05 Robert Millan <rmh.grub@aybabtu.com>
17167
17168 * config.rpath: Update from Gnulib.
17169
465c787b
YB
171702010-01-05 Yves Blusseau <blusseau@zetam.org>
17171
17172 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
17173
6581dd3a
YB
171742010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
17175
17176 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
17177
3bff18c5
CW
171782010-01-05 Colin Watson <cjwatson@ubuntu.com>
17179
17180 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
17181 arguments to fread so that we get a return value in bytes, rather
17182 than something that will normally be rounded down to 0.
17183 Adjust error handling to avoid producing garbage when size_t is not
17184 the same size as long long.
17185
a1368118
CW
171862010-01-05 Colin Watson <cjwatson@ubuntu.com>
17187
17188 * util/mkisofs/write.c (padblock_write): Check return value of
17189 fread.
17190
7c302978
RM
171912010-01-05 Robert Millan <rmh.grub@aybabtu.com>
17192
17193 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
17194 floppy images now.
17195
17196 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
17197
e33ace06
RM
171982010-01-04 Robert Millan <rmh.grub@aybabtu.com>
17199
17200 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
17201 instead of manual alignment.
17202 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
17203 verbose). Avoid attempts to read past end of the device
17204 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
17205 but GRUB_DISK_CACHE_SIZE may exceed that).
17206
4b856776
RM
172072010-01-04 Robert Millan <rmh.grub@aybabtu.com>
17208
17209 * commands/crc.c (grub_cmd_crc): Abort on read errors.
17210 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
17211 it to upper layer.
17212
52c2d97f
VS
172132010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17214
17215 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
17216 New constant.
17217 (grub_efi_piwg_device_path): New structure
17218 (grub_efi_piwg_device_path_t): New type.
17219 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
17220 (devpath_1): Transform to a structure. All users updated.
17221 (devpath_2): Likewise.
17222 (devpath_3): Likewise.
17223 (devpath_4): Likewise.
17224 (devpath_5): Likewise.
17225
98ff6a54
VS
172262010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17227
17228 * loader/efi/appleloader.c: Restored. Update all users.
17229
3a73dcb6
RM
172302010-01-03 Robert Millan <rmh.grub@aybabtu.com>
17231
17232 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
17233
17234 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
17235 (struct boot_blocklist): Move from here ...
17236 * include/grub/i386/pc/boot.h [ASM_FILE]
17237 (struct grub_boot_blocklist): ... to here. Update all users.
17238 (setup): Only initialize `start' member of `first_block'
17239 structure. Add assert() calls to verify the other members.
17240
17241 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
17242 (generate_image): Fix broken blocklist length initialization.
17243 Add assert() call to verify blocklist `segment' field.
17244
ab0eeb0c
RM
172452010-01-03 Robert Millan <rmh.grub@aybabtu.com>
17246
17247 * loader/efi/appleloader.c: Remove. Update all users.
17248
58bc8bd5
RM
172492010-01-03 Robert Millan <rmh.grub@aybabtu.com>
17250
17251 * boot/i386/pc/boot.S: Update copyright year.
17252 * boot/i386/pc/cdboot.S: Likewise.
17253 * boot/i386/pc/diskboot.S: Likewise.
17254 * boot/i386/pc/lnxboot.S: Likewise.
17255 * boot/i386/pc/pxeboot.S: Likewise.
17256 * bus/pci.c: Likewise.
17257 * commands/cmp.c: Likewise.
17258 * commands/help.c: Likewise.
17259 * commands/hexdump.c: Likewise.
17260 * commands/i386/pc/halt.c: Likewise.
17261 * commands/i386/pc/play.c: Likewise.
17262 * commands/i386/pc/vbeinfo.c: Likewise.
17263 * commands/ls.c: Likewise.
17264 * commands/test.c: Likewise.
17265 * disk/dmraid_nvidia.c: Likewise.
17266 * disk/i386/pc/biosdisk.c: Likewise.
17267 * disk/ieee1275/nand.c: Likewise.
17268 * disk/ieee1275/ofdisk.c: Likewise.
17269 * disk/lvm.c: Likewise.
17270 * disk/raid.c: Likewise.
17271 * disk/raid6_recover.c: Likewise.
17272 * disk/scsi.c: Likewise.
17273 * fs/affs.c: Likewise.
17274 * fs/cpio.c: Likewise.
17275 * fs/ext2.c: Likewise.
17276 * fs/hfs.c: Likewise.
17277 * fs/iso9660.c: Likewise.
17278 * fs/ntfs.c: Likewise.
17279 * fs/sfs.c: Likewise.
17280 * fs/udf.c: Likewise.
17281 * fs/ufs.c: Likewise.
17282 * fs/xfs.c: Likewise.
17283 * gencmdlist.sh: Likewise.
17284 * genmk.rb: Likewise.
17285 * include/grub/disk.h: Likewise.
17286 * include/grub/efi/api.h: Likewise.
17287 * include/grub/efi/efi.h: Likewise.
17288 * include/grub/efi/pe32.h: Likewise.
17289 * include/grub/elf.h: Likewise.
17290 * include/grub/fs.h: Likewise.
17291 * include/grub/i386/at_keyboard.h: Likewise.
17292 * include/grub/i386/pc/memory.h: Likewise.
17293 * include/grub/i386/pc/vbe.h: Likewise.
17294 * include/grub/i386/pci.h: Likewise.
17295 * include/grub/i386/tsc.h: Likewise.
17296 * include/grub/ieee1275/ieee1275.h: Likewise.
17297 * include/grub/ntfs.h: Likewise.
17298 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
17299 * include/grub/sparc64/libgcc.h: Likewise.
17300 * include/grub/symbol.h: Likewise.
17301 * include/grub/types.h: Likewise.
17302 * include/multiboot2.h: Likewise.
17303 * io/gzio.c: Likewise.
17304 * kern/device.c: Likewise.
17305 * kern/disk.c: Likewise.
17306 * kern/efi/efi.c: Likewise.
17307 * kern/efi/mm.c: Likewise.
17308 * kern/elf.c: Likewise.
17309 * kern/file.c: Likewise.
17310 * kern/i386/dl.c: Likewise.
17311 * kern/i386/pc/init.c: Likewise.
17312 * kern/i386/pc/startup.S: Likewise.
17313 * kern/ieee1275/ieee1275.c: Likewise.
17314 * kern/ieee1275/init.c: Likewise.
17315 * kern/main.c: Likewise.
17316 * kern/mm.c: Likewise.
17317 * kern/powerpc/dl.c: Likewise.
17318 * kern/sparc64/dl.c: Likewise.
17319 * kern/x86_64/dl.c: Likewise.
17320 * lib/hexdump.c: Likewise.
17321 * loader/efi/appleloader.c: Likewise.
17322 * loader/i386/ieee1275/linux.c: Likewise.
17323 * loader/i386/pc/chainloader.c: Likewise.
17324 * loader/i386/pc/linux.c: Likewise.
17325 * loader/i386/pc/multiboot2.c: Likewise.
17326 * loader/ieee1275/multiboot2.c: Likewise.
17327 * loader/multiboot2.c: Likewise.
17328 * loader/multiboot_loader.c: Likewise.
17329 * loader/powerpc/ieee1275/linux.c: Likewise.
17330 * normal/completion.c: Likewise.
17331 * normal/menu_entry.c: Likewise.
17332 * partmap/apple.c: Likewise.
17333 * util/grub.d/10_hurd.in: Likewise.
17334 * util/hostfs.c: Likewise.
17335 * video/readers/png.c: Likewise.
17336
e2d70b5c
CW
173372010-01-03 Colin Watson <cjwatson@ubuntu.com>
17338
17339 * include/grub/misc.h (GNUC_PREREQ): New macro.
17340 (ATTRIBUTE_ERROR): New macro.
17341 * include/grub/list.h (grub_bad_type_cast_real): Use
17342 ATTRIBUTE_ERROR.
17343
a173283f 173442010-01-03 Carles Pina i Estany <carles@pina.cat>
17345
17346 * normal/menu_text.c (print_message): Change messages.
17347
7fa7ff74 173482010-01-03 Carles Pina i Estany <carles@pina.cat>
17349
17350 * normal/menu_entry.c (store_completion): Gettextizze.
17351
136d24f6 173522010-01-03 Carles Pina i Estany <carles@pina.cat>
17353
17354 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
17355
f936862e 173562010-01-03 Carles Pina i Estany <carles@pina.cat>
17357
17358 * po/POTFILES: Sort correctly.
17359
29c44ad1 173602010-01-03 Carles Pina i Estany <carles@pina.cat>
17361
17362 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
17363 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
17364 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
17365 full stop.
17366 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
17367 summary. Gettextizze the strings.
17368 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
17369 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
17370 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
17371 full stop.
17372 (GRUB_MOD_INIT): Remove command name from summary.
17373 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
17374 summary.
17375 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
17376 * term/i386/pc/serial.c (options): Add full stops.
17377 (GRUB_MOD_INIT): Remove command name from the summary.
17378
77a79592 173792010-01-03 Carles Pina i Estany <carles@pina.cat>
17380
17381 * commands/acpi.c: Gettextizze help strings and/or options. Include
17382 `grub/i18n.h' if needed.
17383 * commands/blocklist.c: Likewise.
17384 * commands/boot.c: Likewise.
17385 * commands/cat.c: Likewise.
17386 * commands/cmp.c: Likewise.
17387 * commands/configfile.c: Likewise.
17388 * commands/crc.c: Likewise.
17389 * commands/date.c: Likewise.
17390 * commands/echo.c: Likewise.
17391 * commands/efi/fixvideo.c: Likewise.
17392 * commands/efi/loadbios.c: Likewise.
17393 * commands/gptsync.c: Likewise.
17394 * commands/halt.c: Likewise.
17395 * commands/handler.c: Likewise.
17396 * commands/hdparm.c: Likewise.
17397 * commands/hexdump.c: Likewise.
17398 * commands/i386/cpuid.c: Likewise.
17399 * commands/i386/pc/drivemap.c: Likewise.
17400 * commands/i386/pc/halt.c: Likewise.
17401 * commands/i386/pc/pxecmd.c: Likewise.
17402 * commands/i386/pc/vbeinfo.c: Likewise.
17403 * commands/i386/pc/vbetest.c: Likewise.
17404 * commands/ieee1275/suspend.c: Likewise.
17405 * commands/keystatus.c: Likewise.
17406 * commands/loadenv.c: Likewise.
17407 * commands/ls.c: Likewise.
17408 * commands/lsmmap.c: Likewise.
17409 * commands/lspci.c: Likewise.
17410 * commands/memrw.c: Likewise.
17411 * commands/minicmd.c: Likewise.
17412 * commands/parttool.c: Likewise.
17413 * commands/password.c: Likewise.
17414 * commands/probe.c: Likewise.
17415 * commands/read.c: Likewise.
17416 * commands/reboot.c: Likewise.
17417 * commands/search.c: Likewise.
17418 * commands/sleep.c: Likewise.
17419 * commands/test.c: Likewise.
17420 * commands/true.c: Likewise.
17421 * commands/usbtest.c: Likewise.
17422 * commands/videotest.c: Likewise.
17423 * commands/xnu_uuid.c: Likewise.
17424 * disk/loopback.c: Likewise.
17425 * hello/hello.c: Likewise.
17426 * loader/i386/bsd.c: Likewise.
17427 * term/i386/pc/serial.c: Likewise.
17428 * po/POTFILES: Add new files.
17429
da8d5c53
CW
174302010-01-02 Colin Watson <cjwatson@ubuntu.com>
17431
17432 * term/i386/pc/at_keyboard.c
17433 (keyboard_controller_wait_untill_ready): Rename to ...
17434 (keyboard_controller_wait_until_ready): ... this. Update all users.
17435
33937904 174362010-01-01 Carles Pina i Estany <carles@pina.cat>
17437
17438 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
17439 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
17440 string using string width.
17441 * normal/menu_text.c (grub_print_message_indented): Use
17442 grub_print_spaces and not print_spaces.
17443 (print_timeout): Likewise.
17444 (print_spaces): Move to...
17445 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
17446
3fd3b8d8
RM
174472010-01-01 Robert Millan <rmh.grub@aybabtu.com>
17448
17449 Import from Gnulib.
17450
17451 * gnulib/getdelim.c: New file.
17452 * gnulib/getline.c: Likewise.
17453
33433555
VS
174542009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
17455
17456 * include/grub/list.h (grub_assert_fail): Removed.
17457 (grub_bad_type_cast_real): New function.
17458 (grub_bad_type_cast): New macro.
17459 (GRUB_AS_LIST): Use grub_bad_type_cast.
17460 (GRUB_AS_LIST_P): Likewise.
e44721e8 17461 (GRUB_AS_NAMED_LIST): Likewise.
33433555 17462 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 17463 (GRUB_AS_PRIO_LIST): Likewise.
33433555 17464 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 17465 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 17466
f5a51306
VS
174672009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
17468
17469 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
17470 Fix syntax error.
17471
90d1e879
RM
174722009-12-29 Robert Millan <rmh.grub@aybabtu.com>
17473
17474 * configure.ac: Check for TARGET_CFLAGS initialization before we
17475 initialize it ourselves (sigh).
17476 Move a few modifications to TARGET_CFLAGS to be unconditional
17477 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
17478 eh_frame)
17479
17480 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
17481 * term/i386/pc/at_keyboard.c
17482 (keyboard_controller_wait_untill_ready): Likewise.
17483 (keyboard_controller_led): Rename `led_status' paramter to avoid
17484 name conflict.
17485
465b5a81 174862009-12-28 Carles Pina i Estany <carles@pina.cat>
17487
17488 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
17489 quotes.
17490
c181849b
VS
174912009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17492
17493 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
17494
9c8739a4
VS
174952009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17496
17497 * normal/menu_text.c (grub_print_message_indented): Prevent
17498 past-the-end-of-array dereference.
17499
3e74249c
VS
175002009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17501
17502 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
17503 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
17504
64fd18ed 175052009-12-27 Carles Pina i Estany <carles@pina.cat>
17506
17507 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
17508 * normal/main.c (grub_normal_read_line): Remove a space from the
17509 default prompt.
17510
714af9b9 175112009-12-27 Carles Pina i Estany <carles@pina.cat>
17512
17513 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
17514 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
17515 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
17516 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
17517 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
17518 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
17519 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
17520
82f3e412 175212009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 17522
17523 * video/readers/jpeg.c (cmd): Declare.
17524 (grub_cmd_jpegtest): Use `grub_command_t' type.
17525 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
17526 Assign to `cmd'.
17527 (GRUB_MOD_FINI): Use `cmd' to unregister.
17528 * video/readers/png.c (cmd): Declare.
17529 (grub_cmd_pngtest): Use `grub_command_t' type.
17530 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
17531 Assign to `cmd'.
17532 (GRUB_MOD_FINI): Use `cmd' to unregister.
17533 * video/readers/tga.c (cmd): Declare.
17534 (grub_cmd_tgatest): Use `grub_command_t' type.
17535 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
17536 Assign to `cmd'.
17537 (GRUB_MOD_FINI): Use `cmd' to unregister.
17538
82f3e412 175392009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 17540
17541 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
17542 stops.
17543 * kern/corecmd.c (grub_register_core_commands): Likewise.
17544 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
17545 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
17546 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
17547 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
17548 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
17549 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
17550 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
17551 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
17552 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
17553 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
17554 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
17555 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
17556 * normal/handler.c (insert_handler): Likewise.
17557 * normal/main.c (GRUB_MOD_INIT): Likewise.
17558 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
17559
fdcdbb66 175602009-12-26 Carles Pina i Estany <carles@pina.cat>
17561
17562 * commands/help.c (grub_cmd_help): Print the command name before the
17563 summary.
17564 (GRUB_MOD_INIT): Remove command name from the summary.
17565 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 17566 string as summary.
fdcdbb66 17567 * lib/arg.c (find_long): Print the command name before the summary.
17568 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
17569 summary.
17570 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
17571 * commands/cat.c (GRUB_MOD_INIT): Likewise.
17572 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
17573 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
17574 * commands/crc.c (GRUB_MOD_INIT): Likewise.
17575 * commands/date.c (GRUB_MOD_INIT): Likewise.
17576 * commands/echo.c (GRUB_MOD_INIT): Likewise.
17577 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
17578 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
17579 * commands/handler.c (GRUB_MOD_INIT): Likewise.
17580 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
17581 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
17582 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
17583 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
17584 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
17585 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
17586 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
17587 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
17588 * commands/ls.c (GRUB_MOD_INIT): Likewise.
17589 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
17590 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
17591 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
17592 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
17593 * commands/password.c (GRUB_MOD_INIT): Likewise.
17594 * commands/probe.c (GRUB_MOD_INIT): Likewise.
17595 * commands/read.c (GRUB_MOD_INIT): Likewise.
17596 * commands/search.c (GRUB_MOD_INIT): Likewise.
17597 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
17598 * commands/test.c (GRUB_MOD_INIT): Likewise.
17599 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
17600 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
17601 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
17602 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
17603 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
17604 * lib/arg.c (GRUB_MOD_INIT): Likewise.
17605 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
17606 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
17607 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
17608 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
17609 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
17610 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
17611 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
17612 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
17613
9c288be2
VS
176142009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
17615
17616 Use search command for preliminar UUID search.
17617
17618 * commands/search.c: Split into ...
17619 * commands/search_wrap.c: ...this
17620 * commands/search.c: ...and this.
17621 * commands/search_file.c: New file.
17622 * commands/search_label.c: New file.
17623 * commands/search_uuid.c: New file.
17624 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
17625 Add commands/search_wrap.c, commands/search_file.c,
17626 commands/search_label.c and commands/search_uuid.c.
17627 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
17628 (search_mod_SOURCES): Set to commands/search_wrap.c.
17629 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
17630 search_label.mod.
17631 (search_fs_file_mod_SOURCES): New variable.
17632 (search_fs_file_mod_CFLAGS): Likewise.
17633 (search_fs_file_mod_LDFLAGS): Likewise.
17634 (search_label_mod_SOURCES): Likewise.
17635 (search_label_mod_CFLAGS): Likewise.
17636 (search_label_mod_LDFLAGS): Likewise.
17637 (search_fs_uuid_mod_SOURCES): New variable.
17638 (search_fs_uuid_mod_CFLAGS): Likewise.
17639 (search_fs_uuid_mod_LDFLAGS): Likewise.
17640 (fs_file_mod_SOURCES): Removed.
17641 (fs_file_mod_CFLAGS): Likewise.
17642 (fs_file_mod_LDFLAGS): Likewise.
17643 (fs_uuid_mod_SOURCES): Removed.
17644 (fs_uuid_mod_CFLAGS): Likewise.
17645 (fs_uuid_mod_LDFLAGS): Likewise.
17646 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
17647 Set to util/grub-install.in.
17648 * disk/fs_file.c: Removed.
17649 * disk/fs_uuid.c: Likewise.
17650 * include/grub/search.h: New file.
17651 * util/grub-install.in: Handle sparc64.
17652 Create and use load.cfg.
17653 * util/sparc64/ieee1275/grub-install.in: Removed.
17654
db943399
VS
176552009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
17656
17657 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
17658 Ignore return status if CF is cleared.
17659 (grub_biosdisk_get_diskinfo_standard): Likewise.
17660
3fdae612
RM
176612009-12-25 Robert Millan <rmh.grub@aybabtu.com>
17662
17663 * term/i386/pc/at_keyboard.c
17664 (keyboard_controller_wait_untill_ready): New function.
17665 (grub_keyboard_controller_write, grub_keyboard_controller_read)
17666 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
17667 for keyboard polling, rather than duplicate the same loop. This
17668 saves a few bytes in code size.
17669
7ebaa2b4
VS
176702009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
17671
17672 Support for (pxe[:server[:gateway]]) syntax and
17673 use environment variable for PXE.
17674
17675 * commands/i386/pc/pxecmd.c (options): Removed.
17676 (print_ip): Removed.
17677 (grub_cmd_pxe): Removed
17678 (grub_cmd_pxe_unload): New function.
17679 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
17680 (grub_pxe_your_ip): Made static.
17681 (grub_pxe_default_server_ip): Likewise.
17682 (grub_pxe_default_gateway_ip): Likewise.
17683 (grub_pxe_blksize): Likewise.
17684 (parse_ip): New function.
17685 (grub_pxe_open): Support server and gateway specification.
17686 (grub_pxe_close): Free disk->data.
17687 (grub_pxefs_open): Use disk->data.
17688 (grub_pxefs_read): Likewise.
17689 (grub_env_write_readonly): New function.
17690 (set_mac_env): Likewise.
17691 (set_env_limn_ro): Likewise.
17692 (parse_dhcp_vendor): Likewise.
17693 (grub_pxe_detect): Set the environment variables.
17694 (set_ip_env): New function.
17695 (write_ip_env): Likewise.
17696 (grub_env_write_pxe_default_server): Likewise.
17697 (grub_env_write_pxe_default_gateway): Likewise.
17698 (grub_env_write_pxe_blocksize): Likewise.
17699 (GRUB_MOD_INIT(pxe)): Set environment variables.
17700 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
17701 (grub_pxe_mac_addr_t): ... this. All users updated.
17702 (grub_pxe_your_ip): Removed.
17703 (grub_pxe_server_ip): Likewise.
17704 (grub_pxe_gateway_ip): Likewise.
17705 (grub_pxe_blksize): Likewise.
17706
ec5f98ab 177072009-12-25 Carles Pina i Estany <carles@pina.cat>
17708
17709 * commands/help.c: Include `<grub/i18n.h>'.
17710 (grub_cmd_help): Gettextizze.
17711 (GRUB_MOD_INIT): Likewise.
17712 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
17713 (GRUB_MOD_INIT): Gettextizze.
17714 * commands/search.c: Include `<grub/i18n.h>'.
17715 (options): Gettextizze.
17716 (GRUB_MOD_INIT): Gettextizze.
17717 * lib/arg.c: Include `<grub/i18n.h>'.
17718 (help_options): Gettextizze.
17719 (find_long): Likewise.
17720 (grub_arg_show_help): Likewise.
17721 * normal/dyncmd.c: Include `<grub/i18n.h>'.
17722 (read_command_list): Gettextizze.
17723 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 17724 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 17725
22815526
RM
177262009-12-25 Robert Millan <rmh.grub@aybabtu.com>
17727
17728 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
17729 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
17730 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
17731 (led_status): New variable.
17732 (keyboard_controller_led): New function.
17733 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
17734 update led status for caps lock, num lock and scroll lock.
17735
0ad46fd7
FZ
177362009-12-25 Felix Zielcke <fzielcke@z-51.de>
17737
17738 * util/hostdisk.c (open_device): Fix a comment.
17739
d0e158c2
RM
177402009-12-24 Robert Millan <rmh.grub@aybabtu.com>
17741
17742 * util/grub-install.in (host_os): New variable.
17743 * util/i386/efi/grub-install.in (host_os): Likewise.
17744
401c0ad6
RM
177452009-12-24 Robert Millan <rmh.grub@aybabtu.com>
17746
17747 * util/mkisofs/write.c (padblock_write): Abort when given an
17748 excedingly large embed image, instead of silently truncating it.
17749
d14d3370
RM
177502009-12-24 Robert Millan <rmh.grub@aybabtu.com>
17751
17752 * include/multiboot.h: Indentation fixes.
17753
eeed10b4
RM
177542009-12-24 Robert Millan <rmh.grub@aybabtu.com>
17755
17756 * include/multiboot.h (struct multiboot_aout_symbol_table)
17757 (struct multiboot_elf_section_header_table): New structure
17758 declarations (stolen from GRUB Legacy).
17759 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
17760 table information.
17761
17762 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
17763 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
17764 type aliases.
17765
681c70ab
RM
177662009-12-24 Robert Millan <rmh.grub@aybabtu.com>
17767
17768 * include/multiboot.h: Make comments src2texi-friendly.
17769
e4d47d8d
RM
177702009-12-24 Robert Millan <rmh.grub@aybabtu.com>
17771
17772 For consistency with [multiboot]/docs/boot.S.
17773
17774 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
17775 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
17776 (MULTIBOOT_MAGIC2): Rename from this ...
17777 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
17778
a0b70bda
RM
177792009-12-24 Robert Millan <rmh.grub@aybabtu.com>
17780
17781 * include/multiboot.h: Remove `<grub/types.h>'.
17782 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
17783 types. Update all users.
17784
61ba42be 177852009-12-25 Carles Pina i Estany <carles@pina.cat>
17786
17787 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
17788 `couldn't' and `can not' by `cannot'.
17789 * commands/i386/pc/drivemap.c: Likewise.
17790 * disk/ata.c: Likewise.
17791 * disk/ieee1275/nand.c: Likewise.
17792 * fs/affs.c: Likewise.
17793 * fs/fat.c: Likewise.
17794 * fs/hfs.c: Likewise.
17795 * fs/hfsplus.c: Likewise.
17796 * fs/iso9660.c: Likewise.
17797 * fs/jfs.c: Likewise.
17798 * fs/minix.c: Likewise.
17799 * fs/reiserfs.c: Likewise.
17800 * fs/sfs.c: Likewise.
17801 * fs/udf.c: Likewise.
17802 * fs/ufs.c: Likewise.
17803 * fs/xfs.c: Likewise.
17804 * loader/powerpc/ieee1275/linux.c: Likewise.
17805 * loader/sparc64/ieee1275/linux.c: Likewise.
17806 * util/grub-probe.c: Likewise.
17807 * util/misc.c: Likewise.
17808
7fd0baee 178092009-12-24 Carles Pina i Estany <carles@pina.cat>
17810
17811 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
17812 grub_errno calls.
17813 * commands/acpi.c: Likewise.
17814 * commands/blocklist.c: Likewise.
17815 * commands/efi/loadbios.c: Likewise.
17816 * commands/i386/pc/drivemap.c: Likewise.
17817 * commands/loadenv.c: Likewise.
17818 * commands/memrw.c: Likewise.
17819 * commands/password.c: Likewise.
17820 * commands/videotest.c: Likewise.
17821 * disk/ata.c: Likewise.
17822 * disk/ata_pthru.c: Likewise.
17823 * disk/dmraid_nvidia.c: Likewise.
17824 * disk/ieee1275/nand.c: Likewise.
17825 * disk/ieee1275/ofdisk.c: Likewise.
17826 * disk/loopback.c: Likewise.
17827 * disk/lvm.c: Likewise.
17828 * disk/mdraid_linux.c: Likewise.
17829 * disk/raid.c: Likewise.
17830 * disk/raid6_recover.c: Likewise.
17831 * disk/scsi.c: Likewise.
17832 * efiemu/main.c: Likewise.
17833 * efiemu/mm.c: Likewise.
17834 * efiemu/pnvram.c: Likewise.
17835 * efiemu/symbols.c: Likewise.
17836 * font/font.c: Likewise.
17837 * fs/cpio.c: Likewise.
17838 * fs/hfsplus.c: Likewise.
17839 * fs/iso9660.c: Likewise.
17840 * fs/jfs.c: Likewise.
17841 * fs/minix.c: Likewise.
17842 * fs/ntfs.c: Likewise.
17843 * fs/ntfscomp.c: Likewise.
17844 * fs/reiserfs.c: Likewise.
17845 * fs/ufs.c: Likewise.
17846 * fs/xfs.c: Likewise.
17847 * gettext/gettext.c: Likewise.
17848 * include/grub/auth.h: Likewise.
17849 * kern/elf.c: Likewise.
17850 * kern/file.c: Likewise.
17851 * kern/ieee1275/init.c: Likewise.
17852 * kern/ieee1275/mmap.c: Likewise.
17853 * kern/ieee1275/openfw.c: Likewise.
17854 * kern/powerpc/dl.c: Likewise.
17855 * kern/sparc64/dl.c: Likewise.
17856 * lib/arg.c: Likewise.
17857 * loader/i386/bsd.c: Likewise.
17858 * loader/i386/bsdXX.c: Likewise.
17859 * loader/i386/efi/linux.c: Likewise.
17860 * loader/i386/efi/xnu.c: Likewise.
17861 * loader/i386/ieee1275/linux.c: Likewise.
17862 * loader/i386/linux.c: Likewise.
17863 * loader/i386/multiboot.c: Likewise.
17864 * loader/i386/pc/linux.c: Likewise.
17865 * loader/i386/pc/multiboot2.c: Likewise.
17866 * loader/i386/xnu.c: Likewise.
17867 * loader/ieee1275/multiboot2.c: Likewise.
17868 * loader/macho.c: Likewise.
17869 * loader/machoXX.c: Likewise.
17870 * loader/multiboot2.c: Likewise.
17871 * loader/multiboot_loader.c: Likewise.
17872 * loader/powerpc/ieee1275/linux.c: Likewise.
17873 * loader/sparc64/ieee1275/linux.c: Likewise.
17874 * loader/xnu.c: Likewise.
17875 * loader/xnu_resume.c: Likewise.
17876 * mmap/i386/pc/mmap.c: Likewise.
17877 * normal/menu_viewer.c: Likewise.
17878 * partmap/acorn.c: Likewise.
17879 * partmap/amiga.c: Likewise.
17880 * partmap/apple.c: Likewise.
17881 * script/lexer.c: Likewise.
17882 * term/gfxterm.c: Likewise.
17883 * term/i386/pc/serial.c: Likewise.
17884 * term/i386/pc/vga.c: Likewise.
17885 * term/ieee1275/ofconsole.c: Likewise.
17886 * term/terminfo.c: Likewise.
17887 * video/bitmap.c: Likewise.
17888 * video/efi_gop.c: Likewise.
17889 * video/efi_uga.c: Likewise.
17890 * video/fb/video_fb.c: Likewise.
17891 * video/i386/pc/vbe.c: Likewise.
17892 * video/readers/tga.c: Likewise.
17893 * video/video.c: Likewise.
17894
0ad46fd7 178952009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
17896
17897 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
17898 * commands/lspci.c: Likewise.
17899 * commands/probe.c: Likewise.
17900 * commands/xnu_uuid.c: Likewise.
17901 * conf/i386-coreboot.rmk: Likewise.
17902 * conf/i386-efi.rmk: Likewise.
17903 * conf/i386-ieee1275.rmk: Likewise.
17904 * conf/i386-pc.rmk: Likewise.
17905 * conf/powerpc-ieee1275.rmk: Likewise.
17906 * conf/sparc64-ieee1275.rmk: Likewise.
17907 * conf/x86_64-efi.rmk: Likewise.
17908 * fs/i386/pc/pxe.c: Likewise.
17909 * gettext/gettext.c: Likewise.
17910 * include/grub/efi/graphics_output.h: Likewise.
17911 * include/grub/i386/pc/memory.h: Likewise.
17912 * kern/env.c: Likewise.
17913 * kern/i386/qemu/startup.S: Likewise.
17914 * lib/i386/pc/biosnum.c: Likewise.
17915 * lib/i386/relocator.c: Likewise.
17916 * lib/i386/relocator_asm.S: Likewise.
17917 * lib/relocator.c: Likewise.
17918 * loader/i386/bsd.c: Likewise.
17919 * loader/i386/multiboot.c: Likewise.
17920 * loader/i386/pc/chainloader.c: Likewise.
17921 * loader/i386/xnu.c: Likewise.
17922 * loader/xnu.c: Likewise.
17923 * normal/main.c: Likewise.
17924 * normal/menu_text.c: Likewise.
17925 * util/getroot.c: Likewise.
17926 * util/grub-mkconfig_lib.in: Likewise.
17927 * util/grub.d/00_header.in: Likewise.
17928 * util/i386/pc/grub-mkimage.c: Likewise.
17929 * util/mkisofs/eltorito.c: Likewise.
17930 * util/mkisofs/exclude.h: Likewise.
17931 * util/mkisofs/hash.c: Likewise.
17932 * util/mkisofs/iso9660.h: Likewise.
17933 * util/mkisofs/joliet.c: Likewise.
17934 * util/mkisofs/mkisofs.c: Likewise.
17935 * util/mkisofs/mkisofs.h: Likewise.
17936 * util/mkisofs/multi.c: Likewise.
17937 * util/mkisofs/name.c: Likewise.
17938 * util/mkisofs/rock.c: Likewise.
17939 * util/mkisofs/tree.c: Likewise.
17940 * util/mkisofs/write.c: Likewise.
17941 * video/efi_gop.c: Likewise.
17942
009ec743
VS
179432009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
17944
17945 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
17946 size counting.
17947
0ad46fd7 179482009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
17949
17950 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
17951 * genmk.rb (class SCRIPT): Modify the target file instead of source.
17952
d3d30ea0
VS
179532009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
17954
17955 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
17956 (GRUB_MOD_INIT(memrw)): Update help line.
17957
a34f5c70
VS
179582009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
17959
17960 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
17961 Use grub_extcmd_t. All users updated.
17962 (options): New variable.
17963 (grub_cmd_read): Restructure for readability. Support "-v" option.
17964 (grub_cmd_write): Restructure for readability.
17965
0ad46fd7 179662009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
17967
17968 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
17969
0ad46fd7 179702009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
17971
17972 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
17973 with the actual contents of the correspondending make variable.
17974 * util/grub-mkrescue.in (pkglib_DATA): New variable.
17975 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
17976 specifying `*.lst' and `efiemu??.o'
17977
0ad46fd7 179782009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
17979
17980 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
17981 after function name.
17982 Noticed by Rene Engelhard <rene@debian.org>.
17983
dc77a799
VS
179842009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
17985
17986 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
17987 (options): New variable.
17988 (iospace): Likewise.
17989 (grub_lspci_iter): List IO spaces if "-i" was given.
17990 (grub_cmd_lspci): Parse options.
17991 (GRUB_MOD_INIT(lspci)): Use extcmd.
17992 (GRUB_MOD_FINI(lspci)): Likewise.
17993
0ad46fd7 179942009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
17995
17996 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
17997 `function' keyword.
17998 Patch by Tony Mancill <tmancill@debian.org>.
17999
b5d5993b
VS
180002009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18001
18002 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
18003 (grub_uhci_portstatus): Likewise.
18004 (grub_uhci_portstatus): Add necessary delay.
11d18281 18005 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 18006
941903f2 180072009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 18008
941903f2 18009 * commands/acpi.c (options): Fix capitalizations and/or full stops.
18010 (GRUB_MOD_INIT): Likewise.
18011 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 18012 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
18013 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 18014 * commands/efi/loadbios.c (enable_rom_area): Likewise.
18015 (enable_rom_area): Likewise.
18016 (GRUB_MOD_INIT): Likewise.
18017 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
18018 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
18019 * commands/handler.c (GRUB_MOD_INIT): Likewise.
18020 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
18021 * commands/hexdump.c (options): Likewise.
18022 * commands/i386/cpuid.c (options): Likewise.
18023 (GRUB_MOD_INIT): Likewise.
18024 * commands/i386/pc/drivemap.c (options): Likewise.
18025 (GRUB_MOD_INIT): Likewise.
18026 * commands/i386/pc/halt (options): Likewise.
18027 (GRUB_MOD_INIT): Likewise.
18028 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
18029 * commands/i386/pc/pxecmd.c (options): Likewise.
18030 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
18031 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
18032 * commands/keystatus.c (options): Likewise.
18033 (GRUB_MOD_INIT): Likewise.
18034 * commands/loadenv.c (options): Likewise.
18035 * commands/ls.c (options): Likewise.
18036 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
18037 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
18038 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
18039 * commands/parttool.c (helpmsg): Likewise.
18040 * commands/probe.c (options): Likewise.
18041 * commands/read.c (GRUB_MOD_INIT): Likewise.
18042 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
18043 * commands/search.c (options): Likewise.
18044 * commands/sleep.c (options): Likewise.
18045 * commands/test.c (GRUB_MOD_INIT): Likewise.
18046 * commands/true.c (GRUB_MOD_INIT): Likewise.
18047 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
18048 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
18049 * lib/arg.c (help_options): Likewise.
e9bbb4e7 18050 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
18051 `$(XGETTEXT)'.
98a50553 18052 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 18053
0ad46fd7 180542009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 18055
ef3c2c3a 18056 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
18057 instead of specifying them explicit.
18058
7922f68b
RM
180592009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18060
18061 * NEWS: Add grub-probe support for GNU/Hurd.
18062
537ce47f
RM
180632009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18064
18065 * NEWS: gettext was added after 1.97.
18066
9b214e3a
RM
180672009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18068
18069 * util/mkisofs/msdos_partition.h: New file (based on
18070 include/grub/msdos_partition.h).
18071 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
18072 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
18073 (ld_options, main): Recognize --protective-msdos-label.
18074 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
18075 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
18076 (padblock_write): If `use_protective_msdos_label' is set, patch a
18077 protective DOS-style label in the output image.
18078
18079 * util/grub-mkrescue.in: Use --protective-msdos-label.
18080
e9309813
RM
180812009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18082
18083 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
18084 boot.
18085
0ae56929
RM
180862009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18087
18088 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
18089 variables.
18090 (ld_options, main): Recognize `--embedded-boot'.
18091 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
18092 declarations.
18093 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
18094 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
18095 (padblock_write): Likewise. Rewrite to support embedded boot image.
18096
18097 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
18098 for BIOS-based disk boot instead of only ElTorito.
18099
b15937b1
RM
181002009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18101
18102 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
18103 build (not needed for bootstrap).
18104
52cc3ce0
RM
181052009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18106
18107 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
18108 from i386-pc build (not needed for bootstrap).
18109 Rewrite a pair of strings.
18110
36f5ff04
RM
181112009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18112
18113 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
18114
973c6c85 181152009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
18116
18117 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
18118
05d21547
AB
181192009-12-21 Andreas Born <futur.andy@googlemail.com>
18120
18121 * kern/env.c (grub_env_context_open): Mark exported variable for
18122 reexport.
18123
0175d51f
AB
181242009-12-21 Andreas Born <futur.andy@googlemail.com>
18125
18126 * kern/env.c (grub_env_export): Create nonexistent variables before
18127 exporting.
18128
7f39d92f 181292009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 18130
7f39d92f 18131 * include/grub/auth.h: Include `<grub/i18n.h>'.
18132 (GRUB_GET_PASSWORD): Gettextizze string.
18133 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
18134 menu_text.c.
18135 (grub_utf8_to_ucs4_alloc): Fix indentation.
18136 (grub_print_ucs4): Likewise.
18137 (grub_getstringwidth): Likewise.
18138 (print_message_indented): New declaration.
18139 * normal/auth.c: Include `<grub/i18n.h>'.
18140 (grub_auth_check_authentication): Gettexttize string.
18141 * normal/cmdline.c: Include `<grub/i18n.h>'.
18142 (grub_cmdline_get): Gettextizze.
18143 * normal/color.c: Include `<grub/i18n.h>'.
18144 (grub_parse_color_name_pair): Gettexttize strings.
18145 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
18146 string (use `print_message_indented').
18147 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
18148 `include/grub/normal.h'.
18149 (print_message_indented): Renamed to ...
18150 (grub_print_message_indented): ... this. Remove `static' qualifer (now
18151 used in normal/main.c).
18152 (print_message): Use `grub_print_message_indented' instead of
18153 `print_message_indented'.
18154 (print_timeout): Likewise.
18155 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
18156 (grub_normal_print_device_info): Gettexttize strings.
18157 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
18158
3041d898
VS
181592009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
18160
18161 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
18162 of arguments. Return number of tokens and not arguments. All users
18163 updated.
18164
de15bf8e
VS
181652009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
18166
18167 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
18168 non-MSDOS paritions.
18169
e0a6ca52
VS
181702009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
18171
18172 * include/grub/types.h (UNUSED): Removed since it conflicts with
18173 NetBSD headers. All users changed to direct __attribute__ ((unused)).
18174 Reported by Grégoire Sutre.
18175
b99518d1 181762009-12-19 Carles Pina i Estany <carles@pina.cat>
18177
18178 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
18179 (grub_print_ucs4_alloc): Likewise.
18180 (grub_getstringwidth): Likewise.
18181 * normal/main.c (grub_normal_init_page): Gettextize version string.
18182 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
18183 (getstringwidth): Renamed to ...
18184 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
18185 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
18186 (grub_print_ucs4): Remove `static' qualifer (now used in
18187 normal/main.c).
18188 * po/POTFILES: Add normal/main.c.
18189
bfd5e52b 181902009-12-19 Carles Pina i Estany <carles@pina.cat>
18191
18192 * normal/menu_text.c (STANDARD_MARGIN): New macro.
18193 (print_message_indented): Add `margin_left' and `margin_right'
18194 parameters.
18195 (print_message): Update `print_message_indented' calls. Adds '\n' to the
18196 strings.
18197 (print_timeout): Use `print_message_indented' to print the message.
18198 Deletes `second_stage' parameter.
18199 (run_menu): Update `print_timeout' calls.
18200
5a1ad2b9
VS
182012009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
18202
18203 Fix console palette on OpenFirmware.
18204
18205 * term/ieee1275/ofconsole.c (MAX): Removed.
18206 (colors): Redone based on VGA palette.
18207 (grub_ofconsole_setcolor): Discard brightness bit since only 8
18208 colors are supported.
18209 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
18210
b045f00a
VS
182112009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
18212
18213 Fix potential EfiEmu double prepare.
18214
18215 * efiemu/main.c (prepared): New variable
18216 (grub_efiemu_unload): Set prepare to '0'.
18217 (grub_efiemu_prepare): Return if already prepared. Set prepared.
18218
18219 set_virtual_address_map support.
18220
18221 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
18222 prototype.
18223 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
18224 prototype.
18225 (grub_efiemu_crc32): Likewise.
18226 (grub_efiemu_crc64): Likewise.
18227 (grub_efiemu_set_virtual_address_map): Likewise.
18228 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
18229 New definition.
18230 (grub_autoefi_set_virtual_address_map): Likewise.
18231 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
18232 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
18233 Restructure flow to accomodate it.
18234 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
18235 (grub_efiemu_crc): Recompute CRC32.
18236 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
18237 (efiemu_ptv_relocated): ... this. Made global. All users updated.
18238 * efiemu/symbols.c (relocated_handle): New variable.
18239 (grub_efiemu_free_syms): Free relocated_handle.
18240 (grub_efiemu_alloc_syms): Allocate relocated_handle.
18241 (grub_efiemu_write_sym_markers): New function.
18242 (grub_efiemu_set_virtual_address_map): Likewise.
18243
18244 Newer XNU parameters.
18245
18246 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
18247 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
18248 (grub_xnu_fill_devicetree): New prototype.
18249 (grub_xnu_heap_real_start): New variable.
18250 * loader/xnu.c (get_name_ptr): New function.
18251 (grub_xnu_load_driver): Fill namelen and name.
18252
18253 64-bit xnu support.
18254
18255 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
18256 and 'loader/macho64.c'.
18257 * conf/i386-pc.rmk: Likewise.
18258 * conf/x86_64-efi.rmk: Likewise.
18259 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
18260 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
18261 * include/grub/macho.h (grub_macho_segment64): New structure.
18262 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
18263 (grub_macho_size32): ... to this.
18264 (grub_macho32_get_entry_point): Renamed from ...
18265 (grub_macho_get_entry_point32): ... to this.
18266 (grub_macho_contains_macho64): New prototype.
18267 (grub_macho_size64): Likewise.
18268 (grub_macho_get_entry_point64): Likewise.
18269 (grub_macho32_load): Renamed from ...
18270 (grub_macho_load32): ... to this.
18271 (grub_macho32_filesize): Renamed from ...
18272 (grub_macho_filesize32): ... to this.
18273 (grub_macho32_readfile): Renamed from ...
18274 (grub_macho_readfile32): ... to this.
18275 (grub_macho_filesize64): New prototype.
18276 (grub_macho_readfile64): Likewise.
18277 (grub_macho_parse32): Likewise.
18278 (grub_macho_parse64): Likewise.
18279 * loader/macho.c: Split into ...
18280 * loader/machoXX.c: ... and this. Replace 32 with XX.
18281 * loader/macho32.c: New file.
18282 * loader/macho64.c: Likewise.
18283 * loader/xnu.c (grub_xnu_is_64bit): New variable.
18284 (grub_cmd_xnu_kernel): Make 32-bit only.
18285 (grub_cmd_xnu_kernel64): New function.
18286 (grub_xnu_load_driver): Support Mach-O 64.
18287 (grub_cmd_xnu_mkext): Likewise.
18288 * util/grub.d/30_os-prober.in (osx_entry): New function.
18289 Generate entries for 64-bit boot too.
18290
18291 Eliminate ad-hoc tree format in XNU and EfiEmu.
18292
18293 * efiemu/main.c (grub_efiemu_prepare): Update comment.
18294 * efiemu/pnvram.c: Rewritten to use environment variables.
18295 All users updated.
18296
18297 Inline utf16_to_utf8.
18298
18299 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
18300 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
18301 All users updated.
18302 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
18303
18304 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
18305 * commands/usbtest.c (grub_usb_get_string): ... move here.
18306 (usb_print_str): Fix error handling.
18307 * include/grub/usb.h (grub_usb_get_string): Remove.
18308
18309 UTF-8 to UTF-16 transformation.
18310
18311 * conf/common.rmk (pkglib_MODULES): Add charset.mod
18312 (charset_mod_SOURCES): New variable.
18313 (charset_mod_CFLAGS): Likewise.
18314 (charset_mod_LDFLAGS): Likewise.
18315 * include/grub/utf.h: New file.
18316 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
18317
18318 Support for device properties.
18319
18320 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
18321 (grub_xnu_devprop_device_header): Likewise.
18322 (grub_xnu_devprop_device_descriptor): Likewise.
18323 (grub_xnu_devprop_add_device): New prototype.
18324 (grub_xnu_devprop_remove_device): Likewise.
18325 (grub_xnu_devprop_remove_property): Likewise.
18326 (grub_xnu_devprop_add_property_utf8): Likewise.
18327 (grub_xnu_devprop_add_property_utf16): Likewise.
18328 (grub_cpu_xnu_init): Likewise.
18329 (grub_cpu_xnu_fini): Likewise.
18330 (grub_cpu_xnu_unload): Likewise.
18331 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
18332 (property_descriptor): Likewise.
18333 (devices): New variable.
18334 (grub_xnu_devprop_remove_property): New function.
18335 (grub_xnu_devprop_add_device): Likewise.
18336 (grub_xnu_devprop_remove_device): Likewise.
18337 (grub_xnu_devprop_add_property): Likewise.
18338 (grub_xnu_devprop_add_property_utf8): Likewise.
18339 (grub_xnu_devprop_add_property_utf16): Likewise.
18340 (hextoval): Likewise.
18341 (grub_cpu_xnu_fill_devprop): Likewise.
18342 (grub_cmd_devprop_load): Likewise.
18343 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
18344 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
18345 (cmd_devprop_load): New variable.
18346 (grub_cpu_xnu_init): New function.
18347 (grub_cpu_xnu_fini): Likewise.
18348 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
18349 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
18350 (grub_cmd_xnu_devtree): Likewise.
18351 (hextoval): New function.
18352 (unescape): Likewise.
18353 (grub_xnu_fill_devicetree): Likewise.
18354
18355 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
18356 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
18357
0945f181
VS
183582009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
18359
18360 Workaround for broken ATI VBE.
18361
18362 * video/i386/pc/vbe.c (last_set_mode): New variable.
18363 (grub_vbe_set_video_mode): Set 'last_set_mode'.
18364 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
18365 (grub_video_vbe_setup): Don't check for reserved flag.
18366
0ad46fd7 183672009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
18368
18369 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
18370 the `find' command.
18371
c179ebe4
VS
183722009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
18373
18374 UUID support for HFS.
18375
18376 * fs/hfs.c (grub_hfs_uuid): New function.
18377 (grub_hfs_fs): New value .uuid.
18378 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
18379
0ad46fd7 183802009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
18381
18382 Fix a segfault with parsing unknown long options.
18383
18384 * util/grub-mkrelpath.c (options): Zero terminate it.
18385
c4a3e41a
CPE
183862009-12-13 Carles Pina i Estany <carles@pina.cat>
18387
18388 * include/grub/misc.h (grub_puts): New declaration.
18389 (grub_puts_): Likewise.
a22008a6 18390 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
18391 (grub_puts_): Likewise.
18392
2e8a7602
RM
183932009-12-13 Robert Millan <rmh.grub@aybabtu.com>
18394
18395 * util/grub-probe.c (probe): Improve error message.
18396
b50b77b9
RM
183972009-12-13 Robert Millan <rmh.grub@aybabtu.com>
18398
18399 * loader/i386/multiboot_elfxx.c
18400 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
18401 initialization.
18402
184032009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
18404
18405 Relocator framework
18406
18407 * loader/i386/xnu_helper.S: Removed. All users updated.
18408 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
18409 (relocator_mod_SOURCES): New variable.
18410 (relocator_mod_CFLAGS): Likewise.
18411 (relocator_mod_LDFLAGS): Likewise.
18412 (relocator_mod_ASFLAGS): Likewise.
18413 * conf/x86_64.rmk: Likewise.
18414 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
18415 (grub_multiboot_payload_entry_offset): Likewise.
18416 (grub_multiboot_forward_relocator): Likewise.
18417 (grub_multiboot_forward_relocator_end): Likewise.
18418 (grub_multiboot_backward_relocator): Likewise.
18419 (grub_multiboot_backward_relocator_end): Likewise.
18420 (grub_multiboot_payload_eip): New variable.
18421 (grub_multiboot_payload_orig): Likewise.
18422 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
18423 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
18424 * include/grub/i386/memory.h
18425 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
18426 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
18427 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
18428 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
18429 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
18430 * include/grub/i386/relocator.h: New file.
18431 * include/grub/x86_64/relocator.h: Likewise.
18432 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
18433 (XNU_RELOCATOR): New macro.
18434 (grub_xnu_launcher_start): Remove.
18435 (grub_xnu_launcher_end): Likewise.
18436 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
18437 (grub_xnu_heap_real_start): Remove.
18438 (grub_xnu_heap_start): Change to void *. All users updated.
18439 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
18440 * lib/i386/relocator.c: New file.
18441 * lib/i386/relocator_asm.S: Likewise.
18442 * lib/i386/relocator_backward.S: Likewise.
18443 * lib/mips/relocator.c: Likewise.
18444 * lib/mips/relocator_asm.S: Likewise.
18445 * lib/relocator.c: Likewise.
18446 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
18447 (entry): Removed.
18448 (playground): Likewise.
18449 (grub_multiboot_payload_orig): New variable.
18450 (grub_multiboot_payload_dest): Likewise.
18451 (grub_multiboot_payload_size): Likewise.
18452 (grub_multiboot_payload_eip): Likewise.
18453 (grub_multiboot_payload_esp): Likewise.
18454 (grub_multiboot_boot): Use grub_relocator32_boot.
18455 (grub_multiboot_unload): Free relocators.
18456 (grub_multiboot): Setup stack. Use relocators.
18457 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
18458 (grub_multiboot_load_elfXX): Use relocators.
18459 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
18460 (grub_multiboot_payload_size): Likewise.
18461 (grub_multiboot_payload_dest): Likewise.
18462 (grub_multiboot_payload_entry_offset): Likewise.
18463 (grub_multiboot_forward_relocator): Likewise.
18464 (grub_multiboot_backward_relocator): Likewise.
18465 (grub_multiboot_real_boot): Likewise.
18466 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
18467 (grub_xnu_entry_point): Likewise.
18468 (grub_xnu_arg1): Likewise.
18469 (grub_xnu_stack): Likewise.
18470 (grub_xnu_launch): Removed.
18471 (grub_xnu_boot_resume): New function.
18472 (grub_xnu_boot): Use relocators.
18473 * loader/i386/xnu_helper.S: Removed.
18474 * loader/xnu.c (grub_xnu_heap_start): New variable.
18475 (grub_xnu_heap_size): Likewise.
18476 (grub_xnu_heap_malloc): Use relocators.
18477 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
18478
29eb90c6
VS
184792009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
18480
18481 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
18482 anything.
18483
31027430
CPE
184842009-12-13 Carles Pina i Estany <carles@pina.cat>
18485
18486 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
18487 GRUB_ERR_NONE before calling grub_env_set.
18488
dc0c71d9
RM
184892009-12-12 Robert Millan <rmh@aybabtu.com>
18490
18491 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
18492 * genmk.rb (video): New variable.
18493 (CLEANFILES, VIDEOFILES): Add #{video}.
18494 (#{video}): New target rule.
18495 * genvideolist.sh: New file.
18496 * Makefile.in (pkglib_DATA): Add video.lst.
18497 (video.lst): New target rule.
18498 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
18499 `video.lst'.
18500 * util/grub.d/30_os-prober.in: Replace `vbe' with
18501 ${GRUB_VIDEO_BACKEND}.
18502
2a4bfcf0
RM
185032009-12-11 Robert Millan <rmh.grub@aybabtu.com>
18504
18505 * THANKS: Add David Miller.
18506
2a3aa4d5
RM
185072009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
18508
18509 libpciaccess support.
18510
18511 * Makefile.in (LIBPCIACCESS): New variable.
18512 (enable_grub_emu_pci): Likewise.
18513 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
18514 util/pci.c and commands/lspci.c.
18515 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
18516 * configure.ac (grub-emu-pci): New option.
18517 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
18518 (grub_pci_device_unmap_range): Likewise.
18519 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
18520 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
18521 (grub_pci_address_t) [!GRUB_UTIL]: New type.
18522 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
18523 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
18524 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
18525 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
18526 * include/grub/pciutils.h: New file.
18527 * util/pci.c: Likewise.
18528
0ad46fd7 185292009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
18530
18531 * util/misc.c: Don't include <errno.h> twice.
18532
0ad46fd7 185332009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
18534
18535 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
18536 name in an error message.
18537 (grub_biosdisk_rw): Likewise.
18538
2e59983c
VS
185392009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
18540
18541 Eliminate NTFS 4Gib barrier.
18542
18543 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
18544 (read_run_data): Likewise.
18545 (grub_ntfs_read_run_list): Likewise.
18546 (grub_ntfs_read_block): Likewise.
18547 (grub_ntfs_iterate_dir): Likewise.
18548 (read_mft): Likewise.
18549 (read_data): Likewise.
18550 Use COM_LOG_LEN.
18551 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
18552 to avoid 64-bit division
18553 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
18554 (grub_ntfs_rlst): Use grub_disk_addr_t.
18555
71ee178a
VS
185562009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
18557
18558 Eliminate grub-fstest 4Gib barrier.
18559
18560 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
18561 (read_file): Fix error reporting.
18562
2520d4b8
VS
185632009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
18564
18565 Eliminate hexdump 4Gib barrier.
18566
18567 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
18568 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
18569
e1f27065
VS
185702009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
18571
18572 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
18573 Fixes amarsh bug.
18574
1a0f7f45
RM
185752009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
18576
18577 Remove miscellaneous files in distclean target.
18578
18579 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
18580
c631d9fb
CW
185812009-12-09 Colin Watson <cjwatson@ubuntu.com>
18582
18583 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
18584 if they're already set. This resolves the conflict between my
18585 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
18586 fixing the --grub-probe option again.
18587 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
18588 change on 2009-10-06, so that we now once again source
18589 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
18590
7c7b6106
RM
185912009-12-08 Robert Millan <rmh.grub@aybabtu.com>
18592
18593 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
18594 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
18595 `util/devicemap.c'.
18596
e3069ec1
CPE
185972009-12-08 Carles Pina i Estany <carles@pina.cat>
18598
18599 * include/grub/misc.h (grub_printf_): New declaration.
18600 * kern/misc.c (grub_printf_): New definition.
18601 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
18602 instead of `grub_printf' and `_'.
18603 * normal/menu_entry.c (store_completion): Likewise.
18604 (run): Likewise.
18605 (grub_menu_entry_run): Likewise.
18606 * normal/menu_text.c (grub_wait_after_message): Likewise.
18607 (notify_booting): Likewise.
18608 (notify_fallback): Likewise.
18609 (notify_execution_failure): Likewise.
18610
d6ceebf1
CW
186112009-12-07 Colin Watson <cjwatson@ubuntu.com>
18612
18613 * configure.ac: Check for vasprintf.
18614 * util/misc.c (asprintf): Move allocation from here ...
18615 (vasprintf): ... to here. New function.
18616 (xasprintf): New function.
18617 * include/grub/util/misc.h (vasprintf, xasprintf): Add
18618 prototypes.
18619 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
18620 * util/grub-mkfont.c (write_font): Likewise.
18621 * util/grub-probe.c (probe): Likewise.
18622 * util/hostdisk.c (make_device_name): Likewise.
18623
de6daa8b
DM
186242009-12-06 David S. Miller <davem@sunset.davemloft.net>
18625
18626 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
18627 anything even prefixed with 'cdrom' as a cdrom.
18628
0ad46fd7 186292009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
18630
18631 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
18632 mount points.
18633
98d3dc02
CPE
186342009-12-05 Carles Pina i Estany <carles@pina.cat>
18635
18636 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
18637 grub_gettext_msg_list.
18638 (grub_gettext_gettranslation_from_position): Return const char *
18639 and not char *.
a2c1332b 18640 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
18641 returns from the list if existing there.
18642 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
18643 (grub_gettext_delete_list): Delete the list.
18644 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
18645 lang environment variable is changed.
18646 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
18647
b283f108
VS
186482009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
18649
18650 Rename kernel.mod to kernel.img.
18651
18652 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
18653 (kernel_mod_EXPORTS): Rename to ...
18654 (kernel_img_EXPORTS): ... this.
18655 (kernel_mod_SOURCES): Rename to ...
18656 (kernel_img_SOURCES): ... this.
18657 (kernel_mod_HEADERS): Rename to ...
18658 (kernel_img_HEADERS): ... this. All users updated.
18659 (kernel_mod_CFLAGS): Rename to ...
18660 (kernel_img_CFLAGS): ... this.
18661 (kernel_mod_ASFLAGS): Rename to ...
18662 (kernel_img_ASFLAGS): ... this.
18663 (kernel_mod_LDFLAGS): Rename to ...
18664 (kernel_img_LDFLAGS): ... this.
18665 * conf/x86_64-efi.rmk: Likewise.
18666 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
18667 (read_kernel_image): ... this. All users updated.
18668 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
18669
69055f8a
CPE
186702009-12-05 Carles Pina i Estany <carles@pina.cat>
18671
18672 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
18673 (print_spaces): New function.
18674 (grub_print_ucs4): New function.
18675 (getstringwidth): New function.
18676 (print_message_indented): New function.
18677 (print_message): Gettexttize strings using print_message_indented.
18678 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
18679 width.
18680 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 18681 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
18682 Gettextize.
18683 * normal/menu_entry.c (store_completion): Cleanup the gettextized
18684 string.
18685 (run): Likewise.
18686 (grub_menu_entry_run): Likewise.
18687 * PO/POTFILES: Add normal/menu_entry.c.
18688
f616f51c
VS
186892009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
18690
18691 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
18692
57bbe3be
CPE
186932009-12-05 Carles Pina i Estany <carles@pina.cat>
18694
18695 * util/grub-install.in: Install gettext .mo files.
18696 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
18697
013d67a1
CPE
186982009-12-05 Carles Pina i Estany <carles@pina.cat>
18699
18700 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
18701 grub_dprintf.
18702
fb954db0
RM
187032009-12-05 Robert Millan <rmh.grub@aybabtu.com>
18704
18705 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
18706 non-firmware-dependant one in realmode.S takes precedence.
18707
6b8474f8
RM
187082009-12-04 Robert Millan <rmh.grub@aybabtu.com>
18709
18710 * commands/halt.c: Replace misc arch-specific headers with
18711 `<grub/misc.h>'.
18712 * commands/reboot.c: Likewise.
18713 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
18714 `<grub/misc.h>'.
18715 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
18716 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
18717 (kernel_img_SOURCES): ... to here.
18718
18719 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
18720 * include/grub/i386/pc/init.h: Likewise.
18721 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
18722 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
18723
18724 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
18725
18726 * include/grub/i386/halt.h: Remove.
18727 * include/grub/i386/reboot.h: Likewise.
18728
18729 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
18730
4b2e6ca2
DM
187312009-12-03 David S. Miller <davem@sunset.davemloft.net>
18732
18733 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
18734 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
18735 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
18736 "progname.h"
18737 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
18738 * util/sparc64/ieee1275/grub-setup.c: Likewise.
18739 (usage): Add missing comma in printf.
18740
5239348f
RM
187412009-12-02 Robert Millan <rmh.grub@aybabtu.com>
18742
18743 Use the same reboot approach on i386 coreboot and qemu as we do on
18744 BIOS.
18745
18746 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
18747 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
18748 * kern/i386/reboot.c: Remove.
18749 * include/grub/i386/reboot.h (grub_reboot): Export function.
18750 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
18751 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
18752 0xf000:0xfff0 instead of 0xffff:0x0000.
18753 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
18754 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
18755
ef34cbd4
RM
187562009-11-30 Robert Millan <rmh.grub@aybabtu.com>
18757
18758 Fix $srcdir != $objdir build.
18759
18760 * Makefile.in (po/%.po): Rewrite as ...
18761 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
18762
dc9837ea
ST
187632009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
18764
18765 Fix GNU/Hurd grub-install crash.
18766 * util/grub-probe.c (probe): Try to access `path' only when it is not
18767 NULL.
18768
2f857f98
VS
187692009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
18770
18771 Correct module naming.
18772
18773 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
18774 (GRUB_MOD_INIT(efi_uga)): ... to this
18775 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
18776 (GRUB_MOD_FINI(efi_uga)): ... to this
18777 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
18778 (GRUB_MOD_INIT(efi_gop)): ... to this
18779 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
18780 (GRUB_MOD_FINI(efi_gop)): ... to this
18781
c5448046
RM
187822009-11-28 Robert Millan <rmh.grub@aybabtu.com>
18783
18784 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
18785 translatable.
18786 (usage): Translate `arg' strings using gettext().
18787 Thanks to Jordi Mallach for the suggestion.
18788
c85184ad
VS
187892009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
18790
18791 GOP support. Based on patch from Bean
18792 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
18793
18794 * video/efi_gop.c: New file.
18795 * include/grub/efi/graphics_output.h: Likewise.
18796 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
18797 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
18798 variables.
18799 * conf/x86_64-efi.rmk: Likewise.
18800
8a4c48d8
VS
188012009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
18802
18803 Rename efi_fb to efi_uga.
18804
18805 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
18806 'efi_uga.mod'.
18807 (efi_fb_mod_SOURCES): Rename this ...
18808 (efi_uga_mod_SOURCES): ... to this.
18809 (efi_fb_mod_CFLAGS): Rename this ...
18810 (efi_uga_mod_CFLAGS): ... to this.
18811 (efi_fb_mod_LDFLAGS): Rename this ...
18812 (efi_uga_mod_LDFLAGS): ... to this.
18813 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
18814 'efi_uga.mod'.
18815 (efi_fb_mod_SOURCES): Rename this ...
18816 (efi_uga_mod_SOURCES): ... to this.
18817 (efi_fb_mod_CFLAGS): Rename this ...
18818 (efi_uga_mod_CFLAGS): ... to this.
18819 (efi_fb_mod_LDFLAGS): Rename this ...
18820 (efi_uga_mod_LDFLAGS): ... to this.
18821 * video/efi_fb.c: Move this ...
18822 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
18823
fb6c1a7b
RM
188242009-11-27 Robert Millan <rmh.grub@aybabtu.com>
18825
18826 * po/README: New file. Explain our PO file workflow.
18827
3bc7896c
RM
188282009-11-27 Robert Millan <rmh.grub@aybabtu.com>
18829
18830 * po/ChangeLog: Remove. Move relevant entries back to ...
18831 * ChangeLog: ... here.
18832 * po/ca.po: Remove (now handled by TLP).
18833 * po/id.po: Likewise.
18834 * po/zh_CN.po: Likewise.
18835 * Makefile.in (LINGUAS): Initialize in a way that supports
18836 empty set.
18837
9ed4841d
RM
188382009-11-27 Robert Millan <rmh.grub@aybabtu.com>
18839
18840 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
18841 reliing on po/LINGUAS.
18842 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
18843 (po/%.po): ... this.
18844
0ad46fd7 188452009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
18846
18847 * util/i386/efi/grub-mkimage.c: Include "progname.h".
18848 (main): Use `program_name' instead of nonexistent `progname'.
18849
e30dd392
FZ
188502009-11-26 Felix Zielcke <fzielcke@z-51.de>
18851
18852 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
18853 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
18854
7656de4f
RM
188552009-11-26 Robert Millan <rmh.grub@aybabtu.com>
18856
18857 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
18858 commit.
18859 * conf/i386-efi.rmk: Likewise.
18860 * conf/i386-ieee1275.rmk: Likewise.
18861 * conf/powerpc-ieee1275.rmk: Likewise.
18862 * conf/sparc64-ieee1275.rmk: Likewise.
18863 * conf/x86_64-efi.rmk: Likewise.
18864
db77c4d4
FZ
188652009-11-26 Felix Zielcke <fzielcke@z-51.de>
18866
18867 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
18868
a755bb04
FZ
188692009-11-26 Felix Zielcke <fzielcke@z-51.de>
18870
18871 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
18872
8a4c07fd
RM
188732009-11-26 Robert Millan <rmh.grub@aybabtu.com>
18874
18875 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
18876 (grub_mkdevicemap_SOURCES): New variable.
18877 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
18878 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
18879 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
18880 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
18881 (grub_mkdevicemap_SOURCES): Remove.
18882 * conf/i386-efi.rmk: Likewise.
18883 * conf/i386-ieee1275.rmk: Likewise.
18884 * conf/i386-pc.rmk: Likewise.
18885 * conf/powerpc-ieee1275.rmk: Likewise.
18886 * conf/sparc64-ieee1275.rmk: Likewise.
18887 * conf/x86_64-efi.rmk: Likewise.
18888 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
18889 (usage): Fix strings to use `program_name'.
18890 (main): Initialize gettext.
18891 * util/grub-editenv.c: Likewise.
18892 * util/grub-emu.c: Likewise.
18893 * util/grub-fstest.c: Likewise.
18894 * util/grub-mkdevicemap.c: Likewise.
18895 * util/grub-mkfont.c: Likewise.
18896 * util/grub-mkrelpath.c: Likewise.
18897 * util/grub-pe2elf.c: Likewise.
18898 * util/grub-probe.c: Likewise.
18899 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
18900 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
18901 * util/sparc64/ieee1275/grub-setup.c: Likewise.
18902
18903 * util/misc.c: Include `"progname.h"'.
18904 (progname): Remove variable.
18905 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
18906
6f61ed55
FZ
189072009-11-25 Felix Zielcke <fzielcke@z-51.de>
18908
18909 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
18910 printf and print a newline after the menuentry header line.
18911 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
18912
f022876b
FZ
189132009-11-25 Felix Zielcke <fzielcke@z-51.de>
18914
18915 autoconf >= 2.60 support $(localedir).
18916
18917 * INSTALL: Note that autoconf 2.60 is required.
18918 * configure.ac (AC_PREREQ): Bump to 2.60.
18919 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
18920 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
18921
6717926e
YB
189222009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
18923
18924 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
18925 aclocal is run.
18926
08806a54
RM
189272009-11-25 Robert Millan <rmh.grub@aybabtu.com>
18928
18929 * normal/main.c (grub_normal_read_line): Fix off-by-one
18930 buffer overflow.
18931
13b33fba
RM
189322009-11-25 Robert Millan <rmh.grub@aybabtu.com>
18933
18934 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
18935 "parser.grub" in grub_command_execute() call.
18936
4a8572e9
CPE
189372009-11-24 Carles Pina i Estany <carles@pina.cat>
18938
18939 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
18940 * conf/i386-efi.rmk: Likewise.
18941 * conf/i386-ieee1275.rmk: Likewise.
18942 * conf/i386-pc.rmk: Likewise.
18943 * conf/powerpc-ieee1275.rmk: Likewise.
18944 * conf/sparc64-ieee1275.rmk: Likewise.
18945 * conf/x86_64-efi.rmk: Likewise.
18946 * gettext/gettex.c: Include <grub/i18n.h>.
18947 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
18948 here ...
18949 * include/grub/i18n.h: ... to here
18950 * include/grub/i18n.h: ... to here.
18951 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 18952 (grub_gettext_dummy): Move above user.
4a8572e9 18953
bee48093
FZ
189542009-11-24 Felix Zielcke <fzielcke@z-51.de>
18955
18956 * util/Makefile.in (install-local): Convert a `for' into a normal
18957 shell expansion.
18958
a031e91c
RM
189592009-11-24 Robert Millan <rmh.grub@aybabtu.com>
18960
18961 * autogen.sh: Add automake call.
18962 * config.guess: Remove.
18963 * config.sub: Likewise.
18964 * install-sh: Likewise.
18965
26bec39d
FZ
189662009-11-24 Felix Zielcke <fzielcke@z-51.de>
18967
18968 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
18969
8e2532fd
FZ
189702009-11-24 Felix Zielcke <fzielcke@z-51.de>
18971
18972 * util/Makefile.in (install-local): Convert a make `$(foreach)'
18973 function to a normal shell `for'.
18974
fefa1b7d
FZ
189752009-11-24 Felix Zielcke <fzielcke@z-51.de>
18976
18977 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
18978
4501250b
FZ
189792009-11-24 Felix Zielcke <fzielcke@z-51.de>
18980
18981 * util/grub-mkrelpath.c: New file.
18982 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
18983 (grub_mkrelpath_SOURCES): New variable.
18984 * include/grub/util/misc.h: New function prototype.
18985 * util/misc.c (make_system_path_relative_to_its_root): New function.
18986
18987 * util/grub-mkconfig_lib.in (bindir): New variable.
18988 (grub_mkrelpath): Likewise.
18989 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
18990
18991 * util/probe.c (probe): Make the file path relative to its root.
18992 Change a info message to use the GRUB path. Enable again the
18993 check if we can read the file with GRUB facilities.
18994
18995 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
18996 to its root.
18997
11d9778b
FZ
189982009-11-24 Felix Zielcke <fzielcke@z-51.de>
18999
19000 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
19001 platform.
19002
4465287d
FZ
190032009-11-24 Felix Zielcke <fzielcke@z-51.de>
19004
19005 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
19006 strncmp().
19007
62b47f22
FZ
190082009-11-24 Felix Zielcke <fzielcke@z-51.de>
19009
19010 * util/getroot.c (grub_util_is_dmraid): New function.
19011 (grub_util_get_dev_abstraction): Treat dmraid and multipath
19012 devices as normal ones, not as LVM.
19013
1eafb9b9 190142009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
19015
19016 * conf/common.rmk: Add grub-gettext_lib target and updates
19017 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
19018 LDFLAGS.
19019 * gettext/gettext.c: New file. (Reads mo files).
19020 * include/grub/file.h (grub_file_pread): New prototype.
19021 * include/grub/i18n.h (_): New prototype.
19022 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
19023 prototypes.
19024 * kern/misc.c (grub_gettext_dummy): New function.
19025 * normal/menu_text.c: Include <grub/i18n.h>.
19026 * normal/menu_text.c (print_timeout): Gettexttize string.
19027 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
19028 * po/POTFILES: Add `normal/menu_text.c'.
19029 * po/ca.po: Add new translations.
c3ea6bd4
CPE
19030 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
19031 gettext module and defines locale_dir and lang in grub.cfg.
19032 * NEWS: Add gettext support.
19033
0fdb2568
RM
190342009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19035
19036 * util/hostdisk.c: Include `<grub/i18n.h>'.
19037 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
19038 (make_device_name): Rewrite using asprintf.
19039 (convert_system_partition_to_system_disk): Replace 0 with NULL.
19040 (find_system_device): If a device is not found, generate one just
19041 by reusing the OS path name.
19042 (read_device_map): Make it permissible for device.map not to exist.
19043
f515aa62
RM
190442009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19045
19046 * script/sh/execute.c: Move from here ...
19047 * script/execute.c: ... to here. Update all users.
19048 * script/sh/function.c: Move from here ...
19049 * script/function.c: ... to here. Update all users.
19050 * script/sh/lexer.c: Move from here ...
19051 * script/lexer.c: ... to here. Update all users.
19052 * script/sh/main.c: Move from here ...
19053 * script/main.c: ... to here. Update all users.
19054 * script/sh/parser.y: Move from here ...
19055 * script/parser.y: ... to here. Update all users.
19056 * script/sh/script.c: Move from here ...
19057 * script/script.c: ... to here. Update all users.
19058
f84b481b
RM
190592009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19060
19061 * configure.ac: Detect all `emu' platforms. Define
19062 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
19063 --enable-grub-emu logic. Disable include/grub/machine
19064 symlink on `emu' platforms.
19065
19066 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
19067 * gensymlist.sh.in: Likewise.
19068
19069 * include/grub/i386/coreboot/machine.h: Remove file.
19070 * include/grub/i386/efi/machine.h: Likewise.
19071 * include/grub/i386/ieee1275/machine.h: Likewise.
19072 * include/grub/i386/pc/machine.h: Likewise.
19073 * include/grub/i386/qemu/machine.h: Likewise.
19074 * include/grub/powerpc/ieee1275/machine.h: Likewise.
19075 * include/grub/sparc64/ieee1275/machine.h: Likewise.
19076 * include/grub/x86_64/efi/machine.h: Likewise.
19077
19078 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
19079 * commands/halt.c: Likewise.
19080 * commands/reboot.c: Likewise.
19081 * include/grub/autoefi.h: Likewise.
19082 * include/grub/i386/at_keyboard.h: Likewise.
19083 * include/grub/i386/kernel.h: Likewise.
19084 * include/grub/i386/loader.h: Likewise.
19085 * include/grub/i386/pc/memory.h: Likewise.
19086 * kern/dl.c: Likewise.
19087 * kern/i386/coreboot/init.c: Likewise.
19088 * loader/i386/bsd.c: Likewise.
19089 * loader/i386/linux.c: Likewise.
19090 * loader/multiboot_loader.c: Likewise.
19091 * term/i386/pc/serial.c: Likewise.
19092 * term/usb_keyboard.c: Likewise.
19093
19094 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
19095 `<grub/machine/machine.h>'
19096 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
19097 * util/misc.c: Remove `<grub/machine/machine.h>' and
19098 `<grub/machine/time.h>'.
19099
19100 * Makefile.in (enable_grub_emu): Remove variable.
19101 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
19102
19103 * conf/any-emu.rmk: New file.
19104 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
19105 (grub_emu_init.c): Move from here ...
19106 * conf/any-emu.rmk: ... to here.
19107
19108 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
19109 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
19110 * conf/any-emu.rmk: ... to here.
19111
4efeab03
RM
191122009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19113
19114 * include/grub/parser.h (grub_parser_register): Document need
19115 of `name' parameter.
19116 * normal/main.c (grub_normal_read_line): Simplify prompt string.
19117 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
19118 "sh" to "grub".
19119
ea1dd8bf
RM
191202009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19121
19122 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
19123 `$(XGETTEXT)'.
19124 * include/grub/i18n.h (N_): New macro.
19125 * util/mkisofs/mkisofs.h: Likewise.
19126 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
19127 around N_().
19128 (usage): Use gettext() to translate help strings when printing them.
19129
0c140626
RM
191302009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19131
19132 Based on patch from Bean
19133 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
19134
19135 * video/efi_fb.c: New file.
19136 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
19137 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
19138 variables.
19139 * conf/x86_64-efi.rmk: Likewise.
19140
87d58298
RM
191412009-11-22 Robert Millan <rmh.grub@aybabtu.com>
19142
19143 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
19144 * util/i386/pc/grub-setup.c: Likewise.
19145
994cc3a3
ST
191462009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
19147
19148 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
19149 <hurd/fs.h>
19150 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
19151 file_get_storage_info to implement grub_guess_root_device.
19152
26a61d6a
FZ
191532009-11-21 Felix Zielcke <fzielcke@z-51.de>
19154
19155 * Makefile.in (target): Use make's builtin $(shell) function
19156 instead of calling directly $(SHELL) to create the locale directories,
19157 inside the $(foreach) function.
19158
74ff1dd5
FZ
191592009-11-21 Felix Zielcke <fzielcke@z-51.de>
19160
19161 * util/grub-mkrescue.in: Print an error and usage if output option
19162 has not been given.
19163
0b787d0e
FZ
191642009-11-21 Felix Zielcke <fzielcke@z-51.de>
19165
19166 Patch from Loïc Minier <loic.minier@ubuntu.com>.
19167 * util/grub.d/30_os-prober.in: Cope with Linux entries where
19168 root and /boot are on different devices.
19169
1164b270
RM
191702009-11-21 Robert Millan <rmh.grub@aybabtu.com>
19171
19172 Fix build for srcdir != objdir.
19173
19174 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
19175 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
19176 $(srcdir).
19177 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
19178 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
19179 reference for input.
19180
13774a2f
RM
191812009-11-21 Robert Millan <rmh.grub@aybabtu.com>
19182
19183 * util/grub-mkrescue.in: Use source directory direcly (without copiing
19184 or hardlinking it). Remove -J option, Joliet is not compatible with
19185 multiple source directories.
19186
efda854e
RM
191872009-11-21 Carles Pina i Estany <carles@pina.cat>
191882009-11-21 Robert Millan <rmh.grub@aybabtu.com>
19189
19190 * util/grub-mkrescue.in: Recognize `--override-directory' option.
19191 (process_input_dir): New function. Process an arbitrary input
19192 directory.
19193 Misc adjustments to support both "override mode" and system-wide mode.
19194
6c09890c
FZ
191952009-11-20 Felix Zielcke <fzielcke@z-51.de>
19196
19197 * configure.ac (UNIFONT_BDF): Rename to ...
19198 (FONT_SOURCE): ... this. Update all users.
19199
a797824f
FZ
192002009-11-20 Felix Zielcke <fzielcke@z-51.de>
19201
19202 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
19203 to the list of unifont files to look for.
19204
cd4f42b0
RM
192052009-11-19 Robert Millan <rmh.grub@aybabtu.com>
19206
19207 Patch from Joe Auricchio <jauricchio@gmail.com>
19208 * commands/minicmd.c (grub_mini_cmd_clear): New function.
19209 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
19210 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
19211
393c783d
FZ
192122009-11-19 Felix Zielcke <fzielcke@z-51.de>
19213
19214 * Makefile.in (install-local): Add a missing backslash.
19215
b2f1e327
FZ
192162009-11-19 Felix Zielcke <fzielcke@z-51.de>
19217
19218 * include/grub/x86_64/io.h: New file.
19219
f577f7a0
RM
192202009-11-19 Robert Millan <rmh.grub@aybabtu.com>
19221
19222 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
19223 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
19224 Include `"progname.h"'.
19225 (main): Initialize gettext.
19226 * util/i386/pc/grub-setup.c: Gettexttize.
19227 * util/i386/pc/grub-mkimage.c: Likewise.
19228
19229 * Makefile.in (po/*.po): Redefine as ...
19230 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
19231
3bc7896c
RM
19232 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
19233
c37943b6
RM
192342009-11-19 Robert Millan <rmh.grub@aybabtu.com>
19235
19236 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
19237 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
19238 (program_name): Remove.
19239 (main): Initialize gettext support.
6323f705
RM
19240 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
19241 Include `<libintl.h>'.
19242 (_): New macro.
c37943b6
RM
19243
19244 * util/mkisofs/eltorito.c: Gettexttize.
19245 * util/mkisofs/joliet.c: Likewise.
19246 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
19247 * util/mkisofs/multi.c: Likewise.
19248 * util/mkisofs/rock.c: Likewise.
19249 * util/mkisofs/tree.c: Likewise.
19250 * util/mkisofs/write.c: Likewise.
19251
3bc7896c
RM
19252 * po/POTFILES: Update with new files.
19253
5ce77c6e
RM
192542009-11-18 Robert Millan <rmh.grub@aybabtu.com>
19255
19256 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
19257 * util/mkisofs/iso9660.h: Likewise.
19258 * util/mkisofs/joliet.c: Likewise.
19259 * util/mkisofs/mkisofs.c: Likewise.
19260 * util/mkisofs/mkisofs.h: Likewise.
19261 * util/mkisofs/rock.c: Likewise.
19262 * util/mkisofs/tree.c: Likewise.
19263 * util/mkisofs/write.c: Likewise.
19264
19265 * util/mkisofs/eltorito.c (rcsid): Remove.
19266 * util/mkisofs/hash.c: Likewise.
19267 * util/mkisofs/joliet.c: Likewise.
19268 * util/mkisofs/name.c: Likewise.
19269 * util/mkisofs/rock.c: Likewise.
19270 * util/mkisofs/tree.c: Likewise.
19271 * util/mkisofs/write.c: Likewise.
19272
1dabbc77
RM
192732009-11-18 Robert Millan <rmh.grub@aybabtu.com>
19274
19275 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
19276 instead of static allocation.
19277 * util/mkisofs/match.h: Likewise.
19278
633877cb
RM
192792009-11-18 Robert Millan <rmh.grub@aybabtu.com>
19280
3bc7896c
RM
19281 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
19282 and `util/grub.d/10_linux.in'.
633877cb
RM
19283 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
19284 translatable Shell files.
19285
af1c0c85
RM
192862009-11-18 Robert Millan <rmh.grub@aybabtu.com>
19287
19288 * Makefile.in ($(srcdir)/aclocal.m4): New target.
19289
769ae37b
RM
192902009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19291
19292 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 19293 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
19294 * util/grub.d/10_kfreebsd.in (bindir): New variable.
19295 Add gettext initialization.
19296 (kfreebsd_entry): Make menuentry output translatable.
19297
192982009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19299
19300 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
19301 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
19302 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
19303 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
19304 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 19305 * po/LINGUAS: New file.
769ae37b
RM
19306
193072009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19308
19309 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
19310 other things).
19311 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
19312 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
19313 bindtextdomain() calls for gettext initialization.
19314
193152009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19316
19317 * gnulib/progname.c: New file (imported from Gnulib).
19318 * gnulib/progname.h: Likewise.
19319 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
19320 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
19321 (usage): Replace `progname' with `program_name'.
19322 (main): Use set_program_name() for program name initialization.
19323
193242009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19325
19326 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
19327 from here ...
19328 * Makefile.in (CPPFLAGS): ... to here.
19329
193302009-11-16 Robert Millan <rmh.grub@aybabtu.com>
19331
19332 * aclocal.m4: Move from here ...
19333 * acinclude.m4: ... to here.
19334 * autogen.sh: Add call to `aclocal'.
19335 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
19336
193372009-11-16 Robert Millan <rmh.grub@aybabtu.com>
19338
19339 * Makefile.in (CLEANFILES): Add `po/*.mo'.
19340 (LINGUAS): New variable.
19341 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
19342 (install-local): Install MO files.
19343 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
19344 * include/grub/i18n.h: New file.
3bc7896c
RM
19345 * po/POTFILES: New file.
19346 * po/ca.po: New file.
769ae37b
RM
19347 * util/grub.d/10_linux.in (bindir): New variable.
19348 Add gettext initialization.
19349 (linux_entry): Make menuentry output translatable.
19350 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
19351 (usage): Make --help output translatable.
19352 (main): Initialize gettext.
19353
02c0a6ad
RM
193542009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19355
19356 * import_gcry.py: New file (written by Vladimir with minor
19357 adjustments).
19358 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
19359 ciphers.
19360 * INSTALL: Document that Python is required for bootstrap.
19361
193622009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19363
19364 Import ciphers from libgcrypt 1.4.4.
19365
19366 * lib/libgcrypt/cipher/ChangeLog
19367 * lib/libgcrypt/cipher/ac.c
19368 * lib/libgcrypt/cipher/arcfour.c
19369 * lib/libgcrypt/cipher/bithelp.h
19370 * lib/libgcrypt/cipher/blowfish.c
19371 * lib/libgcrypt/cipher/camellia-glue.c
19372 * lib/libgcrypt/cipher/camellia.c
19373 * lib/libgcrypt/cipher/camellia.h
19374 * lib/libgcrypt/cipher/cast5.c
19375 * lib/libgcrypt/cipher/cipher.c
19376 * lib/libgcrypt/cipher/crc.c
19377 * lib/libgcrypt/cipher/des.c
19378 * lib/libgcrypt/cipher/dsa.c
19379 * lib/libgcrypt/cipher/ecc.c
19380 * lib/libgcrypt/cipher/elgamal.c
19381 * lib/libgcrypt/cipher/hash-common.c
19382 * lib/libgcrypt/cipher/hash-common.h
19383 * lib/libgcrypt/cipher/hmac-tests.c
19384 * lib/libgcrypt/cipher/md.c
19385 * lib/libgcrypt/cipher/md4.c
19386 * lib/libgcrypt/cipher/md5.c
19387 * lib/libgcrypt/cipher/primegen.c
19388 * lib/libgcrypt/cipher/pubkey.c
19389 * lib/libgcrypt/cipher/rfc2268.c
19390 * lib/libgcrypt/cipher/rijndael-tables.h
19391 * lib/libgcrypt/cipher/rijndael.c
19392 * lib/libgcrypt/cipher/rmd.h
19393 * lib/libgcrypt/cipher/rmd160.c
19394 * lib/libgcrypt/cipher/rsa.c
19395 * lib/libgcrypt/cipher/seed.c
19396 * lib/libgcrypt/cipher/serpent.c
19397 * lib/libgcrypt/cipher/sha1.c
19398 * lib/libgcrypt/cipher/sha256.c
19399 * lib/libgcrypt/cipher/sha512.c
19400 * lib/libgcrypt/cipher/tiger.c
19401 * lib/libgcrypt/cipher/twofish.c
19402 * lib/libgcrypt/cipher/whirlpool.c
19403
af2f93ac
RM
194042009-11-16 Robert Millan <rmh.grub@aybabtu.com>
19405
19406 Fix build for systems without error().
19407
19408 * gnulib/error.c: New file (imported from Gnulib).
19409 * gnulib/error.h: Likewise.
19410 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
19411 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
19412 (this variable is now used by error()).
19413
73fb3dd5
FZ
194142009-11-16 Felix Zielcke <fzielcke@z-51.de>
19415
814f5e96
FZ
19416 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
19417 instead of relying that char is signed.
73fb3dd5 19418
a691ca33
VS
194192009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
19420
19421 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
19422 blocksize different from specified.
19423 (grub_pxefs_read): Likewise.
19424
2af8f0f4
FZ
194252009-11-16 Felix Zielcke <fzielcke@z-51.de>
19426
19427 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
19428
19429 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
19430 (grub_ata_readwrite): Likewise. Update 2 format strings.
19431 (grub_atapi_read): Likewise.
19432
19433 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
19434 * conf/i386.rmk (pkglib_MODULES): ... to here ...
19435 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
19436 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
19437 (ata_mod_LDFLAGS): Move from here ...
19438 * conf/i386.rmk: ... to here ...
19439 * conf/x86_64-efi.rmk: ... and here.
19440 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
19441 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
19442
83bdecaf
RM
194432009-11-16 Robert Millan <rmh.grub@aybabtu.com>
19444
19445 Relicense multiboot.h, with RMS' blessing.
19446
19447 * include/multiboot.h: Change to X11 license.
19448
fd6fd3d7
RM
194492009-11-15 Robert Millan <rmh.grub@aybabtu.com>
19450
19451 Support --version in grub-mkisofs.
19452
19453 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
19454 (OPTION_VERSION): New macro.
19455 (ld_options): Recognize --version.
19456 (usage): Move `program_name' from here ...
19457 (program_name): ... to here. Add `static' qualifier.
19458 (main): Recognize `OPTION_VERSION'.
19459
16a88c49
FZ
194602009-11-15 Felix Zielcke <fzielcke@z-51.de>
19461
19462 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
19463 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
19464
a4158476
RM
194652009-11-14 Robert Millan <rmh.grub@aybabtu.com>
19466
19467 Fix help2man generation for mkisofs.
19468
19469 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
19470 (usage): Send output to stdout (rather than stderr).
19471
fc2208b0
RM
194722009-11-14 Robert Millan <rmh.grub@aybabtu.com>
19473
19474 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
19475 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
19476 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
19477 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
19478 (bin_SCRIPTS): Add `grub-mkfloppy'.
19479 (grub_mkfloppy_SOURCES): New variable.
19480
19481 * util/grub-mkrescue.in: New file.
19482 * util/i386/pc/grub-mkfloppy.in: New file.
19483
19484 * util/i386/coreboot/grub-mkrescue.in: Remove.
19485 * util/i386/pc/grub-mkrescue.in: Remove.
19486
8d0edf4a
RM
194872009-11-13 Robert Millan <rmh.grub@aybabtu.com>
19488
19489 * include/grub/multiboot.h (struct grub_multiboot_header): Move
19490 from here ...
19491 * include/multiboot.h (struct multiboot_header): ... to here. Update
19492 all users.
19493 * include/grub/multiboot.h (struct grub_multiboot_info): Move
19494 from here ...
19495 * include/multiboot.h (struct multiboot_info): ... to here. Update
19496 all users.
19497 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
19498 from here ...
19499 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
19500 Update all users.
19501 * include/grub/multiboot.h (struct grub_mod_list): Move
19502 from here ...
19503 * include/multiboot.h (struct multiboot_mod_list): ... to here.
19504 Update all users.
19505
a73f5969
RM
195062009-11-13 Robert Millan <rmh.grub@aybabtu.com>
19507
19508 * include/multiboot2.h (multiboot_word): Rename from this ...
19509 (multiboot2_word): ... to this. Update all users.
19510 (multiboot_header): Rename from this ...
19511 (multiboot2_header): ... to this. Update all users.
19512 (multiboot_tag_header): Rename from this ...
19513 (multiboot2_tag_header): ... to this. Update all users.
19514 (multiboot_tag_start): Rename from this ...
19515 (multiboot2_tag_start): ... to this. Update all users.
19516 (multiboot_tag_name): Rename from this ...
19517 (multiboot2_tag_name): ... to this. Update all users.
19518 (multiboot_tag_module): Rename from this ...
19519 (multiboot2_tag_module): ... to this. Update all users.
19520 (multiboot_tag_memory): Rename from this ...
19521 (multiboot2_tag_memory): ... to this. Update all users.
19522 (multiboot_tag_unused): Rename from this ...
19523 (multiboot2_tag_unused): ... to this. Update all users.
19524 (multiboot_tag_end): Rename from this ...
19525 (multiboot2_tag_end): ... to this. Update all users.
19526
1c8927f0
RM
195272009-11-13 Robert Millan <rmh.grub@aybabtu.com>
19528
19529 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
19530 this platform we should support Multiboot1 first.
19531
19532 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
19533 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
19534 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
19535
6e1e0d89
RM
195362009-11-12 Robert Millan <rmh.grub@aybabtu.com>
19537
19538 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
19539 of write calls (converting them to fwrite() if they aren't already).
19540 (get_torito_desc): Likewise.
19541 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
19542
7f2b34d8
RM
195432009-11-12 Robert Millan <rmh.grub@aybabtu.com>
19544
19545 * util/i386/pc/grub-install.in: Move from here ...
19546 * util/grub-install.in: ... to here. Update all users.
19547
c0ef3311
CW
195482009-11-11 Colin Watson <cjwatson@ubuntu.com>
19549
19550 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
19551
e1f240ff
RM
195522009-11-11 Robert Millan <rmh.grub@aybabtu.com>
19553
19554 Support for El Torito without floppy emulation.
19555
19556 * util/mkisofs/eltorito.c: Include `<errno.h>'.
19557 (init_boot_catalog): Improve error handling.
19558 (get_torito_desc): Don't use floppy emulation unless requested by
19559 user. Patch boot information table when requested via
19560 `-boot-info-table'.
19561 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
19562 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
19563 (use_boot_info_table): New variables.
19564 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
19565 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
19566 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
19567 `--eltorito-emul-floppy'.
19568 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
19569 and `OPTION_ELTORITO_EMUL_FLOPPY'.
19570 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
19571 (use_boot_info_table, get_731): New prototypes.
19572 * util/mkisofs/write.c (get_731): New function.
19573
af7d4de5
FZ
195742009-11-11 Felix Zielcke <fzielcke@z-51.de>
19575
19576 Fix the generation of the man page.
19577
19578 * util/pc/i386/grub-install.in: Source
19579 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
19580
2c55dbc0
RM
195812009-11-11 Robert Millan <rmh.grub@aybabtu.com>
19582
19583 Large file support for grub-mkisofs.
19584
19585 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
19586 * util/mkisofs/mkisofs.c (next_extent, last_extent)
19587 (session_start): Upgrade type to `uint64_t'. Update all users.
19588 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
19589 (struct directory_entry): Upgrade type of `starting_block' and
19590 `size' to `uint64_t'. Update all users.
19591 (struct deferred): Remove unused structure.
19592 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
19593 Update all users.
19594 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
19595 file is larger than `UINT32_MAX'.
19596 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
19597 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
19598 return value.
19599 (struct deferred_write): Upgrade type of `extent' and `size' to
19600 `uint64_t'. Update all users.
19601 (last_extent_written): Upgrade type to `uint64_t'. Update all
19602 users.
19603 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
19604 Update all users. Upgrade type of `remain' to `int64_t' and
19605 `use' to `size_t'. Use error() to handle fread() errors.
19606 (write_files): Rely on write_one_file() rather than calling
19607 xfwrite() directly.
19608
6a9cead5
FZ
196092009-11-09 Felix Zielcke <fzielcke@z-51.de>
19610
19611 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
19612
4825d790
RM
196132009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19614
19615 * util/mkisofs/fnmatch.c: Remove.
19616 * util/mkisofs/getopt1.c: Likewise.
19617 * util/mkisofs/getopt.c: Likewise.
19618 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
19619 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
19620 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
19621 `gnulib/getopt1.c' and `gnulib/getopt.c'.
19622 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
19623
19624 * configure.ac: Detect `mingw32msvc' host_os.
19625 Check for lstat(), getuid() and getgid().
19626
19627 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
19628 instances of `u_char' with `uint8_t'.
19629
19630 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
19631 [!HAVE_GETUID] (getuid): New function (stub).
19632 [!HAVE_GETGID] (getgid): Likewise.
19633 [!HAVE_LSTAT] (lstat): Likewise.
19634 [!S_IROTH] (S_IROTH): New macro (dummy).
19635 [!S_IRGRP] (S_IRGRP): Likewise.
19636
84b860d8
RM
196372009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19638
19639 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
19640 conditional expression).
19641
66e9b712
RM
196422009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19643
19644 Import from Gnulib.
19645
19646 * gnulib/fnmatch.c: New file.
19647 * gnulib/fnmatch.h: Likewise.
19648 * gnulib/fnmatch_loop.c: Likewise.
19649 * gnulib/getopt.c: Likewise.
19650 * gnulib/getopt.h: Likewise.
19651 * gnulib/getopt1.c: Likewise.
19652 * gnulib/getopt_int.h: Likewise.
19653 * gnulib/gettext.h: Likewise.
19654
34f4a5b0
RM
196552009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19656
19657 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
19658 * normal/handler.c (read_handler_list): Likewise.
19659
ac451143
RM
196602009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19661
19662 Misc cleanup.
19663
19664 * kern/command.c (grub_register_command_prio): Use
19665 grub_zalloc() instead of explicitly zeroing data.
19666 * kern/list.c: Include `<grub/mm.h>'.
19667 (grub_named_list_find): Replace `0' with `NULL'.
19668 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
19669 (fs_module_list): Change type to `grub_named_list_t'. Update all
19670 users.
19671 * normal/dyncmd.c (read_command_list): Add space between function
19672 call and parenthesis.
19673 * normal/handler.c (read_handler_list): Likewise.
19674
4089b167
RM
196752009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19676
19677 * normal/auth.c (punishment_delay): Moved from here ...
19678 (grub_auth_strcmp): ... to here (inside function).
19679
325f5037
RM
196802009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19681
19682 * include/grub/list.h (struct grub_named_list): Remove `const'
19683 qualifier from `name'.
19684 (struct grub_prio_list): Likewise.
19685
7aea29a3
RM
196862009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19687
19688 * normal/auth.c: Include `<grub/time.h>'.
19689 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
19690
3fd6f044
RM
196912009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19692
19693 * normal/auth.c (punishment_delay): New variable.
19694 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
19695 (grub_auth_check_authentication): Punish failed login attempts with
19696 an incremental (2^N) delay.
19697
a4cd68e4
RM
196982009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19699
19700 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
19701 path with $(srcdir).
19702
7ad12f43
VS
197032009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
19704
19705 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
19706
c1129f03
RM
197072009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19708
19709 * util/i386/coreboot/grub-mkrescue.in: New file.
19710 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
19711 variables.
19712
19713 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
19714 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
19715 * configure.ac: Add header and function checks to satisfy grub-mkisofs
19716 requirements.
19717 * util/mkisofs/defaults.h: New file.
19718 * util/mkisofs/eltorito.c: Likewise.
19719 * util/mkisofs/exclude.h: Likewise.
19720 * util/mkisofs/fnmatch.c: Likewise.
19721 * util/mkisofs/getopt.c: Likewise.
19722 * util/mkisofs/getopt1.c: Likewise.
19723 * util/mkisofs/hash.c: Likewise.
19724 * util/mkisofs/include/fctldefs.h: Likewise.
19725 * util/mkisofs/include/mconfig.h: Likewise.
19726 * util/mkisofs/include/prototyp.h: Likewise.
19727 * util/mkisofs/include/statdefs.h: Likewise.
19728 * util/mkisofs/iso9660.h: Likewise.
19729 * util/mkisofs/joliet.c: Likewise.
19730 * util/mkisofs/match.c: Likewise.
19731 * util/mkisofs/match.h: Likewise.
19732 * util/mkisofs/mkisofs.c: Likewise.
19733 * util/mkisofs/mkisofs.h: Likewise.
19734 * util/mkisofs/multi.c: Likewise.
19735 * util/mkisofs/name.c: Likewise.
19736 * util/mkisofs/rock.c: Likewise.
19737 * util/mkisofs/tree.c: Likewise.
19738 * util/mkisofs/write.c: Likewise.
19739
ec8bb77d
VS
197402009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
19741
19742 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
19743 being insecure.
19744
3716b12c
RM
197452009-11-08 Robert Millan <rmh.grub@aybabtu.com>
19746
19747 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
19748 `grub-mkimage' (and use $0 when possible).
19749
b97b7b91
RM
197502009-11-08 Robert Millan <rmh.grub@aybabtu.com>
19751
19752 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
19753 error message for excessively large memory map.
19754
04114812
RM
197552009-11-08 Robert Millan <rmh.grub@aybabtu.com>
19756
19757 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
19758 executable bit.
19759
e4eb2373
RM
197602009-11-08 Robert Millan <rmh.grub@aybabtu.com>
19761
19762 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
19763 message for coreboot users.
19764
c926e1d5 197652009-11-07 Robert Millan <rmh.grub@aybabtu.com>
19766
19767 Fix build with GNU gold.
19768
19769 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
19770 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
19771 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
19772 link addresses.
19773 * aclocal.m4: Likewise.
19774
86e5b1db 197752009-11-04 Felix Zielcke <fzielcke@z-51.de>
19776
19777 * configure.ac (AC_PREREQ): Bump to 2.59d.
19778 * INSTALL: Make it more clear when Autoconf and Ruby are
19779 needed and when to run `./autogen.sh'.
19780
246cd78f 197812009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
19782
19783 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
19784 OSes.
19785
4f9dfb37 197862009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
19787
19788 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
19789
b82bd5e1 197902009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
19791
19792 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
19793 giving it to GNU Mach.
19794
ff1a9bca 197952009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
19796
19797 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
19798 GNU partition number to get internal GRUB partition number.
19799
61697d9c 198002009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
19801
19802 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
19803 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
19804
a50569e1 198052009-11-01 Robert Millan <rmh.grub@aybabtu.com>
19806
19807 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
19808 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
19809 case.
19810
5b153867 198112009-11-01 Felix Zielcke <fzielcke@z-51.de>
19812
19813 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
19814
d9e2cd70 198152009-10-30 Robert Millan <rmh.grub@aybabtu.com>
19816
19817 Fix build problem.
19818
19819 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
19820 `-isystem=$(srcdir)/include'.
19821
805111a4 198222009-10-30 Robert Millan <rmh.grub@aybabtu.com>
19823
19824 * util/i386/pc/grub-install.in: Remove hint that device.map should be
19825 checked (grub-install doesn't currently rely on it).
19826
fa6e945f 198272009-10-29 Robert Millan <rmh.grub@aybabtu.com>
19828
19829 Revert SVN r2660.
19830
19831 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
19832 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
19833 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
19834 * conf/i386-ieee1275.rmk: Likewise.
19835 * conf/i386-pc.rmk: Likewise.
19836 * conf/powerpc-ieee1275.rmk: Likewise.
19837 * conf/sparc64-ieee1275.rmk: Likewise.
19838 * conf/x86_64-efi.rmk: Likewise.
19839
cee15086 198402009-10-28 Robert Millan <rmh.grub@aybabtu.com>
19841
19842 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
19843
95b9239e 198442009-10-28 Robert Millan <rmh.grub@aybabtu.com>
19845
19846 * include/grub/misc.h: Stop checking for APPLE_CC.
19847
2ed19dfd 198482009-10-28 Robert Millan <rmh.grub@aybabtu.com>
19849
19850 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
19851 doesn't cause an infinite call loop.
19852
fdcdde19 198532009-10-28 Felix Zielcke <fzielcke@z-51.de>
19854
19855 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
19856 strings.
19857
cefabfe1 198582009-10-26 Robert Millan <rmh.grub@aybabtu.com>
19859
19860 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
19861 variable.
19862 * Makefile.in: Likewise.
19863
ed96ab6d 198642009-10-26 Robert Millan <rmh.grub@aybabtu.com>
19865
19866 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
19867
0579b753 198682009-10-26 Robert Millan <rmh.grub@aybabtu.com>
19869
19870 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
19871
478df409 198722009-10-26 Robert Millan <rmh.grub@aybabtu.com>
19873
19874 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
19875
083d1679 198762009-10-26 Robert Millan <rmh.grub@aybabtu.com>
19877
19878 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
19879 from here ...
19880 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
19881
5947ae32 198822009-10-26 Robert Millan <rmh.grub@aybabtu.com>
19883
19884 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
19885 in $(MAKEINFO) invocation. This makes it clear in output that
19886 errors are being ignored.
19887
94180ff6 198882009-10-26 Robert Millan <rmh.grub@aybabtu.com>
19889
19890 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
19891 from here ...
19892 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
19893 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
19894 * conf/i386-ieee1275.rmk: Likewise.
19895 * conf/i386-pc.rmk: Likewise.
19896 * conf/powerpc-ieee1275.rmk: Likewise.
19897 * conf/sparc64-ieee1275.rmk: Likewise.
19898 * conf/x86_64-efi.rmk: Likewise.
19899
9031b03a 199002009-10-26 Colin Watson <cjwatson@ubuntu.com>
19901
19902 * util/grub-editenv.c (main): If only a command is given, use
19903 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
19904 (usage): FILENAME is now optional and has a default.
19905
e4f6809b 199062009-10-26 Colin Watson <cjwatson@ubuntu.com>
19907
19908 Improve grub-mkconfig performance when there are several menu
19909 entries on a single filesystem.
19910
19911 * util/grub.d/10_linux.in (linux_entry): Cache the output of
19912 prepare_grub_to_access_device.
19913 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
19914 * util/grub.d/30_os-prober.in: Likewise.
19915
67937d4d 199162009-10-26 Robert Millan <rmh.grub@aybabtu.com>
19917
19918 * util/grub.d/10_freebsd.in: Remove.
19919 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
19920 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
19921
ee3756cc 199222009-10-26 Robert Millan <rmh.grub@aybabtu.com>
19923
5c35048e 19924 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 19925
4dea1c6f 199262009-10-25 Robert Millan <rmh.grub@aybabtu.com>
19927
19928 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
19929 grub_util_error() call.
19930
042484d7 199312009-10-25 Robert Millan <rmh.grub@aybabtu.com>
19932
19933 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
19934 `reserved_first_sector' member.
19935 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
19936 `reserved_first_sector' to 1.
19937 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
19938 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
19939 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
19940 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
19941 filesystems which begin at first sector.
19942 (options): New option --skip-fs-probe.
19943 (main): Handle --skip-fs-probe and pass it to setup().
19944
d64448a7 199452009-10-25 Robert Millan <rmh.grub@aybabtu.com>
19946
19947 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
19948 (memset): Fix function prototype.
19949
508d42ec 199502009-10-25 Robert Millan <rmh.grub@aybabtu.com>
199512009-10-25 Vasily Averin <vvs@parallels.com>
19952
19953 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
19954 `dirent.direntlen == 0'.
19955
b240e30c 199562009-10-25 Robert Millan <rmh.grub@aybabtu.com>
19957
19958 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
19959 `cpio'.
19960 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
19961
346e7fbe 199622009-10-25 Robert Millan <rmh.grub@aybabtu.com>
19963
19964 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
19965 `__trampoline_setup' and `__ucmpdi2'.
19966 * include/grub/powerpc/libgcc.h: Only export symbols for functions
19967 that libgcc provides.
19968
cdb308b0 199692009-10-25 Robert Millan <rmh.grub@aybabtu.com>
19970
19971 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
19972 * include/grub/sparc64/libgcc.h (memset): Likewise.
19973 * include/grub/misc.h (memset, memcmp): New function prototypes.
19974
fb26abc2 199752009-10-25 Robert Millan <rmh.grub@aybabtu.com>
19976
19977 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
19978 `cpio'.
19979 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
19980
f6693890 199812009-10-25 Robert Millan <rmh.grub@aybabtu.com>
19982
19983 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
19984 * docs/grub.cfg: Compensate for recent change in multiboot
19985 loader (since 2009-08-14 it won't pass filename to payload).
19986 * util/grub.d/10_hurd.in: Likewise.
19987
0933cdc0 199882009-10-21 Felix Zielcke <fzielcke@z-51.de>
19989
19990 * config.guess: Update to latest version from config git
19991 repository.
19992 * config.sub: Likewise.
19993
3b2fe8c2 199942009-10-20 Robert Millan <rmh.grub@aybabtu.com>
19995
19996 Fix build on sparc64.
19997
19998 * configure.ac: Perform checks for libgcc symbols before
19999 adding `-nostdlib' to LDFLAGS.
20000
46695a62 200012009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20002
20003 Let user specify OpenBSD root device.
20004
20005 * loader/i386/bsd.c (openbsd_root): New variable.
20006 (openbsd_opts): New option 'root'.
20007 (OPENBSD_ROOT_ARG): New macro.
20008 (grub_openbsd_boot): Use 'openbsd_root'.
20009 (grub_cmd_openbsd): Fill 'openbsd_root'.
20010
d2b6b7fc 200112009-10-16 Robert Millan <rmh.grub@aybabtu.com>
20012
20013 * NEWS: Misc adjustments.
20014
421bd7ac 200152009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20016
20017 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
20018
f1d29d87 200192009-10-16 Robert Millan <rmh.grub@aybabtu.com>
20020
20021 * configure.ac: Bump version to 1.97.
20022
6f3cd880 200232009-10-16 Colin Watson <cjwatson@ubuntu.com>
20024
20025 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
20026 -mno-3dnow on x86 architectures. Some toolchains enable these
20027 features by default, but they rely on registers that aren't enabled
20028 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
20029
035f7122 200302009-10-15 Robert Millan <rmh.grub@aybabtu.com>
20031
20032 Make entry text a bit more readable.
20033
20034 * util/grub.d/10_linux.in: Add `with' before `Linux'.
20035
44998e58 200362009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20037
20038 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
20039
cd2851b3 200402009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20041
20042 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
20043 operations.
20044
c6f3b249 200452009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20046
20047 * configure.ac: Add missing dollar.
20048
6b5886ba 200492009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20050
20051 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
20052
20053 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
20054 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
20055 exports.
20056 * include/grub/sparc64/libgcc.h: Likewise. Use
20057 preprocessor conditionals.
20058
e9d66f6d 200592009-10-14 Robert Millan <rmh.grub@aybabtu.com>
20060
20061 * conf/common.rmk (grub-dumpbios): Remove rule.
20062 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
20063 * util/grub-dumpbios.in: Remove file.
20064
9155bc17 200652009-10-14 Robert Millan <rmh.grub@aybabtu.com>
20066
20067 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
20068 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
20069
20070 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
20071 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
20072 users.
20073
20074 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
20075 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
20076 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
20077 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
20078 users.
20079
bf7f7a18 200802009-10-12 Robert Millan <rmh.grub@aybabtu.com>
20081
20082 * term/tparm.c: Switch to GPLv3.
20083
86564c26 200842009-10-09 Robert Millan <rmh.grub@aybabtu.com>
20085
20086 * include/grub/i386/cpuid.h: Add header protection.
20087
5c936493 200882009-10-09 Robert Millan <rmh.grub@aybabtu.com>
20089
20090 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
20091
20092 * include/grub/i386/cpuid.h: New file.
20093 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
20094 (has_longmode): Rename to ...
20095 (grub_cpuid_has_longmode): ... this. Update all users. Remove
20096 `static' attribute.
20097 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
20098 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
20099 on a CPU that doesn't implement AMD64 instruction set.
20100
186e7cf2 201012009-10-06 Colin Watson <cjwatson@ubuntu.com>
20102
20103 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
20104 that version.texi is rebuilt on version number changes.
20105
83b65c4a 201062009-10-06 Colin Watson <cjwatson@ubuntu.com>
20107
20108 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
20109 Fixes bug #27602.
20110
d244281c 201112009-10-06 Colin Watson <cjwatson@ubuntu.com>
20112
20113 * util/i386/pc/grub-install.in: Source
20114 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
20115 that the --grub-probe option will work.
20116 * util/sparc64/ieee1275/grub-install.in: Likewise.
20117
da25306d 201182009-10-05 Robert Millan <rmh.grub@aybabtu.com>
20119
20120 * configure.ac: Bump version to 1.97~beta4.
20121
e8ee83c0 201222009-10-03 Robert Millan <rmh.grub@aybabtu.com>
20123
20124 Resync grub-mkdevicemap in x86_64-efi.
20125
20126 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
20127 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
20128 `util/devicemap.c'.
20129
50dcabcf 201302009-10-01 Colin Watson <cjwatson@ubuntu.com>
20131
20132 * util/grub-editenv.c (create_envblk_file): Write new block with a
20133 .new suffix and then rename it into place, to ensure atomic
20134 creation.
20135
0e51c3a7 201362009-09-28 Robert Millan <rmh.grub@aybabtu.com>
20137
20138 Do not automatically install headers.
20139
20140 * Makefile.in (include_DATA): Remove. Update all users.
20141
31299a95 201422009-09-26 Robert Millan <rmh.grub@aybabtu.com>
20143
20144 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
20145 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
20146
20147 * util/osdetect.lua: Remove.
20148 * script/lua/lauxlib.c: Likewise.
20149 * script/lua/ldebug.c: Likewise.
20150 * script/lua/grub_main.c: Likewise.
20151 * script/lua/lauxlib.h: Likewise.
20152 * script/lua/ldebug.h: Likewise.
20153 * script/lua/ltablib.c: Likewise.
20154 * script/lua/liolib.c: Likewise.
20155 * script/lua/lstrlib.c: Likewise.
20156 * script/lua/lualib.h: Likewise.
20157 * script/lua/ldo.c: Likewise.
20158 * script/lua/ldump.c: Likewise.
20159 * script/lua/ldo.h: Likewise.
20160 * script/lua/loslib.c: Likewise.
20161 * script/lua/lundump.c: Likewise.
20162 * script/lua/grub_lib.c: Likewise.
20163 * script/lua/ldblib.c: Likewise.
20164 * script/lua/lundump.h: Likewise.
20165 * script/lua/lmem.c: Likewise.
20166 * script/lua/grub_lib.h: Likewise.
20167 * script/lua/lmathlib.c: Likewise.
20168 * script/lua/lstate.c: Likewise.
20169 * script/lua/ltm.c: Likewise.
20170 * script/lua/lvm.c: Likewise.
20171 * script/lua/lmem.h: Likewise.
20172 * script/lua/lstate.h: Likewise.
20173 * script/lua/ltm.h: Likewise.
20174 * script/lua/ltable.c: Likewise.
20175 * script/lua/lvm.h: Likewise.
20176 * script/lua/llex.c: Likewise.
20177 * script/lua/lgc.c: Likewise.
20178 * script/lua/grub_lua.h: Likewise.
20179 * script/lua/loadlib.c: Likewise.
20180 * script/lua/lfunc.c: Likewise.
20181 * script/lua/lopcodes.c: Likewise.
20182 * script/lua/lparser.c: Likewise.
20183 * script/lua/ltable.h: Likewise.
20184 * script/lua/llex.h: Likewise.
20185 * script/lua/lgc.h: Likewise.
20186 * script/lua/lfunc.h: Likewise.
20187 * script/lua/lbaselib.c: Likewise.
20188 * script/lua/lopcodes.h: Likewise.
20189 * script/lua/lparser.h: Likewise.
20190 * script/lua/lzio.c: Likewise.
20191 * script/lua/linit.c: Likewise.
20192 * script/lua/lobject.c: Likewise.
20193 * script/lua/llimits.h: Likewise.
20194 * script/lua/lstring.c: Likewise.
20195 * script/lua/lzio.h: Likewise.
20196 * script/lua/lapi.c: Likewise.
20197 * script/lua/lcode.c: Likewise.
20198 * script/lua/lua.h: Likewise.
20199 * script/lua/lobject.h: Likewise.
20200 * script/lua/lstring.h: Likewise.
20201 * script/lua/lapi.h: Likewise.
20202 * script/lua/lcode.h: Likewise.
20203 * script/lua/luaconf.h: Likewise.
20204
cb8a2c38 202052009-09-26 Colin Watson <cjwatson@ubuntu.com>
20206
20207 * docs/grub.texi (Command-line and menu entry commands): Document
20208 date and echo commands.
20209
6b9b6276 202102009-09-24 Pavel Roskin <proski@gnu.org>
20211
20212 * include/grub/kernel.h (struct grub_module_header): Remove
20213 `grub_module_header_types'. Make `type' unsigned. Make `size'
20214 32-bit on all platforms.
20215 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
20216 8-bit field. Use grub_host_to_target32() for `size'.
20217 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
20218 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
20219 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
20220
4e5a02a7 202212009-09-24 Robert Millan <rmh.grub@aybabtu.com>
20222
20223 Fix "lost keypress" bug in at_keyboard.
20224
20225 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
20226 Checks for readyness of input buffer (without flushing it).
20227 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
20228 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
20229
c6dcedf6 202302009-09-24 Robert Millan <rmh.grub@aybabtu.com>
20231
20232 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
20233 size check within GRUB_MACHINE_PCBIOS section.
20234
74c958b1 202352009-09-24 Robert Millan <rmh.grub@aybabtu.com>
20236
20237 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
20238 return value.
20239 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
20240 KEYBOARD_ISREADY check.
20241 (grub_at_keyboard_checkkey): Rename to ...
20242 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
20243 Remove gratuitous cast.
20244
ff420223 202452009-09-23 Colin Watson <cjwatson@ubuntu.com>
20246
20247 * configure.ac: Call AC_PROG_MKDIR_P.
20248 * Makefile.in (docs/stamp-vti): Create docs directory. Create
20249 version.texi in $(builddir) rather than $(srcdir).
20250 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
20251 to makeinfo's @include search path.
20252
d96875df 202532009-09-23 Felix Zielcke <fzielcke@z-51.de>
20254
20255 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
20256
9b3f8365 202572009-09-23 Felix Zielcke <fzielcke@z-51.de>
20258
20259 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
20260 for `*.dpkg-new'.
20261
c44c90db 202622009-09-21 Colin Watson <cjwatson@ubuntu.com>
20263
20264 Build info documentation. Some code borrowed from Automake.
20265
20266 * configure.ac: Check for makeinfo.
20267 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
20268 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
20269 docs/version.texi.
20270 (MOSTLYCLEANFILES): Add vti.tmp.
20271 (docs/version.texi, docs/stamp-vti): Update automatically.
20272 (docs/grub.info): Build info documentation. Use --force and ignore
20273 errors for now.
20274 (all-local): Add $(INFOS).
20275 (install-local): Install info files.
20276 (uninstall): Uninstall info files.
20277 * docs/version.texi: Remove from revision control. This file is
20278 automatically generated on build now.
20279 * gendistlist.sh: Add `*.info'.
20280
e0b37bb5 202812009-09-21 Felix Zielcke <fzielcke@z-51.de>
20282
20283 * kern/term.c: Fix indentation.
20284
5a78865b 202852009-09-21 Felix Zielcke <fzielcke@z-51.de>
20286
20287 * util/hostdisk.c: Fix a comment.
20288
dace7e8a 202892009-09-20 Robert Millan <rmh.grub@aybabtu.com>
20290
20291 Fix regression introduced in r2539.
20292
20293 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
20294 to 0xA1.
20295
a83d079b 202962009-09-19 Colin Watson <cjwatson@ubuntu.com>
20297
20298 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 20299 os-prober. Under normal operation, it does not print anything to
20300 stderr; if it does, we need to debug it, and throwing away stderr
20301 makes that excessively difficult.
a83d079b 20302
be94a509 203032009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
20304
20305 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
20306
63f745e8 203072009-09-16 Robert Millan <rmh.grub@aybabtu.com>
20308
20309 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
20310 AC_LANG_PROGRAM from autoconf.
20311 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
20312 prototypes (fixes warning).
20313
20314 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
20315 `--disable-werror' was used.
20316
bbb2a70f 203172009-09-16 Robert Millan <rmh.grub@aybabtu.com>
20318
20319 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
20320 uninitialized `lastaddr'.
20321
77c24f1d 203222009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
20323
0f0b8c87 20324 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 20325
07197f23 203262009-09-14 Colin Watson <cjwatson@ubuntu.com>
20327
20328 * commands/test.c (get_fileinfo): Return immediately if
20329 grub_fs_probe fails.
20330
dabf1798 203312009-09-14 José Martínez <xosemp@gmail.com>
20332
20333 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
20334
d52109a7 203352009-09-14 Colin Watson <cjwatson@ubuntu.com>
20336
20337 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
20338 output.
20339
56532179 203402009-09-13 Robert Millan <rmh.grub@aybabtu.com>
20341
20342 * configure.ac: Remove --enable-grub-pe2elf. Only build
20343 grub-pe2elf when needed by the build system itself.
20344 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
20345
8ef070f5 203462009-09-12 Robert Millan <rmh.grub@aybabtu.com>
20347
20348 * configure.ac: Bump version to 1.97~beta3.
20349 * docs/version.texi: Likewise.
20350
61229557 203512009-09-12 Robert Millan <rmh.grub@aybabtu.com>
20352
20353 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
20354 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
20355 from here ...
20356 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
20357 (grub_linux_setup_video): ... to here (with some adjustments).
20358
5c9f8d84 203592009-09-12 Robert Millan <rmh.grub@aybabtu.com>
20360
20361 Fix memory corruption issue (spotted by Colin Watson).
20362
20363 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
20364 causing returned size to be stored in an incorrect memory location.
20365 Fix use of uninitialized value when storing the returned size.
20366
e8f5d6e9 203672009-09-12 Yves Blusseau <blusseau@zetam.org>
20368
20369 Change clean rules to properly remove files
20370
20371 * genmk.rb: add new clean rules
20372 * Makefile.in (clean): add the new targets
20373 (mostlyclean): likewise
20374
cda2a409 203752009-09-11 Colin Watson <cjwatson@ubuntu.com>
20376
20377 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
20378 to grub_uint64_t.
20379 * fs/ntfs.c (init_file): Understand 64-bit sizes for
20380 non-resident files.
20381
86695375 203822009-09-11 Colin Watson <cjwatson@ubuntu.com>
20383
20384 * configure.ac: Don't look for help2man when cross-compiling. Fixes
20385 part of bug #27349.
20386
8aa1541a 203872009-09-10 Felix Zielcke <fzielcke@z-51.de>
20388
20389 * util/grub-mkconfig.in: Make the created config mode 400 and
20390 print a warning if it fails.
20391
48d9bb0a 203922009-09-10 Robert Millan <rmh.grub@aybabtu.com>
20393
20394 * util/grub.d/40_custom.in: Ask user to type custom entries below
20395 comment, rather than below 'exec tail' line.
20396
3b0521be 203972009-09-10 Colin Watson <cjwatson@ubuntu.com>
20398
20399 * util/grub.d/40_custom.in: Make sure that the explanatory text is
20400 visible in grub.cfg.
20401
50051d55 204022009-09-10 Colin Watson <cjwatson@ubuntu.com>
20403
20404 * util/grub.d/40_custom.in: Make it a little clearer how to use this
20405 file.
20406
c0d34387 204072009-09-10 Felix Zielcke <fzielcke@z-51.de>
20408
20409 * docs/grub.cfg: Add an example menu entry for memtest86+.
20410
80a608f3 204112009-09-09 Felix Zielcke <fzielcke@z-51.de>
20412
a2094832 20413 * config.guess: Update to latest version from config git.
80a608f3 20414 * config.sub: Likewise.
20415
99423078 204162009-09-08 Colin Watson <cjwatson@ubuntu.com>
20417
20418 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
20419 unknown-command case. Fixes bug #27320.
20420
44454e4c 204212009-09-08 Felix Zielcke <fzielcke@z-51.de>
20422
20423 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
20424 `help' if the command exists.
20425
e30d87ad 204262009-09-06 Robert Millan <rmh.grub@aybabtu.com>
20427
20428 * INSTALL: Require GCC 4.1.3 or later.
20429
9a86f1ec 204302009-09-06 Yves Blusseau <blusseau@zetam.org>
20431
20432 * Makefile.in (RMKFILES): add i386-qemu.rmk
20433 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
20434 $(srcdir)/stamp-h.in
20435
7f26d466 204362009-09-05 Robert Millan <rmh.grub@aybabtu.com>
20437
20438 * util/grub-probe.c (probe): Comment out buggy codepath, which
20439 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
20440 should be re-enabled after 1.97.
20441
3a613259 204422009-09-05 Felix Zielcke <fzielcke@z-51.de>
20443
20444 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
20445 find searches for.
20446
197f76c7 204472009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
20448
20449 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
20450 unnecessary calls to grub_error.
20451
70ba68ce 204522009-09-04 Colin Watson <cjwatson@ubuntu.com>
20453
20454 * NEWS: Mention `keystatus' and Unicode fonts.
20455
4ff0d7a4 204562009-09-04 Robert Millan <rmh.grub@aybabtu.com>
20457
20458 * configure.ac: Bump version to 1.97~beta2.
20459 * docs/version.texi: Likewise.
20460
77c55a87 204612009-09-03 Colin Watson <cjwatson@ubuntu.com>
20462
20463 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
20464 containing unwind information in some cases where it previously did
20465 not. Use -fno-dwarf2-cfi-asm if available to restore the old
20466 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
20467 discussion.
20468
f79572cd 204692009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
20470
20471 Embedding loadenv module into grub-emu
20472
20473 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
20474 commands/loadenv.c
20475 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
20476 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
20477 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
20478 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
20479 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
20480 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
20481
93a81088 204822009-09-03 Magnus Granberg <zorry@ume.nu>
20483
20484 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
20485 include -fPIE in the default specs.
20486 * configure.ac: Check if pie_possible is yes and add -fno-PIE
20487 to TARGET_CFLAGS.
20488
160034b2 204892009-09-03 Felix Zielcke <fzielcke@z-51.de>
20490
20491 * INSTALL: Note that GNU Bison 2.3 or later is required.
20492
087c07c4 204932009-09-03 Colin Watson <cjwatson@ubuntu.com>
20494
20495 * kern/i386/pc/startup.S: Fix typo.
20496
cbf978c0 204972009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20498
20499 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
20500 according to GCS.
20501
205022009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 20503
20504 * docs/grub.texi (Naming convention): Describe one-based partition
20505 numbering.
20506 (Device syntax): Likewise.
20507 (File name syntax): Likewise.
20508 (Block list syntax): Likewise.
20509 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
20510 menu.lst.
20511 (File name syntax): Likewise.
20512 (Command-line and menu entry commands): Document acpi, blocklist,
20513 crc, export, insmod, keystatus, ls, set, and unset commands.
20514
f3e8cdfd 205152009-09-02 Colin Watson <cjwatson@ubuntu.com>
20516
20517 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
20518 to avoid implying that only one of --shift, --ctrl, or --alt may be
20519 used.
20520
c0bc232b 205212009-09-02 Colin Watson <cjwatson@ubuntu.com>
20522
20523 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
20524 rather than comparing against S_IFREG, which will almost never work.
20525
aa0f752d 205262009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
20527
20528 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
20529 (write_blocklists): Likewise.
20530
ecb3166a 205312009-09-01 Colin Watson <cjwatson@ubuntu.com>
20532
20533 * script/lua/grub_lua.h (fputs): Supply a format string as the first
20534 argument to grub_printf.
20535
c403a125 205362009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 20537
20538 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 20539 non GNU test.
31aba781 20540
b5e7312c 205412009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20542
20543 * kern/file.c (grub_file_read): Spelling fix
20544
fe00f472 205452009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20546
20547 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
20548 loading of headers in some cases.
20549
cc55302e 205502009-08-30 Robert Millan <rmh.grub@aybabtu.com>
20551
20552 * configure.ac: Bump version to 1.97~beta1.
20553 * docs/version.texi: Likewise.
20554
5c90cdd2 205552009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 20556
20557 * include/grub/i386/xnu.h: Add license header.
20558 include grub/err.h explicitly.
20559
c90edae4 205602009-08-29 Robert Millan <rmh.grub@aybabtu.com>
20561
20562 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
20563 to `ufs' in the vfs.root.mountfrom kernel parameter.
20564
d8888b5c 205652009-08-29 Robert Millan <rmh.grub@aybabtu.com>
20566
20567 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
20568
20569 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
20570 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
20571
20572 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
20573 `ARRAY_SIZE' macro.
20574
6f07b921 205752009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20576
20577 * kern/file.c (grub_file_read): Check offset.
20578 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
20579 * fs/jfs.c (grub_jfs_read_file): Likewise.
20580 * fs/ntfs.c (grub_ntfs_read): Likewise.
20581 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
20582 * fs/minix.c (grub_minix_read_file): Correct offset check.
20583 * fs/ufs.c (grub_ufs_read_file): Likewise.
20584
b4f34077 205852009-08-28 Colin Watson <cjwatson@ubuntu.com>
20586
20587 * term/i386/pc/console.c (bios_data_area): Cast
20588 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
20589
e7c69859 205902009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20591
20592 1-bit optimised blitters.
20593
20594 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
20595 prototype.
20596 (grub_video_fbblit_replace_24bit_1bit): Likewise.
20597 (grub_video_fbblit_replace_16bit_1bit): Likewise.
20598 (grub_video_fbblit_replace_8bit_1bit): Likewise.
20599 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
20600 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
20601 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
20602 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
20603 function.
20604 (grub_video_fbblit_replace_24bit_1bit): Likewise.
20605 (grub_video_fbblit_replace_16bit_1bit): Likewise.
20606 (grub_video_fbblit_replace_8bit_1bit): Likewise.
20607 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
20608 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
20609 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
20610 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
20611 when possible.
20612 * video/video.c (grub_video_get_blit_format): Return
20613 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
20614
a57da43f 206152009-08-28 Colin Watson <cjwatson@ubuntu.com>
20616
20617 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
20618 the first argument to grub_printf.
20619
4cbe67e5 206202009-08-28 Colin Watson <cjwatson@ubuntu.com>
206212009-08-28 Robert Millan <rmh.grub@aybabtu.com>
20622
20623 Add `getkeystatus' terminal method. Add a new `keystatus' command
20624 to query it.
20625
20626 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
20627 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
20628 modifier key bitmasks.
20629 (struct grub_term_input): Add `getkeystatus' member.
20630 (grub_getkeystatus): Add prototype.
20631 * kern/term.c (grub_getkeystatus): New function.
20632
20633 * include/grub/i386/pc/memory.h
20634 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
20635 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
20636 Data Area layout.
20637 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
20638 (grub_console_term_input): Set `getkeystatus' member.
20639 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
20640 constants.
20641 (grub_usb_keyboard_getreport): Likewise.
20642 (grub_usb_keyboard_checkkey): Likewise.
20643 (grub_usb_keyboard_getkeystatus): New function.
20644 (grub_usb_keyboard_term): Set `getkeystatus' member.
20645
20646 * commands/keystatus.c: New file.
20647 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
20648 (keystatus_mod_SOURCES): New variable.
20649 (keystatus_mod_CFLAGS): Likewise.
20650 (keystatus_mod_LDFLAGS): Likewise.
20651 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
20652 commands/keystatus.c.
20653 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20654 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20655 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
20656 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20657 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20658 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 20659
6e2a9085 206602009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20661
20662 Split befs.mod and afs.mod into *_be.mod and *.mod
20663
20664 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
20665 (grub_fstest_SOURCES): Likewise.
20666 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
20667 (afs_be_mod_SOURCES): New variable.
20668 (afs_be_mod_CFLAGS): Likewise.
20669 (afs_be_mod_LDFLAGS): Likewise.
20670 (befs_be_mod_SOURCES): Likewise.
20671 (befs_be_mod_CFLAGS): Likewise.
20672 (befs_be_mod_LDFLAGS): Likewise.
20673 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
20674 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20675 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20676 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
20677 (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.
20681 * fs/afs_be.c: New file.
20682 * fs/befs_be.c: New file.
20683 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
20684 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
20685 (U16): Replaced with ...
20686 (grub_afs_to_cpu16): ...this. All users updated.
20687 (U32): Replaced with ...
20688 (grub_afs_to_cpu32): ...this. All users updated.
20689 (U64): Replaced with ...
20690 (grub_afs_to_cpu64): ...this. All users updated.
20691 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
20692 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 20693 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 20694 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
20695 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
20696 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
20697 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
20698 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
20699 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
20700 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
20701 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
20702
32a71655 207032009-08-26 Bean <bean123ch@gmail.com>
20704
20705 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
20706 64-bit number.
20707 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
20708 (grub_xfs_inode_block): Change return type to grub_uint64_t.
20709 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
20710
552bf6c5 207112009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
20712
20713 NetBSD memory map support.
20714
20715 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
20716 (grub_netbsd_btinfo_mmap_header): New structure.
20717 (grub_netbsd_btinfo_mmap_entry): Likewise.
20718 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
20719
1ae2078c 207202009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
20721
20722 Enable bsd.mod on coreboot.
20723
20724 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
20725 (bsd_mod_SOURCES): New variable.
20726 (bsd_mod_CFLAGS): Likewise.
20727 (bsd_mod_LDFLAGS): Likewise.
20728 (bsd_mod_ASFLAGS): Likewise.
20729 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
20730 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
20731
beefc598 207322009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
20733
20734 Cleanup NetBSD root support.
20735
20736 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
20737 grub_bsd_get_device.
20738 Fix typo.
20739
3b76e68b 207402009-08-25 Felix Zielcke <fzielcke@z-51.de>
20741
20742 * util/grub.d/00_header.in: Move check for the video backend of
20743 gfxterm from here ...
20744 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
20745 a suitable video backend.
20746
aea664ea 207472009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
20748
20749 Fix breakage in grub-setup.
20750
20751 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
20752 "msdos_partition_map".
20753
ff747d50 207542009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
20755
20756 Fix breakage in normal/auth.c.
20757
20758 * normal/auth.c (grub_iswordseparator): New function.
20759
e7e1f93f 207602009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
20761
20762 Authentication support.
20763
20764 * commands/password.c: New file.
20765 * conf/common.rmk (pkglib_MODULES): Add password.mod.
20766 (password_mod_SOURCES): New variable.
20767 (password_mod_CFLAGS): Likewise.
20768 (password_mod_LDFLAGS): Likewise.
20769 (normal_mod_SOURCES): Add normal/auth.c.
20770 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
20771 normal/auth.c.
20772 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20773 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20774 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
20775 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20776 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20777 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20778 * include/grub/auth.h: New file.
20779 * include/grub/err.h (grub_err_t): New enum value
20780 GRUB_ERR_ACCESS_DENIED.
20781 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
20782 'users'.
20783 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
20784 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
20785 users updated.
20786 * normal/auth.c: New file.
20787 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
20788 (grub_cmdline_run): Don't allow to go to command line without
20789 authentication.
20790 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
20791 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
20792 menuentry without superuser rights.
20793 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
20794 user isn't a superuser.
20795
70f1161d 207962009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
20797
20798 Save space by inlining misc.c functions.
20799
20800 * kern/misc.c (grub_iswordseparator): Made static.
20801 * kern/misc.c (grub_strcat): Moved from here ...
20802 * include/grub/misc.h (grub_strcat): ... here. Inlined.
20803 * kern/misc.c (grub_strncat): Moved from here ...
20804 * include/grub/misc.h (grub_strncat): ... here. Inlined.
20805 * kern/misc.c (grub_strcasecmp): Moved from here ...
20806 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
20807 * kern/misc.c (grub_strncasecmp): Moved from here ...
20808 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
20809 * kern/misc.c (grub_isalpha): Moved from here ...
20810 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
20811 * kern/misc.c (grub_isdigit): Moved from here ...
20812 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
20813 * kern/misc.c (grub_isgraph): Moved from here ...
20814 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
20815 * kern/misc.c (grub_tolower): Moved from here ...
20816 * include/grub/misc.h (grub_tolower): ... here. Inlined.
20817
48e40bff 208182009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
20819
20820 * script/sh/function.c (grub_script_function_find): Cut error message
20821 not to flood terminal.
20822 * script/sh/lexer.c (grub_script_yylex): Remove command line length
20823 limit.
20824 * script/sh/script.c (grub_script_arg_add): Duplicate string.
20825
c385bfc3 208262009-08-24 Colin Watson <cjwatson@ubuntu.com>
20827
20828 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
20829 `report' grub_uint8_t *.
20830 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
20831 Use a 50-millisecond timeout rather than just repeating
20832 grub_usb_keyboard_getreport 50 times.
20833 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
20834
2d21e3e8 208352009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
20836
20837 Rename *_partition_map to part_*
20838
20839 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
20840 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
20841 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
20842 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
20843 All users updated.
20844 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
20845 All users updated.
20846 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
20847 * util/grub-probe.c (probe_partmap): Don't transform partition name
20848 to get module name.
20849
dd103c4e 208502009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
20851
20852 Fix OpenBSD and NetBSD support.
20853
20854 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
20855 memory address conflict.
20856 (OPENBSD_MMAP_ACPI): New definition.
20857 (OPENBSD_MMAP_NVS): Likewise.
20858 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
20859 and OPENBSD_MMAP_NVS.
20860 Add memory map terminator
20861 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 20862 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 20863
16c84d74 208642009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
20865
20866 Let user specify NetBSD root device.
20867
20868 * loader/i386/bsd.c (netbsd_root): New variable.
20869 (netbsd_opts): New option 'root'.
20870 (NETBSD_ROOT_ARG): New macro.
20871 (grub_netbsd_boot): Use 'netbsd_root'.
20872 (grub_bsd_unload): Free 'netbsd_root'.
20873 (grub_cmd_netbsd): Fill 'netbsd_root'.
20874
adb29902 208752009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
20876
20877 Support for 64-bit NetBSD.
20878
20879 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
20880 point when booting non-FreeBSD.
20881
f5ae9f74 208822009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
20883
20884 Support --no-smp and --no-acpi for NetBSD.
20885
20886 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
20887 (NETBSD_AB_NOACPI): Likewise.
20888 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
20889 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
20890
de74f136 208912009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
20892
20893 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
20894 errors.
20895 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
20896 errors. Call grub_error when needed.
20897
e9a925da 208982009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
20899
20900 * commands/search.c (search_fs): Try searching without autoload first.
20901 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
20902 filesystem module explicitly for faster booting.
20903
5174302b 209042009-08-23 Colin Watson <cjwatson@ubuntu.com>
20905
20906 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
20907
c8c80635 209082009-08-23 Colin Watson <cjwatson@ubuntu.com>
20909
20910 * util/grub.d/30_os-prober.in: Disable os-prober if
20911 `GRUB_DISABLE_OS_PROBER' was set to true.
20912
71acf5e5 209132009-08-23 Robert Millan <rmh.grub@aybabtu.com>
20914
20915 * partmap/pc.c: Rename to ...
20916 * partmap/msdos.c: ... this. Update all users.
20917 (grub_pc_partition_map): Rename to ...
20918 (grub_msdos_partition_map): ... this. Update all users.
20919
20920 * parttool/pcpart.c: Rename to ...
20921 * parttool/msdospart.c: ... this. Update all users.
20922
20923 * include/grub/pc_partition.h: Rename to ...
20924 * include/grub/msdos_partition.h: ... this. Update all users.
20925 (grub_pc_partition_bsd_entry): Rename to ...
20926 (grub_msdos_partition_bsd_entry): ... this. Update all users.
20927 (grub_pc_partition_disk_label): Rename to ...
20928 (grub_msdos_partition_disk_label): ... this. Update all users.
20929 (grub_pc_partition_entry): Rename to ...
20930 (grub_msdos_partition_entry): ... this. Update all users.
20931 (grub_pc_partition_mbr): Rename to ...
20932 (grub_msdos_partition_mbr): ... this. Update all users.
20933 (grub_pc_partition): Rename to ...
20934 (grub_msdos_partition): ... this. Update all users.
20935 (grub_pc_partition_is_empty): Rename to ...
20936 (grub_msdos_partition_is_empty): ... this. Update all users.
20937 (grub_pc_partition_is_extended): Rename to ...
20938 (grub_msdos_partition_is_extended): ... this. Update all users.
20939 (grub_pc_partition_is_bsd): Rename to ...
20940 (grub_msdos_partition_is_bsd): ... this. Update all users.
20941
20942 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
20943 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
20944 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
20945 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
20946 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
20947 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
20948 (gpt_mod_LDFLAGS): Rename to ...
20949 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
20950 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
20951 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
20952 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
20953 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
20954 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
20955 (part_gpt_mod_LDFLAGS): ... this.
20956 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
20957 `pcpart.mod' to `msdospart.mod'.
20958 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
20959 to ...
20960 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
20961 (msdospart_mod_LDFLAGS): ... this.
20962
c11fded5 209632009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
20964
20965 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
20966 (openbsd_opts): Likewise.
20967 (netbsd_opts): Likewise.
20968 (freebsd_flags): Added 0 terminator.
20969 (openbsd_flags): Likewise.
20970 (netbsd_flags): Likewise.
20971 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
20972 (grub_cmd_freebsd): Transformed into extended command.
20973 (grub_cmd_openbsd): Likewise.
20974 (grub_cmd_netbsd): Likewise.
20975 (cmd_freebsd): Changed type to grub_extcmd_t.
20976 (cmd_openbsd): Likewise.
20977 (cmd_netbsd): Likewise.
20978 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
20979 grub_cmd_openbsd as extended commands.
20980 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
20981 cmd_netbsd and cmd_openbsd
20982
11d1c769 209832009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
20984
20985 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
20986
7a9094e5 209872009-08-21 Pavel Roskin <proski@gnu.org>
20988
5496c37e 20989 * Makefile.in (install-local): When checking if a file is in the
20990 build directory, use "test -e" to detect symlinks.
20991
7a9094e5 20992 * Makefile.in (install-local): Remove all files in
20993 $(DESTDIR)$(pkglibdir) before installing new files there.
20994
e53cea11 209952009-08-18 Felix Zielcke <fzielcke@z-51.de>
20996
20997 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
20998 grub-mkelfimage.
20999
9aced544 210002009-08-18 Felix Zielcke <fzielcke@z-51.de>
21001
21002 * util/grub-mkconfig.in: Don't use gfxterm by default if not
21003 explicitly specified by the user.
21004
b7da6bab 210052009-08-18 Pavel Roskin <proski@gnu.org>
21006
21007 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
21008 grub_uint8_t pointer for data.
21009 * include/grub/fbutil.h (struct grub_video_fbblit_info):
21010 Likewise.
21011 * video/fb/fbutil.c: Remove unnecessary casts.
21012
19f1b335 210132009-08-17 Michal Suchanek <hramrach@centrum.cz>
21014
21015 VBE cleanup.
21016
21017 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
21018 (grub_vbe_set_video_mode): Save active mode info
21019 only after setting the mode.
21020 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
21021 second argument.
21022
2f467aa9 210232009-08-17 Michal Suchanek <hramrach@centrum.cz>
21024
21025 Rename variables for clarity.
21026
21027 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
21028 (active_vbe_mode_info): ... this. All users updated.
21029 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
21030 All users updated.
21031 (initial_mode): Rename to ...
21032 (initial_vbe_mode): ... this. All users updated.
21033 (mode_in_use): Rename to ..
21034 (vbe_mode_in_use): ... this. All users updated.
21035 (mode_list): Rename to ..
21036 (vbe_mode_list): ... this. All users updated.
21037 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
21038 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
21039 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
21040 'mode_list_size' to 'vbe_mode_list_size'.
21041 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
21042 'best_mode_info' to 'best_vbe_mode_info' and
21043 'best_mode' to 'best_vbe_mode'
21044
6025fcd7 210452009-08-17 Michal Suchanek <hramrach@centrum.cz>
21046
21047 Remove duplicate grub_video_fb_get_video_ptr.
21048
21049 * include/grub/fbutil.h (get_data_ptr): Rename to ...
21050 (grub_video_fb_get_video_ptr): ... this.
21051 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
21052 * video/fb/fbutil.c: Add comment about addressing.
21053 (get_data_ptr): Rename to ...
21054 (grub_video_fb_get_video_ptr): ... this. All users updated.
21055 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
21056
cc8c6faf 210572009-08-17 Robert Millan <rmh.grub@aybabtu.com>
21058
21059 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
21060 grub_dprintf() that was just added.
21061
08aa61f0 210622009-08-17 Robert Millan <rmh.grub@aybabtu.com>
21063
21064 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
21065 (DEFAULT_VIDEO_MODE): Remove macros.
21066 (grub_linux_boot): Remove assumption that Linux has FB support,
21067 and use "text" as default video mode.
21068
7cef4f75 210692009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
21070
21071 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
21072 grub_dprintf.
21073 * fs/fat.c (grub_fat_read_data): Likewise.
21074
e1f39873 210752009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21076
21077 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
21078 payload.
21079 (grub_module): Likewise.
21080
c166d79e 210812009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21082
21083 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
21084 mbi->cmdline but free playground.
21085
c60cee8e 210862009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21087
21088 Handle group offset on UFS1.
21089
21090 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
21091 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
21092
c0d8b5d4 210932009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21094
21095 Split ufs.mod into ufs1.mod and ufs2.mod.
21096
21097 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
21098 (grub_fstest_SOURCES): Likewise.
21099 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
21100 (ufs_mod_SOURCES): Remove.
21101 (ufs_mod_CFLAGS): Likewise.
21102 (ufs_mod_LDFLAGS): Likewise.
21103 (ufs1_mod_SOURCES): New variable.
21104 (ufs1_mod_CFLAGS): Likewise.
21105 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 21106 (ufs2_mod_SOURCES): New variable.
21107 (ufs2_mod_CFLAGS): Likewise.
21108 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 21109 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
21110 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
21111 Likewise.
21112 (grub_emu_SOURCES): Likewise.
21113 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21114 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21115 (grub_setup_SOURCES): Likewise.
21116 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21117 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
21118 (grub_setup_SOURCES): Likewise.
21119 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
21120 Likewise.
21121 * fs/ufs2.c: New file.
21122 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
21123
d3539132 211242009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21125
21126 Framebuffer split.
21127
21128 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
21129 subsystem at the end.
21130 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
21131 (video_fb_mod_SOURCES): New variable.
21132 (video_fb_mod_CFLAGS): Likewise.
21133 (video_fb_mod_LDFLAGS): Likewise.
21134 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
21135 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
21136 * video/i386/pc/vbeblit.c: Moved from here ...
21137 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
21138 * video/i386/pc/vbefill.c: Moved from here ...
21139 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
21140 * video/i386/pc/vbeutil.c: Moved from here ...
21141 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
21142 * include/grub/i386/pc/vbeblit.h: Moved from here ...
21143 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
21144 * include/grub/i386/pc/vbefill.h: Moved from here ...
21145 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
21146 * include/grub/i386/pc/vbeutil.h: Moved from here ...
21147 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
21148 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
21149 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
21150 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
21151 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
21152 (grub_video_adapter): Added 'get_info_and_fini'.
21153 (grub_video_get_info_and_fini): New prototype.
21154 (grub_video_set_mode): make modestring const char *.
21155 * loader/i386/linux.c (grub_linux_setup_video): Use
21156 grub_video_get_info_and_fini.
21157 (grub_linux_boot): Move modesetting just before booting.
21158 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
21159 grub_video_get_info_and_fini.
21160 * video/i386/pc/vbe.c: Moved framebuffer part ...
21161 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
21162 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
21163 grub_video_fbstd_colors and grub_video_fb_set_palette.
21164 (grub_video_vbe_init): Clear 'framebuffer' variable and use
21165 grub_video_fb_init.
21166 (grub_video_vbe_fini): Use grub_video_fb_fini.
21167 (grub_video_vbe_setup): Use framebuffer.render_target instead of
21168 render_target and use grub_video_fb_set_active_render_target and
21169 grub_video_fb_set_palette.
21170 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
21171 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
21172 (grub_video_vbe_adapter): Use framebuffer.
21173 * video/video.c (grub_video_get_info_and_fini): New function.
21174 (grub_video_set_mode): Make modestring const char *.
21175 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
21176 values are already initialised.
21177
d404ee56 211782009-08-14 Pavel Roskin <proski@gnu.org>
21179
21180 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
21181 ABS and APPLE_CC.
21182 * boot/i386/pc/diskboot.S: Likewise.
21183 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
21184 sectors allow compilation on MacOSX.
21185 * conf/i386-pc.rmk: Enable unconditional compilation of
21186 lnxboot.img.
21187
9a10df16 211882009-08-13 Colin Watson <cjwatson@ubuntu.com>
21189
21190 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
21191 * util/grub.d/00_header.in: Enter interruptible sleep if
21192 GRUB_HIDDEN_TIMEOUT is set.
21193
be3c9ca7 211942009-08-13 Yves Blusseau <blusseau@zetam.org>
21195
21196 * include/grub/symbol.h: Add the LOCAL macro.
21197 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
21198 starting with "L_".
21199
1f9e557e 212002009-08-13 Pavel Roskin <proski@gnu.org>
21201
9ca62843 21202 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
21203 any modern compilers we support.
21204
1f9e557e 21205 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
21206 Use local labels starting with "L_" so that Apple assembler
21207 knows they are local.
21208
81623db6 212092009-08-10 Robert Millan <rmh.grub@aybabtu.com>
21210
21211 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
21212 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
21213 (bsd_kernel_types): ... this enum.
21214
21215 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
21216 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
21217 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
21218
21219 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
21220 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
21221 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
21222 messages.
21223
f5d35e7a 212242009-08-08 Robert Millan <rmh.grub@aybabtu.com>
21225
21226 * util/grub-dumpdevtree: Moved from here ...
21227 * util/i386/efi/grub-dumpdevtree: ... to here.
21228 (hexify): New function. Converts a string to its hex version.
21229 Generate hex versions of "efi" and "device-properties" by calling
21230 hexify() on the ASCII strings rather than by hardcoding numbers.
21231
d1e1d527 212322009-08-08 Robert Millan <rmh.grub@aybabtu.com>
21233
21234 * fs/jfs.c: Update copyright year.
21235
1ebbe064 212362009-08-08 Felix Zielcke <fzielcke@z-51.de>
21237
21238 * util/grub.d/00_header.in: Fix a comment.
21239 * util/grub.d/10_linux.in: Likewise.
21240 * util/grub.d/10_windows.in: Likewise.
21241 * util/grub.d/10_hurd.in: Likewise.
21242
a78c8d24 212432009-08-08 Felix Zielcke <fzielcke@z-51.de>
21244
21245 * util/grub-mkconfig.in: Allow the user to specify the used font
21246 with GRUB_FONT.
21247
29a6b9e8 212482009-08-08 Pavel Roskin <proski@gnu.org>
21249
b5f16cc4 21250 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
21251 available, xfs.mod needs it now.
21252
2f5cb827 21253 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
21254 the "g" modifier in sed when the intention is to strip something
21255 once. This fixes comparison of kernels with multiple dashes.
21256
29a6b9e8 21257 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
21258 on it. Add missing space before closing bracket. Fix
21259 misleading formatting.
21260
892a3d98 212612009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21262
21263 * docs/grub.texi: Major overhaul. Remove all sections that are
21264 specific to GRUB Legacy, or mostly composed of Legacy-specific
21265 information.
21266
ed94253f 212672009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21268
21269 * docs/version.texi: New file. Provides version information for
21270 grub.texi.
21271
126d6628 212722009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21273
21274 * docs/grub.texi: Update CVS information to SVN.
21275 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
21276
998b5aa9 212772009-08-07 Felix Zielcke <fzielcke@z-51.de>
21278
21279 * util/grub-mkconfig.in: Remove a wrong `fi'.
21280
818e094a 212812009-08-07 Felix Zielcke <fzielcke@z-51.de>
21282
21283 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
21284 (grub_jfs_uuid): New function.
21285 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
21286
b969c52f 212872009-08-07 Felix Zielcke <fzielcke@z-51.de>
21288
21289 * util/grub-mkconfig_lib.in (font_path): Move the functionality
21290 of it to ...
21291 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
21292 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
21293
7a4894cc 212942009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21295
21296 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
21297 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
21298 Update all users.
21299
21300 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
21301 not just "vmlinu[zx]".
21302 Moved from here ...
21303 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
21304 all users.
21305
21306 * util/grub.d/10_linux.in (find_latest): Moved from here ...
21307 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
21308 all users.
21309
4e2171f8 213102009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21311
21312 * util/grub.d/10_freebsd.in: Use an absolute device path for
21313 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
21314
6dcfcb32 213152009-08-06 Felix Zielcke <fzielcke@z-51.de>
21316
21317 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
21318 handling of multiple abstraction modules.
21319
f56a8756 213202009-08-04 Robert Millan <rmh.grub@aybabtu.com>
21321
21322 Fix a bug resulting in black screen when loading Linux using a
21323 packed video mode.
21324
21325 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
21326 function.
21327
21328 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
21329 (grub_vbe_bios_getset_dac_palette_width): New function.
21330 (grub_vbe_bios_get_dac_palette_width)
21331 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
21332 grub_vbe_bios_getset_dac_palette_width()).
21333
21334 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
21335 check for return status.
21336 (grub_vbe_get_video_mode_info): When getting information for a packed
21337 mode (<= 8 bpp), obtain DAC palette width using
21338 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
21339 {red,green,blue}_mark_size.
21340
222671b2 213412009-08-04 Felix Zielcke <fzielcke@z-51.de>
21342
ecb1a6d9 21343 * commands/search.c (options): Fix help output to match actual code.
222671b2 21344
f84114f5 213452009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
21346
21347 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
21348 of homegrown code.
21349
bd288a20 213502009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 21351
21352 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
21353 on XFS or ReiserFS.
21354
8aab5e25 213552009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
21356
21357 Support Apple partition map with sector size different from 512 bytes.
21358
21359 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
21360 (apple_partition_map_iterate): Respect 'aheader.blocksize'
21361 and 'apart.partmap_size'.
21362
6ad6258a 213632009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
213642009-08-01 Robert Millan <rmh.grub@aybabtu.com>
21365
21366 Fix cpuid command.
21367
21368 * commands/i386/cpuid.c (options): New variable.
21369 (grub_cmd_cpuid): Return real error.
21370 (GRUB_MOD_INIT(cpuid)): Declare options.
21371
67459bc6 213722009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
21373
21374 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
21375 valid.
21376
fbc6ab54 213772009-07-31 Bean <bean123ch@gmail.com>
21378
21379 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
21380 log2_inode.
21381 (grub_fshelp_node): Move inode field to the end.
21382 (grub_xfs_data): Remove inode field.
21383 (grub_xfs_inode_block): Calculate inode size using sblock.
21384 (grub_xfs_inode_offset): Likewise.
21385 (grub_xfs_read_inode): Calculate inode size using sblock.
21386 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
21387 (grub_xfs_iterate_dir): Calculate inode size using sblock.
21388 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
21389 to match inode size.
21390 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
21391 not accessible when data is null.
21392 (grub_xfs_open): Likewise.
21393
f45d6cfc 213942009-07-31 Bean <bean123ch@gmail.com>
21395
21396 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
21397 Don't change pv->disk if it's already set.
21398
21399 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
21400 (grub_raid_register): ... here.
21401 (grub_raid_rescan): Removed.
21402
21403 * include/grub/raid.h (grub_raid_rescan): Removed.
21404
21405 * util/grub-fstest.c: Remove include file <grub/raid.h>.
21406 (fstest): Replace grub_raid_rescan with module fini function followed
21407 by init function.
21408
21409 * util/grub-probe.c: Add include file <grub/raid.h>.
21410 (probe_raid_level): New function.
21411 (probe): Detect abstraction by walking the disk device, support two
21412 level of abstraction (LVM on RAID) when detecting partition map.
21413
24443b5a 214142009-07-31 Pavel Roskin <proski@gnu.org>
21415
21416 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
21417 to grub_zalloc(), it was erroneous.
21418 Reported by Bean <bean123ch@gmail.com>
21419
a275d9e7 214202009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
21421
21422 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 21423 embedding zone, not only the first one.
a275d9e7 21424
56c5a47f 214252009-07-29 Joe Auricchio <jauricchio@gmail.com>
21426
21427 * term/gfxterm.c (clear_char): New function.
21428 (grub_virtual_screen_setup): Use clear_char.
21429 (scroll_up): Likewise.
21430 (grub_virtual_screen_cls): Likewise.
21431
67bb323a 214322009-07-29 Felix Zielcke <fzielcke@z-51.de>
21433
21434 * util/deviceiter.c (get_acceleraid_disk_name): New static
21435 function.
21436 (grub_util_iterate_devices): Handle Accelraid devices.
21437 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
21438
388a7c75 214392009-07-28 Robert Millan <rmh.grub@aybabtu.com>
21440
21441 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
21442 separator for the suggested gfxpayload string (';' collides with the
21443 parser and needs escaping).
21444
3bb7abcf 214452009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
21446
21447 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
21448 Clear direction flag before jumping to OS.
21449 (grub_multiboot2_real_boot): Likewise.
21450
2ddd36d7 214512009-07-28 Felix Zielcke <fzielcke@z-51.de>
21452
21453 * util/i386/pc/grub-install: Fix parsing of --disk-module
21454 option.
21455
c521b62b 214562009-07-28 Felix Zielcke <fzielcke@z-51.de>
21457
21458 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
21459 when embedding.
21460
880e0a0c 214612009-07-26 Felix Zielcke <fzielcke@z-51.de>
21462
21463 * util/grub-mkconfig.in (package_version): New variable.
21464 Use it do display the version.
21465
2366e356 214662009-07-25 Felix Zielcke <fzielcke@z-51.de>
21467
21468 * kern/file.c (grub_file_open): Revert to previous check with
21469 grub_errno.
21470
7ad8c80e 214712009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
21472
21473 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
21474 from help line. It's out of sync with code.
21475
72b9658b 214762009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
21477
21478 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
21479 entries on failed boot.
21480
77435277 214812009-07-25 Felix Zielcke <fzielcke@z-51.de>
21482
21483 * kern/file.c (grub_file_open): Fix an error check.
21484
fcaa8b21 214852009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
21486
35d16c74 21487 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
21488 partition map couldn't be identified.
fcaa8b21 21489
48904cd1 214902009-07-23 Pavel Roskin <proski@gnu.org>
21491
ef3c317f 21492 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
21493 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
21494 case of little endian words becomes just an optimization.
21495 Respect const modifier.
ad8ea1f4 21496 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 21497
48904cd1 21498 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
21499 to avoid loss of upper bits if align is unsigned and shorter
21500 than addr.
21501
260c9a89 215022009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
21503
21504 UUID support for UFS
21505
21506 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
21507 (grub_ufs_uuid): New function.
21508 (grub_ufs_fs): add .uuid
21509
f76ce889 215102009-07-21 Pavel Roskin <proski@gnu.org>
21511
21512 * kern/dl.c (grub_dl_check_header): Make static.
21513
6a6cbcaf 215142009-07-21 Felix Zielcke <fzielcke@z-51.de>
21515
21516 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
21517 add drivemap for Vista. It breaks Windows 7.
21518
cffcddb2 215192009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
21520
21521 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
21522 128 bytes
21523
1ef44b80 215242009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21525
21526 Add BFS support
21527
21528 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
21529 (grub_fstest_SOURCES): Likewise.
21530 (pkglib_MODULES): Add befs.mod.
21531 (befs_mod_SOURCES): New variable.
21532 (befs_mod_CFLAGS): Likewise.
21533 (befs_mod_LDFLAGS): Likewise.
21534 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
21535 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21536 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21537 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21538 (grub_setup_SOURCES): Likewise.
21539 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21540 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21541 (grub_setup_SOURCES): Likewise.
21542 * fs/befs.c: New file.
21543 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
21544 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
21545 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
21546 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
21547 (B_KEY_INDEX_ALIGN): New declaration.
21548 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
21549 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
21550 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
21551 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
21552 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
21553 (grub_afs_mount) [MODE_BFS]: Likewise.
21554 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
21555 (grub_afs_fs): Use GRUB_AFS_FSNAME
21556 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
21557 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
21558 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
21559 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
21560
4f253044 215612009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
21562
21563 * util/getroot.c (find_root_device): Add support for MacOSX.
21564 * util/hostdisk.c: Likewise.
21565
57a55913 215662009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21567
21568 * font/font.c (find_glyph): Check whether a font is present to avoid
21569 segmentation fault.
75421ca9 21570
215712009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 21572
21573 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
21574
e98cd0c2 215752009-07-20 Pavel Roskin <proski@gnu.org>
21576
21577 * configure.ac: Trim excessively wordy excuses.
21578
1d2d169a 215792009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21580
21581 Add symlink, mtime and label support to AtheFS.
21582
21583 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
21584 (grub_afs_iterate_dir): Handle symlinks.
21585 (grub_afs_open): Use grub_afs_read_symlink.
21586 (grub_afs_dir): Likewise.
21587 Pass mtime.
21588 (grub_afs_label): New function.
21589 (grub_afs_fs): Add grub_afs_label.
21590 (grub_afs_read_symlink): New function.
21591
186f3189 215922009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21593
21594 Fix AtheFS support.
21595
21596 * fs/afs.c: Fix comments style.
21597 (grub_afs_blockrun): Declare as packed.
21598 (grub_afs_datastream): Likewise.
21599 (grub_afs_bnode): Likewise.
21600 (grub_afs_btree): Likewise.
21601 (grub_afs_sblock): Likewise.
21602 Declare `name' as char.
21603 (grub_afs_inode): Declare as packed.
21604 Change void *vnode to grub_uint32_t unused.
21605 (grub_afs_iterate_dir): Check that key_size is positive.
21606 (grub_afs_mount): Don't read superblock twice.
75421ca9 21607 (grub_afs_dir): Don't free node in case of error,
186f3189 21608 grub_fshelp_find_file already handles this.
21609 (grub_afs_open): Likewise.
21610
5680109e 216112009-07-19 Pavel Roskin <proski@gnu.org>
21612
21613 * Makefile.in: Remove LIBLZO and enable_lzo.
21614 * conf/i386-pc.rmk: Remove lzo support.
21615 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
21616 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
21617 support.
21618 * kern/i386/pc/lzo1x.S: Remove.
21619 * kern/i386/pc/startup.S: Remove lzo support.
21620 * util/i386/pc/grub-mkimage.c: Likewise.
21621
ac70fa32 216222009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
21623
21624 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
21625 * fs/xfs.c (grub_xfs_dir): Likewise.
21626 * fs/afs.c (grub_afs_dir): Likewise.
21627 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
21628 (grub_iso9660_open): Likewise.
21629 * fs/jfs.c (grub_jfs_open): Likewise.
21630 * fs/ext2.c (grub_ext2_dir): Likewise.
21631 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
21632 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 21633
eab58da2 216342009-07-16 Pavel Roskin <proski@gnu.org>
21635
d2838156 21636 * configure.ac: Never add "-c" to CFLAGS.
21637
55c70904 21638 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
21639
43e6200c 21640 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
21641 grub_cv_cc_efiemu should be used.
21642
ce7a733d 21643 * configure.ac: Typo fixes.
21644
eab58da2 21645 * kern/mm.c (grub_zalloc): New function.
21646 (grub_debug_zalloc): Likewise.
21647 * include/grub/mm.h: Declare grub_zalloc() and
21648 grub_debug_zalloc().
21649 * util/misc.c (grub_zalloc): New function.
21650 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
21651 instead of grub_malloc(), remove unneeded initializations.
21652 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
21653 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
21654 * commands/parttool.c (grub_cmd_parttool): Likewise.
21655 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
21656 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
21657 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
21658 * disk/usbms.c (grub_usbms_finddevs): Likewise.
21659 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
21660 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
21661 (grub_cmd_efiemu_pnvram): Likewise.
21662 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
21663 * fs/iso9660.c (grub_iso9660_mount): Likewise.
21664 (grub_iso9660_iterate_dir): Likewise.
21665 * fs/jfs.c (grub_jfs_opendir): Likewise.
21666 * fs/ntfs.c (list_file): Likewise.
21667 (grub_ntfs_mount): Likewise.
21668 * kern/disk.c (grub_disk_open): Likewise.
21669 * kern/dl.c (grub_dl_load_core): Likewise.
21670 * kern/elf.c (grub_elf_file): Likewise.
21671 * kern/env.c (grub_env_context_open): Likewise.
21672 (grub_env_set): Likewise.
21673 (grub_env_set_data_slot): Likewise.
21674 * kern/file.c (grub_file_open): Likewise.
21675 * kern/fs.c (grub_fs_blocklist_open): Likewise.
21676 * loader/i386/multiboot.c (grub_module): Likewise.
21677 * loader/xnu.c (grub_xnu_create_key): Likewise.
21678 (grub_xnu_create_value): Likewise.
21679 * normal/main.c (grub_normal_add_menu_entry): Likewise.
21680 (read_config_file): Likewise.
21681 * normal/menu_entry.c (make_screen): Likewise.
21682 * partmap/sun.c (sun_partition_map_iterate): Likewise.
21683 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
21684 * script/sh/script.c (grub_script_parse): Likewise.
21685 * video/bitmap.c (grub_video_bitmap_create): Likewise.
21686 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
21687 * video/readers/png.c (grub_png_output_byte): Likewise.
21688 (grub_video_reader_png): Likewise.
21689
830afef7 216902009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 21691
21692 Enable all targets that can be built by default
21693
830afef7 21694 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 21695 grub-mkfont and grub-fstest if they can be built
21696
ee293aee 216972009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
21698
21699 Fix hang and segmentation fault in grub-emu-usb
21700
21701 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
21702 * util/usb.c (grub_libusb_devices): likewise
21703 (grub_libusb_init): rename to ...
21704 (GRUB_MOD_INIT (libusb)):...this
21705 (grub_libusb_fini): rename to ..
21706 (GRUB_MOD_FINI (libusb)):...this
21707 * disk/usbms.c (grub_usbms_transfer): fix retry logic
21708 * include/grub/disk.h (grub_raid_init): removed, it's useless
21709 (grub_raid_fini): likewise
21710 (grub_lvm_init): likewise
21711 (grub_lvm_fini): likewise
21712 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
21713 by grub_init_all
21714
94414221 217152009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
21716
21717 Fix libusb
21718
21719 * Makefile.in (LIBUSB): new macro
21720 * genmk.rb (Utility/print_tail): new method
21721 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
21722 (top level): call util.print_tail at the end.
21723
59ade63d 217242009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
21725
21726 Make FreeBSD accept zpool.cache
21727
21728 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
21729 type is /boot/zfs/zpool.cache
21730
a58da8c7 217312009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
21732
21733 Fix 64-bit efiemu
21734
21735 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
21736 correct wrong typedef
21737 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
21738
20591577 217392009-07-15 Pavel Roskin <proski@gnu.org>
21740
560ca572 21741 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
21742 * kern/disk.c (struct grub_disk_cache): Likewise.
21743
e8e8e4fd 21744 * commands/probe.c (options): Typo fix.
21745
fde24e10 21746 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
21747 Increase to 0x5a to accommodate FAT32. Adjust other offsets
21748 accordingly.
21749 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
21750
379c54c1 21751 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
21752 the end of "Error" to make the message more readable.
21753
7bd8f5bf 21754 * boot/i386/pc/boot.S (kernel_segment): Remove.
21755 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
21756 for destination.
21757
40b132c5 21758 * boot/i386/pc/boot.S (boot_version): Remove.
21759 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
21760 Remove.
21761
20591577 21762 * include/grub/i386/pc/boot.h: Sort all offsets.
21763 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
21764 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
21765 * boot/i386/pc/boot.S: Assert location of every offset listed in
21766 include/grub/i386/pc/boot.h.
21767
2df32b2c 217682009-07-13 Pavel Roskin <proski@gnu.org>
21769
44b5d879 21770 * include/grub/i386/coreboot/machine.h: Rename
21771 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
21772 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
21773 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
21774
17dc3751 21775 * kern/dl.c: Force native word size to suppress warnings when
21776 compiling grub-emu.
21777
2df32b2c 21778 * kern/device.c (grub_device_iterate): Change struct part_ent to
21779 hold the name, not a pointer to it. Use one grub_malloc() per
21780 partition, not two. Free partition_name if grub_malloc() fails.
21781 Set ents to NULL only before grub_partition_iterate() is called.
21782
75c59f59 217832009-07-11 Bean <bean123ch@gmail.com>
21784
21785 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
21786 childname.
21787
0ae1bf88 217882009-07-10 Bean <bean123ch@gmail.com>
217892009-07-10 Robert Millan <rmh.grub@aybabtu.com>
21790
21791 * kern/ieee1275/openfw.c (grub_children_iterate)
21792 (grub_devalias_iterate): Fix size evaluation for property or path
21793 strings, which was broken since r2132.
21794
8279cade 217952009-07-07 Pavel Roskin <proski@gnu.org>
21796
7d8a52d3 21797 * commands/search.c (search_file): Merge into ...
21798 (search_fs): ... this. Accept search type as argument.
21799 (grub_cmd_search): Pass search type to search_fs().
21800
25f9a05a 21801 * include/grub/util/console.h: New file.
21802 * util/console.c: Use it instead of grub/machine/console.h.
21803 * util/grub-emu.c: Likewise.
21804
8279cade 21805 * lib/arg.c (find_long_option): Remove.
21806 (find_long): Add `len' argument, make `s' const char *.
21807 (grub_arg_parse): Parse long options in place, not in a
21808 temporary buffer.
21809
4a11b60f 218102009-07-06 Pavel Roskin <proski@gnu.org>
21811
99f68041 21812 * commands/search.c (search_fs): Fix potential NULL pointer
21813 dereference.
21814
4a11b60f 21815 * commands/search.c (search_fs): Replace QUID macro with quid_fn
21816 function pointer.
21817
e110f4de 218182009-07-06 Daniel Mierswa <impulze@impulze.org>
21819
21820 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
21821 comparison.
21822
46eeb6a2 218232009-07-05 Pavel Roskin <proski@gnu.org>
21824
bab74958 21825 * include/grub/i386/linux.h (struct linux_kernel_params):
21826 Restore padding3, it's still needed.
21827
46eeb6a2 21828 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
21829 FreeBSD.
21830 * util/osdetect.lua: Likewise.
21831
b4a1dc79 218322009-07-05 Bean <bean123ch@gmail.com>
21833
21834 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
21835
21836 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
21837 (grub_lua_getenv): Likewise.
21838 (grub_lua_setenv): Likewise.
21839 (save_errno): New function.
21840 (push_result): Likewise.
21841 (grub_lua_enum_device): Likewise.
21842 (grub_lua_enum_file): Likewise.
21843 (grub_lua_file_open): Likewise.
21844 (grub_lua_file_close): Likewise.
21845 (grub_lua_file_seek): Likewise.
21846 (grub_lua_file_read): Likewise.
21847 (grub_lua_file_getline): Likewise.
21848 (grub_lua_file_getsize): Likewise.
21849 (grub_lua_file_getpos): Likewise.
21850 (grub_lua_file_eof): Likewise.
21851 (grub_lua_file_exist): Likewise.
21852 (grub_lua_add_menu): Likewise.
21853
21854 * script/lua/grub_lua.h (isupper): New inline function.
21855 (islower): Likewise.
21856 (ispunct): Likewise.
21857 (isxdigit): Likewise.
21858 (strcspn): Change to normal function.
21859 (strpbkr): New function declaration.
21860 (memchr): Likewise.
21861
21862 * script/lua/grub_main.c (scan_str): New function.
21863 (strcspn): Likewise.
21864 (strpbrk): Likewise.
21865 (memchr): Likewise.
21866
21867 * script/lua/linit.c (lualibs): Enable the string library.
21868
21869 * util/osdetect.lua: New file.
21870
2da92295 218712009-07-04 Robert Millan <rmh.grub@aybabtu.com>
21872
21873 * include/grub/i386/linux.h (struct linux_kernel_params): Add
21874 `capabilities' member.
21875
b2582ec9 218762009-07-02 Pavel Roskin <proski@gnu.org>
21877
21878 * genparttoollist.sh: Add missing newline at the end.
21879
32622956 218802009-07-01 Pavel Roskin <proski@gnu.org>
21881
87a7339e 21882 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
21883
d23af54e 21884 * util/hostdisk.c (open_device): Remove `const' from
21885 `sysctl_size', as sysctlbyname() can change it (in this case it
21886 doesn't actually happen).
21887
c94b18a9 21888 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
21889 using signed long int constants.
21890
c6cd3ef0 21891 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
21892 constant to avoid a warning on FreeBSD.
21893
0df63420 21894 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
21895 where it's needed.
21896
999577f1 21897 * Makefile.in: Install include/grub/machine symlink.
21898
6f41557f 21899 * Makefile.in: When installing symlinks, use "cp -fR", which
21900 works on FreeBSD and MacOSX.
21901 From Yves Blusseau <cl7m42e02@sneakemail.com>
21902
c8d22988 21903 * kern/dl.c (grub_dl_resolve_symbol): Make static.
21904 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
21905
1b96e952 21906 * util/misc.c: Move grub_reboot() and grub_halt() ...
21907 * util/grub-emu.c: ... here. Make main_env static.
21908 * include/grub/util/misc.h: Remove main_env.
21909
2ef0084d 21910 * kern/mm.c: Use correct format to print size_t.
21911
32622956 21912 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
21913 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
21914 * kern/powerpc/dl.c: Likewise.
21915 * kern/sparc64/dl.c: Likewise.
21916 * kern/x86_64/dl.c: Likewise.
21917
3f7f0cd0 219182009-07-01 Robert Millan <rmh.grub@aybabtu.com>
21919
21920 Fix grub-emu build on sparc64-ieee1275.
21921
75421ca9 21922 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 21923 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
21924
211d06b5 219252009-07-01 Robert Millan <rmh.grub@aybabtu.com>
21926
21927 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
21928 (grub_reboot, grub_halt): New functions.
21929
21930 * util/i386/pc/misc.c: Delete. Update all users.
21931 * util/sparc64/ieee1275/misc.c: Likewise.
21932 * util/powerpc/ieee1275/misc.c: Likewise.
21933
aaf53e3c 219342009-07-01 Robert Millan <rmh.grub@aybabtu.com>
21935
21936 * conf/i386.rmk (setjmp_mod_SOURCES)
21937 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
21938 * conf/common.rmk (setjmp_mod_SOURCES)
21939 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
21940 to use $(target_cpu).
21941 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
21942 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
21943 * conf/powerpc-ieee1275.rmk: Likewise.
21944 * conf/sparc64-ieee1275.rmk: Likewise.
21945
21946 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
21947 $(target_cpu) for kern/$(target_cpu)/dl.c.
21948 * conf/i386-efi.rmk: Likewise.
21949 * conf/i386-ieee1275.rmk: Likewise.
21950 * conf/x86_64-efi.rmk: Likewise.
21951 * conf/i386-coreboot.rmk: Likewise.
21952 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
21953 $(target_cpu) for kern/$(target_cpu)/dl.c and for
21954 kern/$(target_cpu)/cache.S.
21955 * conf/sparc64-ieee1275.rmk: Likewise.
21956
a337130b 219572009-07-01 Robert Millan <rmh.grub@aybabtu.com>
21958
21959 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
21960 type to `grub_uint8_t', and adjust `padding9' accordingly.
21961
c6fe4d53 219622009-06-29 Robert Millan <rmh.grub@aybabtu.com>
21963
b09db61d 21964 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
21965
c6fe4d53 21966 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
21967 assembly in final jump, using register constraints.
21968
b09db61d 21969 (grub_linux_boot): For text mode, initialize `have_vga' using
21970 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
21971
21972 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
21973 right before the final jump.
21974
21975 Set `video_mode' to 0x3.
21976
21977 Document initialization of `video_page', `video_mode' and
21978 `video_ega_bx'.
21979
28333ad0 219802009-06-29 Robert Millan <rmh.grub@aybabtu.com>
21981
21982 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
21983 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 21984 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 21985
02164e1b 219862009-06-29 Robert Millan <rmh.grub@aybabtu.com>
21987
21988 Fix build on Debian / sparc.
21989
21990 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
21991
18b6c557 219922009-06-28 Pavel Roskin <proski@gnu.org>
21993
85f2aab6 21994 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
21995 fix a warning.
21996
18b6c557 21997 * util/grub.d/10_linux.in: Match SUSE style initrd names.
21998
ad760f81 219992009-06-27 Robert Millan <rmh.grub@aybabtu.com>
22000
22001 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
22002 `err'.
22003
87a4623b 220042009-06-27 Robert Millan <rmh.grub@aybabtu.com>
22005
22006 Revert r2338.
22007
22008 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
22009 file can't be opened. grub_file_open() is already supposed to set
75421ca9 22010 grub_errno / grub_errmsg appropriately.
87a4623b 22011 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
22012
8231fb77 220132009-06-27 Pavel Roskin <proski@gnu.org>
220142009-06-27 Robert Millan <rmh.grub@aybabtu.com>
22015
22016 * include/grub/dl.h: Include grub/elf.h.
22017 (struct grub_dl): Add symtab field.
22018 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
22019 GRUB_MODULES_MACHINE_READONLY.
22020 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
22021 of the header for read-only modules.
22022 (grub_dl_unload): Free mod->symtab for read-only modules.
22023 * kern/i386/dl.c: Use mod->symtab.
22024 * kern/powerpc/dl.c: Likewise.
22025 * kern/sparc64/dl.c: Likewise.
22026 * kern/x86_64/dl.c: Likewise.
22027
22028 * conf/i386-qemu.rmk: New file.
22029 * kern/i386/qemu/startup.S: Likewise.
22030 * kern/i386/qemu/mmap.c: Likewise.
22031 * boot/i386/qemu/boot.S: Likewise.
22032 * include/grub/i386/qemu/time.h: Likewise.
22033 * include/grub/i386/qemu/serial.h: Likewise.
22034 * include/grub/i386/qemu/kernel.h: Likewise.
22035 * include/grub/i386/qemu/console.h: Likewise.
22036 * include/grub/i386/qemu/boot.h: Likewise.
22037 * include/grub/i386/qemu/init.h: Likewise.
22038 * include/grub/i386/qemu/machine.h: Likewise.
22039 * include/grub/i386/qemu/loader.h: Likewise.
22040 * include/grub/i386/qemu/memory.h: Likewise.
22041
22042 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
22043 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
22044 [qemu] (pkglib_IMAGES): Add `boot.img'.
22045 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
22046 [qemu] (boot_img_FORMAT): New variables.
22047 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
22048 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
22049 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
22050 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22051 [qemu] (kernel_img_FORMAT): New variables.
22052
22053 * configure.ac: Recognise `i386-qemu'.
22054
22055 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
22056 (for no compression).
22057 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
22058 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
22059 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
22060 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
22061 ifdefs).
22062
97fe384e 220632009-06-27 Pavel Roskin <proski@gnu.org>
22064
22065 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
22066 read.
22067 * efiemu/prepare32.c: Likewise.
22068 * efiemu/prepare64.c: Likewise.
22069
c402ab17 220702009-06-26 Pavel Roskin <proski@gnu.org>
22071
22072 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
22073 * include/grub/elf.h: Define symbols without "32" or "64" based
22074 on GRUB_TARGET_WORDSIZE.
22075 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
22076 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
22077 ELF definitions.
22078 * efiemu/loadcore64.c: Likewise.
22079 * loader/i386/bsd32.c: Likewise.
22080 * loader/i386/bsd64.c: Likewise.
22081 * kern/dl.c: Remove own ELF definitions.
22082 * util/i386/efi/grub-mkimage.c: Likewise.
22083
9bbdfd4d 220842009-06-23 Robert Millan <rmh.grub@aybabtu.com>
22085
22086 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
22087 segment 0x0 unconditionally, because the reference generated by
22088 GAS is an absolute address.
22089
a42ce6e9 220902009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22091
22092 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
22093 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
22094
c952cf92 220952009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22096
22097 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
22098 indexes. Check for -f explicitly.
cc3752ad 22099 (search_file): Improve error message.
22100 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 22101
132a0a59 221022009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22103
22104 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
22105 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
22106
387a140c 221072009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22108
22109 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
22110 * conf/i386-ieee1275.rmk: Likewise.
22111 * conf/i386-coreboot.rmk: Likewise.
22112
22113 * kern/i386/pc/startup.S (grub_stop): Remove function.
22114 * kern/i386/ieee1275/startup.S: Likewise.
22115 * kern/i386/coreboot/startup.S: Likewise.
22116 * kern/i386/misc.S (grub_stop): New function.
22117
41da9665 221182009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22119
22120 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
22121 * kern/i386/realmode.S (real_to_prot): ... to here.
22122
bf337234 221232009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22124
22125 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
22126 with `kernel.img'.
22127 (kernel_elf_SOURCES): Rename to ...
22128 (kernel_img_SOURCES): ... this.
22129 (kernel_elf_HEADERS): Rename to ...
22130 (kernel_img_HEADERS): ... this. Update all users.
22131 (kernel_elf_ASFLAGS): Rename to ...
22132 (kernel_img_ASFLAGS): ... this.
22133 (kernel_elf_CFLAGS): Rename to ...
22134 (kernel_img_CFLAGS): ... this.
22135 (kernel_elf_LDFLAGS): Rename to ...
22136 (kernel_img_LDFLAGS): ... this.
22137 * conf/i386-coreboot.rmk: Likewise.
22138 * conf/powerpc-ieee1275.rmk: Likewise.
22139
22140 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
22141 with "kernel.img".
22142
f52196ff 221432009-06-21 Pavel Roskin <proski@gnu.org>
22144
c3cee413 22145 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
22146 to match nested functions.
22147 * loader/sparc64/ieee1275/linux.c: Likewise.
22148
f52196ff 22149 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
22150
58750afc 221512009-06-21 Robert Millan <rmh.grub@aybabtu.com>
22152
22153 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
22154 all i386 platforms.
22155
15355c7d 221562009-06-21 Robert Millan <rmh.grub@aybabtu.com>
22157
22158 Fix asm file handling on ELF, and remove workarounds.
22159
22160 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 22161 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 22162 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
22163 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
22164
3f3ec72b 221652009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
22166
22167 Load BSD ELF modules
22168
22169 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
22170 and loader/i386/bsd64.c
22171 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
22172 (FREEBSD_MODTYPE_ELF_MODULE): New definition
22173 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
22174 (grub_freebsd_load_elfmodule32): New declaration
22175 (grub_freebsd_load_elfmoduleobj64): Likewise
22176 (grub_freebsd_load_elf_meta32): Likewise
22177 (grub_freebsd_load_elf_meta64): Likewise
22178 (grub_freebsd_add_meta): Likewise
22179 (grub_freebsd_add_meta_module): Likewise
22180 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
22181 (grub_freebsd_add_meta_module): Likewise and move module-specific
22182 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
22183 (grub_cmd_freebsd): Add elf-kernel specific parts
22184 based on grub_freebsd_add_meta_module
22185 (grub_cmd_freebsd_module): Add type parsing moved from
22186 grub_freebsd_add_meta_module
22187 (grub_cmd_freebsd_module_elf): New function
22188 (cmd_freebsd_module_elf): New variable
22189 (GRUB_MOD_INIT): Register freebsd_module_elf
22190 * loader/i386/bsd32.c: New file
22191 * loader/i386/bsd64.c: Likewise
22192 * loader/i386/bsdXX.c: Likewise
22193 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
22194 (grub_elf64_load): Likewise
22195 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
22196 All users updated
22197 (grub_elf64_load_hook_t): Likewise
22198
0db15301 221992009-06-21 Colin Watson <cjwatson@ubuntu.com>
22200
22201 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
22202 variable.
22203 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
22204 don't write a menu entry for recovery mode.
22205
546796c1 222062009-06-20 Robert Millan <rmh.grub@aybabtu.com>
22207
22208 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
22209 after it's no longer needed.
22210
cd7310d5 222112009-06-20 Robert Millan <rmh.grub@aybabtu.com>
22212
22213 * include/grub/i386/loader.h (grub_linux_prot_size)
22214 (grub_linux_tmp_addr, grub_linux_real_addr)
22215 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
22216 GRUB_MACHINE_PCBIOS.
22217 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
22218 common grub_util_info() call to ...
22219 (generate_image): ... here.
22220 Fix use of uninitialized memory, comparison of signed with
22221 unsigned integers and memory leak.
22222 Remove bogus module address message.
22223
ab32d3b5 222242009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
22225
22226 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
22227 grub_raid_register
22228 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
22229
024ef597 222302009-06-19 Pavel Roskin <proski@gnu.org>
22231
22232 * configure.ac: Remove stray AC_MSG_CHECKING.
22233
3ac72b51 222342009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
22235
22236 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 22237
e14cd814 222382009-06-18 Pavel Roskin <proski@gnu.org>
22239
22240 * conf/common.rmk: Add fs_file.mod.
22241 * disk/fs_file.c: New file.
22242 * include/grub/disk.h (enum grub_disk_dev_id): Add
22243 GRUB_DISK_DEVICE_FILE_ID.
22244
26586d98 222452009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
22246
22247 Fix build with Apple's toolchain. Part 2
22248
22249 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
22250 a fake start
22251
26de2bcd 222522009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
22253
22254 Fix build with Apple's toolchain. Part 1
22255
22256 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
22257 for long calls
22258 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 22259 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 22260 Apple's toolchain
22261
09b3490b 222622009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
22263
22264 Fix warnings
22265
22266 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
22267 (decomp_block): initialize ch
22268 use grub_memcpy instead of memcpy
22269
c22a006a 222702009-06-17 Pavel Roskin <proski@gnu.org>
22271
d3638678 22272 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
22273 version, use declarations needed to use vga_text as the startup
22274 console.
22275
c22a006a 22276 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
22277 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
22278 the kernel.
22279 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
22280 and grub_at_keyboard_fini(), it's done on module load and
22281 unload.
22282
05b129e0 222832009-06-17 Felix Zielcke <fzielcke@z-51.de>
22284
22285 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
22286 file can't be found.
22287 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
22288
cf24ed9e 222892009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
22290
22291 Fix newline handling
22292
22293 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 22294 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 22295 (grub_script_yylex): don't segfault on unterminated script
22296 newline terminates command and variable
22297
74aa8e4b 222982009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
22299
22300 avoid double grub_adjust_range call. Bug reported by David Simner
22301
22302 * kern/disk.c (grub_disk_write): change to raw disk access before
22303 calling disk_read
22304
1bd265f3 223052009-06-17 Colin Watson <cjwatson@ubuntu.com>
22306
22307 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
22308 spaces, for the benefit of help2man.
22309 * util/i386/efi/grub-mkimage.c (usage): Likewise.
22310
a2d08c06 223112009-06-16 Pavel Roskin <proski@gnu.org>
22312
22313 * kern/i386/halt.c: Include grub/machine/init.h.
22314 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
22315
b97bcb19 223162009-06-16 Felix Zielcke <fzielcke@z-51.de>
22317
22318 * util/grub.d/30_os-prober.in: Use ${root} in the generated
22319 drivemap menuentry.
22320
0644f96c 223212009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
22322
22323 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
22324 `echo' command.
22325
3ef17a2e 223262009-06-16 Pavel Roskin <proski@gnu.org>
22327
22328 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
22329 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
22330 save %dx, we only need %dl and we never change it.
22331 * boot/i386/pc/cdboot.S: Don't set the root drive.
22332 * boot/i386/pc/pxeboot.S: Likewise.
22333 * include/grub/i386/pc/boot.h: Remove
22334 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
22335 GRUB_BOOT_MACHINE_DRIVE_CHECK.
22336 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
22337 * kern/i386/pc/init.c (make_install_device): Remove references
22338 to grub_root_drive.
22339 * kern/i386/pc/startup.S: Likewise.
22340 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
22341
693fe637 223422009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
22343
22344 xnu_uuid command
22345
22346 * commands/xnu_uuid.c: new file
22347 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
22348 (xnu_uuid_mod_SOURCES): new variable
22349 (xnu_uuid_mod_CFLAGS): likewise
22350 (xnu_uuid_mod_LDFLAGS): likewise
22351 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
22352 * conf/i386-ieee1275.rmk: likewise
22353 * conf/i386-pc.rmk: likewise
22354 * conf/powerpc-ieee1275.rmk: likewise
22355 * conf/sparc64-ieee1275.rmk: likewise
22356 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
22357
c9da87d0 223582009-06-16 Pavel Roskin <proski@gnu.org>
22359
22360 * configure.ac: Avoid '==' in test command, it's not portable.
22361
9c6f4596 223622009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
22363
22364 Probe command
22365
22366 * commands/probe.c: new file
22367 * conf/common.rmk (pkglib_MODULES): add probe.mod
22368 (probe_mod_SOURCES): new variable
22369 (probe_mod_CFLAGS): likewise
22370 (probe_mod_LDFLAGS): likewise
22371 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
22372 * conf/i386-ieee1275.rmk: likewise
22373 * conf/i386-pc.rmk: likewise
22374 * conf/powerpc-ieee1275.rmk: likewise
22375 * conf/sparc64-ieee1275.rmk: likewise
22376
70b7f9fd 223772009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
22378
22379 Fix handling of string like \"hello\" and "a
22380 b"
22381
22382 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
22383 (grub_script_yylex): fix parsing of quoting, escaping and newline
22384
71c79a6b 223852009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
22386
dd74360c 22387 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 22388 handling
dd74360c 22389
0644f96c 223902009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 22391
22392 * util/grub-mkconfig.in: Fix parsing of --output option.
22393
e40893c3 223942009-06-12 Pavel Roskin <proski@gnu.org>
22395
22396 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
22397 genmk.rb don't need to be generated or installed.
22398
3a1acfe2 223992009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
22400
22401 * commands/i386/pc/drivemap_int13h.S: add more comments
22402
3a4575d4 224032009-06-11 Pavel Roskin <proski@gnu.org>
22404
0658e928 22405 * Makefile.in (uninstall): Uninstall manuals.
22406
ca0388f0 22407 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
22408 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
22409 and update-grub_lib in two places.
22410 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
22411
e3b27c39 22412 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
22413 a compiler warning.
22414
3a4575d4 22415 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
22416 `entry_lo' to fix variable shadowing.
22417
af1f4f55 224182009-06-11 Christian Franke <franke@computer.org>
22419
22420 * kern/misc.c (__enable_execute_stack): Add missing return type
22421 to prevent gcc warning.
22422
5225e649 224232009-06-11 Felix Zielcke <fzielcke@z-51.de>
22424
22425 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
22426
7d83bd47 224272009-06-11 Pavel Roskin <proski@gnu.org>
22428
c1cb63ba 22429 * Makefile.in: Don't rely on any scripts being executable.
22430 Always use $(SHELL) to run shell scripts.
22431
7d83bd47 22432 * configure.ac: Always define ___main if using -nostdlib. This
22433 fixes tests on Cygwin.
22434
948f48e7 224352009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
22436
22437 UDF fix
22438
7d83bd47 22439 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 22440 is in bytes and not in blocks
7d83bd47 22441
8ada9bc1 224422009-06-11 Pavel Roskin <proski@gnu.org>
22443
22444 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
22445 warning.
22446
25ad2323 224472009-06-11 Felix Zielcke <fzielcke@z-51.de>
22448
22449 * util/grub.d/30_os-prober.in: Fix a comment. Source
22450 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
22451 to set the root device. Place drivemap command in the generated
22452 chain entry.
22453
e65acb0c 224542009-06-11 Pavel Roskin <proski@gnu.org>
22455
22456 * configure.ac: Remove host_m32. Issues with 64-bit utilities
22457 have long been resolved.
22458
f285fe2d 224592009-06-11 Colin Watson <cjwatson@ubuntu.com>
22460
bd47b0b5 22461 * util/grub.d/10_linux.in: Capitalise "Linux".
22462
f285fe2d 22463 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
22464
a0c62e4e 224652009-06-11 Pavel Roskin <proski@gnu.org>
22466
b6783cb2 22467 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
22468 fix a gcc warning and ensure that the function won't ever exit.
22469
dde032e8 22470 * kern/i386/ieee1275/init.c: Add missing prototype for
22471 grub_stop_floppy().
22472
22cd079d 22473 * loader/ieee1275/multiboot2.c [__i386__]: Include
22474 grub/cpu/multiboot.h.
22475
a0c62e4e 22476 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
22477 casts to short - they are not portable and cause warnings. Fix
22478 use of uninitialized values in input_buf. Use ARRAY_SIZE.
22479
63963d17 224802009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
22481
22482 Drivemap fixes
22483
22484 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
22485 new function
22486 (grub_get_root_biosnumber_saved): new variable
22487 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
22488 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 22489 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 22490 %dx after the call if necessary
22491 * conf/common.rmk (pkglib_MODULES): remove boot.mod
22492 (boot_mod_SOURCES): remove
22493 (boot_mod_CFLAGS): remove
22494 (boot_mod_LDFLAGS): remove
22495 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
22496 (boot_mod_SOURCES): new variable
22497 (boot_mod_CFLAGS): likewise
22498 (boot_mod_LDFLAGS): likewise
22499 * conf/i386-efi.rmk: likewise
22500 * conf/i386-ieee1275.rmk: likewise
22501 * conf/i386-pc.rmk: likewise
22502 * conf/powerpc-ieee1275.rmk: likewise
22503 * conf/sparc64-ieee1275.rmk: likewise
22504 * conf/x86_64-efi.rmk: likewise
22505 * include/grub/i386/pc/biosnum.h: new file
22506 * lib/i386/pc/biosnum.c: likewise
22507 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
22508 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
22509 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 22510
33abf7ae 225112009-06-10 Pavel Roskin <proski@gnu.org>
22512
5ac35b35 22513 * io/gzio.c (test_header): Don't reuse one buffer for all data.
22514 Use separate variables. Read only the file size at the end, but
22515 not the checksum that we don't use.
22516
5c5215d5 22517 * kern/file.c (grub_file_read): Use void pointer for the buffer.
22518 Adjust all callers.
22519
27d5fef7 22520 * kern/ieee1275/openfw.c: Remove libc includes.
22521 * kern/ieee1275/cmain.c: Likewise.
22522 * include/grub/ieee1275/ieee1275.h: Likewise.
22523
33abf7ae 22524 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
22525 compiler warnings.
22526
19d50c2b 225272009-06-10 Felix Zielcke <fzielcke@z-51.de>
22528
22529 * Makefile.in: Remove all trailing whitespace.
22530 * conf/i386-pc.rmk: Likewise.
22531 * conf/powerpc-ieee1275.rmk: Likewise.
22532 * conf/sparc64-ieee1275.rmk: Likewise.
22533 * docs/grub.texi: Likewise.
22534 * docs/texinfo.tex: Likewise.
22535 * disk/fs_uuid.c: Likewise.
22536 * disk/lvm.c: Likewise.
22537 * disk/scsi.c: Likewise.
22538 * disk/ata.c: Likewise.
22539 * disk/ieee1275/ofdisk.c: Likewise.
22540 * disk/i386/pc/biosdisk.c: Likewise.
22541 * disk/host.c: Likewise.
22542 * disk/raid.c: Likewise.
22543 * disk/efi/efidisk.c: Likewise.
22544 * disk/usbms.c: Likewise.
22545 * disk/memdisk.c: Likewise.
22546 * disk/loopback.c: Likewise.
22547 * kern/powerpc/dl.c: Likewise.
22548 * kern/device.c: Likewise.
22549 * kern/dl.c: Likewise.
22550 * kern/sparc64/dl.c: Likewise.
22551 * kern/ieee1275/ieee1275.c: Likewise.
22552 * kern/term.c: Likewise.
22553 * kern/fs.c: Likewise.
22554 * kern/i386/dl.c: Likewise.
22555 * kern/i386/pc/startup.S: Likewise.
22556 * kern/i386/pc/init.c: Likewise.
22557 * kern/i386/pc/mmap.c: Likewise.
22558 * kern/i386/pc/lzo1x.S: Likewise.
22559 * kern/i386/ieee1275/init.c: Likewise.
22560 * kern/i386/realmode.S: Likewise.
22561 * kern/i386/tsc.c: Likewise.
22562 * kern/partition.c: Likewise.
22563 * kern/corecmd.c: Likewise.
22564 * kern/file.c: Likewise.
22565 * kern/efi/efi.c: Likewise.
22566 * kern/efi/init.c: Likewise.
22567 * kern/efi/mm.c: Likewise.
22568 * kern/main.c: Likewise.
22569 * kern/err.c: Likewise.
22570 * kern/env.c: Likewise.
22571 * kern/disk.c: Likewise.
22572 * kern/generic/millisleep.c: Likewise.
22573 * kern/generic/rtc_get_time_ms.c: Likewise.
22574 * kern/misc.c: Likewise.
22575 * kern/parser.c: Likewise.
22576 * genmk.rb: Likewise.
22577 * configure.ac: Likewise.
22578 * boot/i386/pc/diskboot.S: Likewise.
22579 * boot/i386/pc/pxeboot.S: Likewise.
22580 * boot/i386/pc/boot.S: Likewise.
22581 * boot/i386/pc/lnxboot.S: Likewise.
22582 * boot/i386/pc/cdboot.S: Likewise.
22583 * parttool/pcpart.c: Likewise.
22584 * video/readers/tga.c: Likewise.
22585 * video/video.c: Likewise.
22586 * video/bitmap.c: Likewise.
22587 * lib/envblk.c: Likewise.
22588 * lib/i386/setjmp.S: Likewise.
22589 * fs/xfs.c: Likewise.
22590 * fs/afs.c: Likewise.
22591 * fs/fat.c: Likewise.
22592 * fs/ntfs.c: Likewise.
22593 * fs/udf.c: Likewise.
22594 * fs/affs.c: Likewise.
22595 * fs/iso9660.c: Likewise.
22596 * fs/hfs.c: Likewise.
22597 * fs/fshelp.c: Likewise.
22598 * fs/ext2.c: Likewise.
22599 * fs/jfs.c: Likewise.
22600 * fs/reiserfs.c: Likewise.
22601 * fs/hfsplus.c: Likewise.
22602 * fs/minix.c: Likewise.
22603 * fs/cpio.c: Likewise.
22604 * fs/sfs.c: Likewise.
22605 * fs/ufs.c: Likewise.
22606 * efiemu/prepare.c: Likewise.
22607 * efiemu/loadcore_common.c: Likewise.
22608 * efiemu/runtime/efiemu.sh: Likewise.
22609 * efiemu/runtime/efiemu.S: Likewise.
22610 * efiemu/runtime/efiemu.c: Likewise.
22611 * efiemu/pnvram.c: Likewise.
22612 * efiemu/main.c: Likewise.
22613 * efiemu/i386/pc/cfgtables.c: Likewise.
22614 * efiemu/i386/loadcore64.c: Likewise.
22615 * efiemu/i386/loadcore32.c: Likewise.
22616 * efiemu/loadcore.c: Likewise.
22617 * efiemu/symbols.c: Likewise.
22618 * efiemu/mm.c: Likewise.
22619 * include/grub/autoefi.h: Likewise.
22620 * include/grub/datetime.h: Likewise.
22621 * include/grub/term.h: Likewise.
22622 * include/grub/hfs.h: Likewise.
22623 * include/grub/lvm.h: Likewise.
22624 * include/grub/i386/tsc.h: Likewise.
22625 * include/grub/i386/linux.h: Likewise.
22626 * include/grub/i386/xnu.h: Likewise.
22627 * include/grub/i386/efiemu.h: Likewise.
22628 * include/grub/i386/pc/biosdisk.h: Likewise.
22629 * include/grub/i386/pc/memory.h: Likewise.
22630 * include/grub/i386/pc/vbe.h: Likewise.
22631 * include/grub/parttool.h: Likewise.
22632 * include/grub/video.h: Likewise.
22633 * include/grub/memory.h: Likewise.
22634 * include/grub/fs.h: Likewise.
22635 * include/grub/partition.h: Likewise.
22636 * include/grub/xnu.h: Likewise.
22637 * include/grub/efi/api.h: Likewise.
22638 * include/grub/efi/pe32.h: Likewise.
22639 * include/grub/efi/memory.h: Likewise.
22640 * include/grub/multiboot.h: Likewise.
22641 * include/grub/usbdesc.h: Likewise.
22642 * include/grub/multiboot2.h: Likewise.
22643 * include/grub/acpi.h: Likewise.
22644 * include/grub/efiemu/efiemu.h: Likewise.
22645 * include/grub/disk.h: Likewise.
22646 * include/grub/ieee1275/ieee1275.h: Likewise.
22647 * include/grub/net.h: Likewise.
22648 * include/grub/machoload.h: Likewise.
22649 * include/grub/macho.h: Likewise.
22650 * include/multiboot.h: Likewise.
22651 * genmoddep.awk: Likewise.
22652 * normal/main.c: Likewise.
22653 * normal/menu_entry.c: Likewise.
22654 * normal/menu_viewer.c: Likewise.
22655 * normal/completion.c: Likewise.
22656 * normal/cmdline.c: Likewise.
22657 * normal/misc.c: Likewise.
22658 * normal/datetime.c: Likewise.
22659 * bus/usb/usbtrans.c: Likewise.
22660 * bus/usb/ohci.c: Likewise.
22661 * bus/usb/uhci.c: Likewise.
22662 * bus/usb/usb.c: Likewise.
22663 * mmap/efi/mmap.c: Likewise.
22664 * mmap/i386/pc/mmap_helper.S: Likewise.
22665 * mmap/i386/pc/mmap.c: Likewise.
22666 * mmap/i386/mmap.c: Likewise.
22667 * mmap/i386/uppermem.c: Likewise.
22668 * mmap/mmap.c: Likewise.
22669 * commands/acpi.c: Likewise.
22670 * commands/echo.c: Likewise.
22671 * commands/blocklist.c: Likewise.
22672 * commands/loadenv.c: Likewise.
22673 * commands/usbtest.c: Likewise.
22674 * commands/boot.c: Likewise.
22675 * commands/parttool.c: Likewise.
22676 * commands/search.c: Likewise.
22677 * commands/cat.c: Likewise.
22678 * commands/i386/pc/play.c: Likewise.
22679 * commands/i386/pc/drivemap.c: Likewise.
22680 * commands/i386/pc/vbeinfo.c: Likewise.
22681 * commands/i386/pc/acpi.c: Likewise.
22682 * commands/i386/pc/vbetest.c: Likewise.
22683 * commands/ls.c: Likewise.
22684 * commands/cmp.c: Likewise.
22685 * commands/test.c: Likewise.
22686 * commands/efi/acpi.c: Likewise.
22687 * commands/gptsync.c: Likewise.
22688 * commands/help.c: Likewise.
22689 * partmap/amiga.c: Likewise.
22690 * partmap/apple.c: Likewise.
22691 * partmap/acorn.c: Likewise.
22692 * partmap/pc.c: Likewise.
22693 * partmap/sun.c: Likewise.
22694 * partmap/gpt.c: Likewise.
22695 * script/sh/lexer.c: Likewise.
22696 * script/sh/function.c: Likewise.
22697 * font/font.c: Likewise.
22698 * font/font_cmd.c: Likewise.
22699 * loader/powerpc/ieee1275/linux.c: Likewise.
22700 * loader/efi/chainloader.c: Likewise.
22701 * loader/multiboot_loader.c: Likewise.
22702 * loader/macho.c: Likewise.
22703 * loader/i386/multiboot.c: Likewise.
22704 * loader/i386/linux.c: Likewise.
22705 * loader/i386/pc/linux.c: Likewise.
22706 * loader/i386/pc/multiboot2.c: Likewise.
22707 * loader/i386/pc/chainloader.c: Likewise.
22708 * loader/i386/pc/xnu.c: Likewise.
22709 * loader/i386/bsd_trampoline.S: Likewise.
22710 * loader/i386/efi/linux.c: Likewise.
22711 * loader/i386/multiboot_elfxx.c: Likewise.
22712 * loader/i386/bsd_helper.S: Likewise.
22713 * loader/i386/bsd.c: Likewise.
22714 * loader/i386/linux_trampoline.S: Likewise.
22715 * loader/i386/xnu_helper.S: Likewise.
22716 * loader/i386/xnu.c: Likewise.
22717 * loader/i386/bsd_pagetable.c: Likewise.
22718 * loader/i386/multiboot_helper.S: Likewise.
22719 * loader/xnu.c: Likewise.
22720 * loader/xnu_resume.c: Likewise.
22721 * io/gzio.c: Likewise.
22722 * term/efi/console.c: Likewise.
22723 * term/terminfo.c: Likewise.
22724 * term/ieee1275/ofconsole.c: Likewise.
22725 * term/i386/pc/serial.c: Likewise.
22726 * term/i386/pc/vesafb.c: Likewise.
22727 * term/i386/pc/vga.c: Likewise.
22728 * term/usb_keyboard.c: Likewise.
22729 * term/gfxterm.c: Likewise.
22730 * aclocal.m4: Likewise.
22731 * util/lvm.c: Likewise.
22732 * util/grub.d/30_os-prober.in: Likewise.
22733 * util/grub.d/10_hurd.in: Likewise.
22734 * util/console.c: Likewise.
22735 * util/grub-macho2img.c: Likewise.
22736 * util/grub-probe.c: Likewise.
22737 * util/hostfs.c: Likewise.
22738 * util/i386/pc/grub-mkimage.c: Likewise.
22739 * util/i386/pc/grub-setup.c: Likewise.
22740 * util/i386/efi/grub-mkimage.c: Likewise.
22741 * util/grub-mkconfig.in: Likewise.
22742 * util/raid.c: Likewise.
22743 * util/resolve.c: Likewise.
22744 * util/grub-mkdevicemap.c: Likewise.
22745 * util/grub-emu.c: Likewise.
22746 * util/getroot.c: Likewise.
22747 * util/hostdisk.c: Likewise.
22748 * util/usb.c: Likewise.
22749 * util/grub-editenv.c: Likewise.
22750 * util/misc.c: Likewise.
22751
d2d49665 227522009-06-10 Felix Zielcke <fzielcke@z-51.de>
22753
22754 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
22755 `genparttoollist.sh'.
22756 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
22757 Add `*.sh' to the list find searches for and change `mdate.sh'
22758 to `mdate-sh'.
22759
fe052e37 227602009-06-10 Pavel Roskin <proski@gnu.org>
22761
2763ac18 22762 * include/grub/multiboot2.h: Provide compatibility defines for
22763 multiboot2.h.
22764 * include/multiboot2.h: Include stdint.h only if needed, using
22765 angle brackets.
22766 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
22767 grub/multiboot2.h.
22768 * loader/ieee1275/multiboot2.c: Likewise.
22769 * loader/multiboot2.c: Likewise.
22770 * loader/multiboot_loader.c: Likewise.
22771
437e6adc 22772 * configure.ac: Use -nostdlib when probing for the target. It
22773 should not be required to have libc for the target.
22774
06a6836c 22775 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
22776 they fail without libc headers for the target.
22777 * include/grub/powerpc/libgcc.h: Use weak attribute for all
22778 exports.
22779 * include/grub/sparc64/libgcc.h: Likewise. Don't use
22780 preprocessor conditionals.
22781
fe052e37 22782 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
22783 build system doesn't need to be aware of the tar.c internals.
22784
afd22553 227852009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 22786
afd22553 22787 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 22788
6b787c4f 227892009-06-09 Robert Millan <rmh.grub@aybabtu.com>
22790
22791 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
22792 disk limit to 26 for IDE, Virtio, Xen and SCSI.
22793
227942009-06-09 Felix Zielcke <fzielcke@z-51.de>
22795
22796 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 22797 aren't available if ata.mod gets used.
6b787c4f 22798
473d1e45 227992009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 22800
473d1e45 22801 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 22802 initialising controller.
473d1e45 22803 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 22804
255a27d4 228052009-06-08 Felix Zielcke <fzielcke@z-51.de>
22806
22807 * util/i386/pc/grub-install.in: Add a parameter --disk-module
22808 to choose between ata and biosdisk module on i386-pc.
22809
473d1e45 228102009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 22811
d55842d8 22812 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
22813 Subclass and Programming Interface fields in terms of the 3 byte
22814 Class Code register.
22815 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
22816
fa5db0b1 22817 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
22818 interface is OHCI. Add grub_dprintf for symmetry with
22819 bus/usb/uhci.c.
22820 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
22821 interface is UHCI. Add interf variable for programming
22822 interface. Print interface with class/subclass.
22823
c0947beb 22824 * bus/usb/ohci.c: Set interf with correct field.
22825
69da8877 22826 * bus/usb/uhci.c: Remove unneeded doubled lines.
22827 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
22828 Remove whitespace inside comment.
22829
9e172e30 228302009-06-08 Robert Millan <rmh.grub@aybabtu.com>
22831
22832 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
22833 as fallback an equivalent option without depth.
22834
de65ee2b 228352009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
22836
22837 Not fail if unable to retrieve C/H/S on LBA disks
22838
473d1e45 22839 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 22840 if unable to retrieve C/H/S on LBA disks
22841
b57ea2c9 228422009-06-08 Pavel Roskin <proski@gnu.org>
22843
22844 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
22845 about aliasing.
22846
af361263 228472009-06-08 Felix Zielcke <fzielcke@z-51.de>
22848
22849 * Makefile.in (uninstall): Remove all $lib_DATA files.
22850
4c9ec6b3 228512009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
22852
22853 Bugfix: install on partitionless device
22854
22855 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
22856 is a whole disk
22857
e76fc924 228582009-06-08 Felix Zielcke <fzielcke@z-51.de>
22859
22860 * Makefile.in (uninstall): Remove all $include_DATA files.
22861
ba5a0d05 228622009-06-08 Felix Zielcke <fzielcke@z-51.de>
22863
22864 * commands/true.c: New file. Implement the true and false commands.
22865 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
22866 (true_mod_SOURCES): New variable.
22867 (true_mod_CFLAGS): Likewise.
22868 (true_mod_LDFLAGS): Likewise.
22869
c8048e32 228702009-06-05 Colin D Bennett <colin@gibibit.com>
22871
22872 Optimized font character lookup using binary search instead of linear
22873 search. Fonts now are required to have the character index ordered by
22874 code point.
22875
22876 * font/font.c (load_font_index): Verify that fonts have ordered
22877 character indices.
22878 (find_glyph): Use binary search instead of linear search to find a
22879 character in a font.
22880
408305be 228812009-06-05 Michael Scherer <misc@mandriva.org>
22882
22883 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
22884 uses case sensitive btree.
22885 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
22886 only for case insensitive filesystems.
22887
8ee1e0d9 228882009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
22889
22890 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
22891 * conf/common.rmk (search_mod_CFLAGS): likewise
22892
a9966eb1 228932009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22894
473d1e45 22895 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 22896 compensate a compiler bug
22897
9e7100fb 228982009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22899
473d1e45 22900 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 22901 instead of '\b'
473d1e45 22902
ede21d71 229032009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22904
22905 Definitions for creating asm symbols with Apple's CC
22906
22907 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
22908 [APPLE_CC] (VARIABLE): likewise
22909
9dbf7653 229102009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22911
22912 Disable lnxboot.img when compiled
22913 with Apple's CC
22914
22915 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
22916 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
22917 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
22918 [! APPLE_CC] (CODE_LENG): skip
22919 [! APPLE_CC] (setup_sects): likewise
22920 [! APPLE_CC]: skip filling
473d1e45 22921
e93cdc3d 229222009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22923
22924 Address in trampolines based on 32-bit registers when compiled
22925 with Apple's CC
22926
473d1e45 22927 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 22928 for addresses
22929 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
22930
6c688477 229312009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22932
22933 Avoid aliases when compiling with Apple's CC for PCBIOS machine
22934
22935 * kern/misc.c [APPLE_CC] (memcpy): new function
22936 [APPLE_CC] (memmove): likewise
22937 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 22938 (memcpy): define alias conditionally on !APPLE_CC
6c688477 22939 (memset): likewise
22940 (abort): likewise
22941 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
22942 APPLE_CC are defined
22943 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
22944 (grub_assert_fail): make prototype conditional
22945
e37ffc5c 229462009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22947
22948 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
22949
473d1e45 22950 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
22951 grub-macho2img
e37ffc5c 22952 (CLEANFILES): add grub-macho2img
22953 (grub_macho2img_SOURCES): new variable
22954 * kern/i386/pc/startup.S (bss_start): new variable
22955 (bss_end): likewise
22956 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
22957 * util/grub-macho2img.c: new file
22958
cf00df31 229592009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22960
22961 Use objconv when compiling with Apple's CC
22962
22963 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
22964 (efiemu64.o): likewise
22965 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
22966 when compiling with Apple's CC
22967 (efiemu64_s.o): likewise
22968 * configure.ac: check for objconv when compiling with Apple's CC
22969 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 22970
d119a20c 229712009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22972
22973 Define segment as well as section when compiling with
22974 Apple's CC
22975
22976 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
22977 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
22978 (efiemu_convert_pointer): likewise
22979 (efiemu_set_virtual_address_map): likewise
22980 (efiemu_convert_pointer): likewise
22981 (efiemu_getcrc32): likewise
22982 (init_crc32_table): likewise
22983 (reflect): likewise
22984 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
22985 (GRUB_MOD_DEP): likewise
473d1e45 22986
c8600122 229872009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22988
22989 Allow a compilation without -mcmodel=large
22990
22991 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
22992 when compiled without -mcmodel=large
473d1e45 22993 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 22994 without -mcmodel=large
473d1e45 22995 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 22996 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 22997
e8df1d4e 229982009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22999
23000 Remove nested functions in efiemu core
23001
23002 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 23003
cc6c3ac1 230042009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23005
23006 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
23007
23008 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
23009 temporary storage
473d1e45 23010 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
23011 using Apple's CC
cc6c3ac1 23012 (grub_cpu_is_tsc_supported): likewise
23013 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 23014
3e325901 230152009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23016
23017 Absolute addressing through constant with Apple's cc
23018
23019 * kern/i386/pc/startup.S: Define necessary constants
23020 and address through it when using ABS with Apple's CC
23021 * boot/i386/pc/diskboot.S: likewise
23022 * boot/i386/pc/boot.S: likewise
23023 * boot/i386/pc/lnxboot.S: likewise
23024 * boot/i386/pc/cdboot.S: likewise
23025 * mmap/i386/pc/mmap_helper.S: likewise
23026 * commands/i386/pc/drivemap_int13h.S: likewise
23027
2b167a72 230282009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23029
23030 Check if compiler is apple cc
23031
23032 * Makefile.in (ASFLAGS): new variable
23033 (TARGET_ASFLAGS): likewise
23034 (TARGET_MODULE_FORMAT): likewise
23035 (TARGET_APPLE_CC): likewise
23036 (OBJCONV): likewise
23037 (TARGET_IMG_CFLAGS): likewise
23038 (TARGET_CPPFLAGS): add includedir
23039 * configure.ac: call grub_apple_cc and grub_apple_target_cc
23040 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
23041 Check for linker script only if compiler isn't Apple's CC
23042 (TARGET_MODULE_FORMAT): set
23043 (TARGET_APPLE_CC): likewise
23044 (TARGET_ASFLAGS): likewise
23045 (ASFLAGS): likewise
23046 Check for objcopy only if compiler isn't Apple's CC
23047 Check for BSS symbol only if compiler isn't Apple's CC
23048 * genmk.rb: adapt nm options if we use Apple's utils
23049 * aclocal.m4 (grub_apple_cc): new test
23050 (grub_apple_target_cc): likewise
473d1e45 23051
fb14123e 230522009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23053
23054 Simplify sed expressions and improve awk
23055
23056 * Makefile.in (install-local): simplify sed expression
23057 * gencmdlist.sh: likewise
23058 * genmoddep.awk: avoid adding module as a dependency of itself
23059
5b889789 230602009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23061
23062 Add missing start symbols
23063
23064 * boot/i386/pc/boot.S: add start
fb14123e 23065 * boot/i386/pc/pxeboot.S: likewise
473d1e45 23066
fd2bf2e3 230672009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23068
23069 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 23070
23071 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 23072 (relocate_addresses): consider both r_addend and value at offset
23073 (make_mods_section): zerofill modinfo and header
23074 (convert_elf): write prefix here
473d1e45 23075
5389763d 230762009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23077
23078 Use .asciz instead of .string
23079
23080 * i386/pc/diskboot.S: use .asciz instead of .string
23081 * i386/pc/boot.S: likewise
23082 * include/grub/dl.h (GRUB_MOD_DEP): likewise
23083 (GRUB_MOD_NAME): likewise
473d1e45 23084
3eb5ed4e 230852009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23086
23087 gfxpayload support
23088
23089 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
23090 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
23091 (grub_video_setup): remove
23092 (grub_video_set_mode): new prototype
23093 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
23094 (vid_mode): remove
23095 (linux_vesafb_res): compile only on PCBIOS
23096 (grub_linux_boot): support gfxpayload
23097 * loader/i386/pc/xnu.c (video_hook): new function
23098 (grub_xnu_set_video): support gfxpayload
23099 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
23100 (DEFAULT_VIDEO_HEIGHT): likewise
23101 (DEFAULT_VIDEO_FLAGS): likewise
23102 (DEFAULT_VIDEO_MODE): new definition
23103 (video_hook): new function
23104 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 23105 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 23106 loading xnu
23107 * video/video.c (grub_video_setup): removed
473d1e45 23108 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 23109 grub_video_setup
23110
4b0e1143 231112009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23112
23113 Avoid calling biosdisk in drivemap
23114
23115 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
23116 (revparse_biosdisk): likewise
23117 (list_mappings): derive name from id directly
23118 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 23119
fda6cb98 231202009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23121
23122 Script fixes
23123
23124 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
23125 (grub_lexer_param): add tokenonhold
23126 (grub_script_create_cmdline): remove cmdline. All callers updated
23127 (grub_script_function_create): make functionname
23128 grub_script_arg. All callers updated
23129 (grub_script_execute_argument_to_string): new prototype
23130 * kern/parser.c (state_transitions): reorder
23131 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 23132 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 23133 make global
23134 (grub_script_execute_cmdline): use new format
23135 * script/sh/function.c (grub_script_function_create): make functionname
23136 grub_script_arg. All callers updated
473d1e45 23137 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 23138 (grub_script_yylex): remove
23139 (grub_script_yylex2): renamed to ...
23140 (grub_script_yylex): ...renamed
23141 parse the expressions like a${b}c
23142 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
23143 (GRUB_PARSER_TOKEN_VAR): remove
23144 (GRUB_PARSER_TOKEN_NAME): likewise
23145 ("if"): declare as typeless
23146 ("while"): likewise
23147 ("function"): likewise
23148 ("else"): likewise
23149 ("then"): likewise
23150 ("fi"): likewise
23151 (text): remove
23152 (argument): likewise
23153 (script): accept empty scripts and make exit on error
23154 (arguments): use GRUB_PARSER_TOKEN_ARG
23155 (function): likewise
23156 (command): move error handling to script
23157 (menuentry): move grub_script_lexer_ref before
473d1e45 23158 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 23159 argument. All callers updated
23160
f4448a07 231612009-06-04 Robert Millan <rmh.grub@aybabtu.com>
23162
23163 Prevent GRUB from probing floppies during boot.
23164
23165 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
23166 * commands/search.c (options): Add --no-floppy.
23167 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
23168 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
23169 --no-floppy when searching for UUIDs.
23170
2bf5885a 231712009-06-04 Robert Millan <rmh.grub@aybabtu.com>
23172
23173 Simplify the code duplication in commands/search.c.
23174
23175 * commands/search.c (search_label, search_fs_uuid): Merge into ...
23176 (search_fs): ... this. Update all users.
23177
f6fd460a 231782009-06-03 Felix Zielcke <fzielcke@z-51.de>
23179
23180 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
23181
cbb3c83e 231822009-05-28 Pavel Roskin <proski@gnu.org>
23183
57788cfd 23184 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
23185 Remove the original symlink explicitly.
23186
cbb3c83e 23187 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
23188 just one slash. That's how grub_fshelp_find_file() does it.
23189
cd0d5e30 231902009-05-26 Pavel Roskin <proski@gnu.org>
23191
f0f8bbe2 23192 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
23193 to `str'.
23194
cd0d5e30 23195 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
23196 possibly unused.
23197
8c2cab51 231982009-05-25 Christian Franke <franke@computer.org>
23199
23200 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
23201 register.
23202 (grub_atapi_identify): Add wait after drive select.
23203 (grub_ata_identify): Do more strict status register check before
23204 calling grub_atapi_identify (). Suppress error message if status
23205 register is 0x00 after command failure. Add status register
23206 check after PIO read to avoid bogus identify due to stuck DRQ.
23207 Thanks to Pavel Roskin for testing.
23208 (grub_device_initialize): Remove unsafe status register check.
23209 Thanks to 'phcoder' for problem report and patch.
23210 Prevent sign extension in debug message.
23211
230c0ad6 232122009-05-23 Colin D Bennett <colin@gibibit.com>
23213
23214 Cleaned up `include/grub/normal.h'. Grouped prototypes by
23215 definition file, and functions defined in `normal/menu.c' have had
23216 their prototypes moved to `include/grub/menu.h' for consistency.
23217
23218 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
23219 from normal.h.
23220 (grub_menu_get_entry): Likewise.
23221 (grub_menu_get_timeout): Likewise.
23222 (grub_menu_set_timeout): Likewise.
23223 (grub_menu_execute_entry): Likewise.
23224 (grub_menu_execute_with_fallback): Likewise.
23225 (grub_menu_entry_run): Likewise.
23226
23227 * include/grub/normal.h: Re-ordered and grouped function
23228 prototypes by file that the function is defined in.
23229 (grub_menu_execute_callback): Removed; moved to menu.h.
23230 (grub_menu_get_entry): Likewise.
23231 (grub_menu_get_timeout): Likewise.
23232 (grub_menu_set_timeout): Likewise.
23233 (grub_menu_execute_entry): Likewise.
23234 (grub_menu_execute_with_fallback): Likewise.
23235 (grub_menu_entry_run): Likewise.
23236 (grub_menu_addentry): Renamed from this ...
23237 (grub_normal_add_menu_entry): ... to this.
23238
23239 * normal/main.c (grub_menu_addentry): Renamed from this ...
23240 (grub_normal_add_menu_entry): ... to this.
23241
23242 * script/sh/execute.c (grub_script_execute_menuentry): Update
23243 reference to renamed grub_menu_addentry function.
23244
861f03a5 232452009-05-23 Felix Zielcke <fzielcke@z-51.de>
23246
23247 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
23248
96b1619a 232492009-05-22 Pavel Roskin <proski@gnu.org>
23250
bf6a5fb2 23251 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
23252 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
23253 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
23254 compiling for the i386 targets, but not for the utilities.
23255
96b1619a 23256 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
23257 to grub_uint8_t.
23258 (grub_root_drive): Likewise.
23259 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
23260 remove alignment.
23261 (grub_root_drive): Change size to byte.
23262 (grub_start_addr): Remove.
23263 (grub_end_addr): Likewise.
23264 (grub_apm_bios_info): Likewise.
23265
b729776b 232662009-05-21 Felix Zielcke <fzielcke@z-51.de>
23267
23268 * normal/i386: Remove.
23269 * normal/powerpc: Likewise.
23270 * normal/sparc64: Likewise.
23271 * normal/x86_64: Likewise.
23272
0a15ce80 232732009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
23274
23275 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 23276 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 23277 * loader/i386/xnu_helper.S: Likewise
d6da58e6 23278
33db9015 232792009-05-18 Colin D Bennett <colin@gibibit.com>
23280
d6da58e6 23281 Display error messages when parsing a Lua statement fails.
23282 Previously, executing a syntactically invalid statement like
23283 ")foo" or "bar;" would silently fail.
33db9015 23284
23285 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 23286 (grub_lua_parse_line): Improved reporting of Lua parser and
23287 execution errors.
33db9015 23288
46422c89 232892009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
23290
23291 Remove -Werror which causes build to fail on some systems
23292
23293 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
23294 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
23295 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 23296
22f53a96 232972009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
23298
23299 trampoline for linux on 64-bit platform
23300
18f547ad 23301 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
23302 loader/i386/efi/linux_trampoline.S
23303 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 23304 declaration
d6da58e6 23305 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
23306 here
22f53a96 23307 * loader/i386/linux_trampoline.S: moved here
d6da58e6 23308 * loader/i386/efi/linux.c (allocate_pages): reserve space for
23309 trampoline
22f53a96 23310 (jumpvector): removed
23311 (grub_linux_trampoline_start): new declaration
23312 (grub_linux_trampoline_end): likewise
23313 (grub_linux_boot): use trampoline when on 64-bit platform
23314 * loader/i386/linux.c: likewise
23315
cb5a0f40 233162009-05-16 Pavel Roskin <proski@gnu.org>
23317
23318 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
23319 const to avoid a warning.
23320 (grub_lua_setenv): Likewise.
23321 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
23322 lmsg to fix a warning.
23323
334f2c28 233242009-05-16 Felix Zielcke <fzielcke@z-51.de>
23325
23326 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 23327 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
23328 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
23329 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
23330 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
23331 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
23332 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
23333 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 23334
59e5d3ec 233352009-05-16 Felix Zielcke <fzielcke@z-51.de>
23336
23337 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
23338
9d87a1ba 233392009-05-16 Bean <bean123ch@gmail.com>
23340
23341 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
23342 (lua_mod_SOURCES): New variable.
23343 (lua_mod_CFLAGS): Likewise.
23344 (lua_mod_LDFLAGS): Likewise.
23345
23346 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
23347 (setjmp_mod_SOURCES): New variable.
23348 (setjmp_mod_CFLAGS): Likewise.
23349 (setjmp_LDFLAGS): Likewise.
23350
23351 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
23352 (setjmp_mod_SOURCES): New variable.
23353 (setjmp_mod_CFLAGS): Likewise.
23354 (setjmp_LDFLAGS): Likewise.
23355
23356 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
23357 (setjmp_mod_SOURCES): New variable.
23358 (setjmp_mod_CFLAGS): Likewise.
23359 (setjmp_LDFLAGS): Likewise.
23360
23361 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
23362 (setjmp_mod_SOURCES): New variable.
23363 (setjmp_mod_CFLAGS): Likewise.
23364 (setjmp_LDFLAGS): Likewise.
23365
23366 * normal/i386/setjmp.S: Moved from here ...
23367 * lib/i386/setjmp.S: ... Moved here
23368 * normal/x86_64/setjmp.S: Moved from here ...
23369 * lib/x86_64/setjmp.S: ... Moved here
23370 * normal/powerpc/setjmp.S: Moved from here ...
23371 * lib/powerpc/setjmp.S: ... Moved here
23372 * normal/sparc64/setjmp.S: Moved from here ...
23373 * lib/sparc64/setjmp.S: ... Moved here
23374
23375 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
23376 returns_twice in mingw.
23377
23378 * script/lua/grub_lib.c: New file.
23379 * script/lua/grub_lib.h: Likewise.
23380 * script/lua/grub_lua.h: Likewise.
23381 * script/lua/grub_main.c: Likewise.
23382 * script/lua/lapi.c: Likewise.
23383 * script/lua/lapi.h: Likewise.
23384 * script/lua/lauxlib.c: Likewise.
23385 * script/lua/lauxlib.h: Likewise.
23386 * script/lua/lbaselib.c: Likewise.
23387 * script/lua/lcode.c: Likewise.
23388 * script/lua/lcode.h: Likewise.
23389 * script/lua/ldblib.c: Likewise.
23390 * script/lua/ldebug.c: Likewise.
23391 * script/lua/ldebug.h: Likewise.
23392 * script/lua/ldo.c: Likewise.
23393 * script/lua/ldo.h: Likewise.
23394 * script/lua/ldump.c: Likewise.
23395 * script/lua/lfunc.c: Likewise.
23396 * script/lua/lfunc.h: Likewise.
23397 * script/lua/lgc.c: Likewise.
23398 * script/lua/lgc.h: Likewise.
23399 * script/lua/linit.c: Likewise.
23400 * script/lua/liolib.c: Likewise.
23401 * script/lua/llex.c: Likewise.
23402 * script/lua/llex.h: Likewise.
23403 * script/lua/llimits.h: Likewise.
23404 * script/lua/lmathlib.c: Likewise.
23405 * script/lua/lmem.c: Likewise.
23406 * script/lua/lmem.h: Likewise.
23407 * script/lua/loadlib.c: Likewise.
23408 * script/lua/lobject.c: Likewise.
23409 * script/lua/lobject.h: Likewise.
23410 * script/lua/lopcodes.c: Likewise.
23411 * script/lua/lopcodes.h: Likewise.
23412 * script/lua/loslib.c: Likewise.
23413 * script/lua/lparser.c: Likewise.
23414 * script/lua/lparser.h: Likewise.
23415 * script/lua/lstate.c: Likewise.
23416 * script/lua/lstate.h: Likewise.
23417 * script/lua/lstring.c: Likewise.
23418 * script/lua/lstring.h: Likewise.
23419 * script/lua/lstrlib.c: Likewise.
23420 * script/lua/ltable.c: Likewise.
23421 * script/lua/ltable.h: Likewise.
23422 * script/lua/ltablib.c: Likewise.
23423 * script/lua/ltm.c: Likewise.
23424 * script/lua/ltm.h: Likewise.
23425 * script/lua/lua.h: Likewise.
23426 * script/lua/luaconf.h: Likewise.
23427 * script/lua/lualib.h: Likewise.
23428 * script/lua/lundump.c: Likewise.
23429 * script/lua/lundump.h: Likewise.
23430 * script/lua/lvm.c: Likewise.
23431 * script/lua/lvm.h: Likewise.
23432 * script/lua/lzio.c: Likewise.
23433 * script/lua/lzio.h: Likewise.
23434
5e898c9d 234352009-05-16 Bean <bean123ch@gmail.com>
23436
23437 * include/grub/kernel.h (grub_module_header_types): Add type
23438 OBJ_TYPE_CONFIG.
23439
23440 * kern/main.c (grub_load_config): New function.
23441 (grub_main): Call grub_load_config to read boot config.
23442
23443 * grub-mkimage (generate_image): New parameter config_path.
23444 (options): New option --config.
23445 (main): Parse --config option, and pass it to generate_image.
23446
cf353a47 234472009-05-14 Christian Franke <franke@computer.org>
23448
23449 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
23450 This fixes build on Cygwin.
23451
3834887f 234522009-05-14 Pavel Roskin <proski@gnu.org>
23453
23454 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
23455 jump. This saves two bytes, so the typical case of 2 swapped
23456 drives would fit 32 bytes.
23457
8090fc01 234582009-05-13 Pavel Roskin <proski@gnu.org>
23459
ac963883 23460 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
23461 grub_uint32_t to avoid a warning.
23462
8090fc01 23463 * loader/i386/linux.c (allocate_pages): When assigning
23464 real_mode_mem, cast through grub_size_t to fix a warning. The
23465 code already makes sure that the value would fit a pointer.
23466 (grub_linux_setup_video): Cast render_target->data to
23467 grub_size_t to fix a warning.
23468
18f547ad 234692009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 23470
23471 * commands/i386/pc/drivemap.c: New file - implement drivemap
23472 command.
23473 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
23474 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
23475
6f6a8b28 234762009-05-13 Pavel Roskin <proski@gnu.org>
23477
23478 * util/i386/pc/grub-setup.c (setup): Remove unused variable
23479 embedding_area_exists.
23480
15fbf4c4 234812009-05-13 Robert Millan <rmh.grub@aybabtu.com>
23482
23483 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
23484 it easier to understand / work with.
59978c8a 23485 Improve warning messages for cases where there's no embedding area,
23486 or when it is too small (or core.img too large).
15fbf4c4 23487
238e871f 234882009-05-13 Pavel Roskin <proski@gnu.org>
23489
0ab3a9a4 23490 * loader/i386/pc/multiboot2.c: Add necessary includes for
23491 grub_multiboot2_real_boot().
23492
a2c8c5f8 23493 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
23494 PX record is always little-endian. We only need the lower 2
23495 bytes of the mode.
23496
faec96af 23497 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
23498 facilitate code reuse.
23499 (grub_cpio_mount): Use "struct head", not a char buffer. This
23500 fixes a warning reported by gcc 4.4.
23501
238e871f 23502 * kernel/disk.c (grub_disk_read): Use void pointer for the
23503 buffer.
23504 (grub_disk_write): Use const void pointer for the buffer.
23505 Adjust all callers. Remove unnecessary casts.
23506
901d2f0c 235072009-05-10 Robert Millan <rmh.grub@aybabtu.com>
23508
23509 * util/i386/pc/grub-install.in: Update copyright year.
23510
18f547ad 235112009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 23512
23513 gptsync
23514
23515 * commands/gptsync.c: new file
23516 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
23517 (gptsync_mod_SOURCES): new variable
23518 (gptsync_mod_CFLAGS): likewise
23519 (gptsync_mod_LDFLAGS): likewise
18f547ad 23520 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 23521 new definition
23522 (GRUB_PC_PARTITION_TYPE_HFS): likewise
23523 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
23524 * conf/i386-ieee1275.rmk: likewise
23525 * conf/i386-pc.rmk: likewise
23526 * conf/powerpc-ieee1275.rmk: likewise
23527
b4ba690a 235282009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
23529
23530 Fixed grub-emu
23531
23532 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
23533 (grub_dl_ref): likewise
23534
317e1a44 235352009-05-08 Robert Millan <rmh.grub@aybabtu.com>
23536
23537 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
23538 split in two functions (one for msdos and one for gpt).
23539
041b8094 235402009-05-08 Pavel Roskin <proski@gnu.org>
23541
752473c2 23542 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
23543 not modified.
23544
041b8094 23545 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
23546 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
23547 Initialize them with -1. Add sanity check for bad1. Eliminate
23548 nerr variable.
23549
172800ce 235502009-05-08 David S. Miller <davem@davemloft.net>
23551
23552 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
23553
29aa5e81 235542009-05-06 Robert Millan <rmh.grub@aybabtu.com>
23555
23556 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 23557 existence.
29aa5e81 23558
96613b62 235592009-05-05 Felix Zielcke <fzielcke@z-51.de>
23560
23561 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 23562 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 23563
eef73c8a 235642009-05-05 David S. Miller <davem@davemloft.net>
23565
23566 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
23567
119494b5 235682009-05-05 Pavel Roskin <proski@gnu.org>
23569
23570 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
23571 of grub_dl_ref() and grub_dl_unref().
23572 * commands/parttool.c: Remove preprocessor conditionals around
23573 grub_dl_ref() and grub_dl_unref().
23574 * fs/affs.c: Likewise.
23575 * fs/afs.c: Likewise.
23576 * fs/cpio.c: Likewise.
23577 * fs/ext2.c: Likewise.
23578 * fs/fat.c: Likewise.
23579 * fs/hfs.c: Likewise.
23580 * fs/hfsplus.c: Likewise.
23581 * fs/iso9660.c: Likewise.
23582 * fs/jfs.c: Likewise.
23583 * fs/minix.c: Likewise.
23584 * fs/ntfs.c: Likewise.
23585 * fs/reiserfs.c: Likewise.
23586 * fs/sfs.c: Likewise.
23587 * fs/udf.c: Likewise.
23588 * fs/ufs.c: Likewise.
23589 * fs/xfs.c: Likewise.
23590 * include/grub/dl.h: Likewise.
23591 * loader/xnu.c: Likewise.
23592
de5fd76e 235932009-05-04 Pavel Roskin <proski@gnu.org>
23594
23595 * commands/acpi.c: Remove unused variable my_mod.
23596 * partmap/amiga.c: Likewise.
23597 * partmap/apple.c: Likewise.
23598 * partmap/gpt.c: Likewise.
23599 * partmap/pc.c: Likewise.
23600 * partmap/sun.c: Likewise.
23601 * term/gfxterm.c: Likewise.
23602 * term/i386/pc/vesafb.c: Likewise.
23603 * term/i386/pc/vga.c: Likewise.
23604
983598ad 236052009-05-04 David S. Miller <davem@davemloft.net>
23606
23607 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
23608 pointer args to grub_ieee1275_get_property().
23609
8aadec43 23610 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
23611
9554b15e 23612 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
23613 devices, and do not traverse down under controller nodes.
23614
67e23c90 23615 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
23616 (grub_ofdisk_open): Use it to un-escape "," characters.
23617 * kern/disk.c (find_part_sep): New.
23618 (grub_disk_open): Use it to find the first non-escaped ','
23619 character in the disk name.
23620 * util/ieee1275/devicemap.c (escape_of_path): New.
23621 (grub_util_emit_devicemap_entry): Use it.
23622 * util/sparc64/ieee1275/grub-install.in: Update script to
23623 strip partition specifiers properly by not triggering on
23624 '\' escaped ',' characters.
23625
74bfdd2f 236262009-05-04 Robert Millan <rmh.grub@aybabtu.com>
23627
23628 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
23629 to 0x300.
23630 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
23631 resolutions.
23632 (linux_vesafb_modes): Add a lot of additional modes to the list (based
23633 on documentation from Wikipedia).
23634
4241d2b1 236352009-05-04 Pavel Roskin <proski@gnu.org>
23636
23637 * disk/ata.c: Spelling fixes.
23638 * disk/raid.c: Likewise.
23639 * disk/usbms.c: Likewise.
23640 * disk/dmraid_nvidia.c: Likewise.
23641 * kern/ieee1275/openfw.c: Likewise.
23642 * kern/ieee1275/init.c: Likewise.
23643 * kern/ieee1275/cmain.c: Likewise.
23644 * boot/i386/pc/cdboot.S: Likewise.
23645 * video/readers/png.c: Likewise.
23646 * video/i386/pc/vbe.c: Likewise.
23647 * fs/udf.c: Likewise.
23648 * fs/hfs.c: Likewise.
23649 * fs/reiserfs.c: Likewise.
23650 * efiemu/runtime/efiemu.c: Likewise.
23651 * efiemu/main.c: Likewise.
23652 * efiemu/mm.c: Likewise.
23653 * include/grub/elf.h: Likewise.
23654 * include/grub/xnu.h: Likewise.
23655 * include/grub/usbdesc.h: Likewise.
23656 * include/grub/usb.h: Likewise.
23657 * include/grub/script_sh.h: Likewise.
23658 * include/grub/lib/LzmaEnc.h: Likewise.
23659 * include/grub/efiemu/efiemu.h: Likewise.
23660 * include/grub/command.h: Likewise.
23661 * normal/menu.c: Likewise.
23662 * normal/main.c: Likewise.
23663 * normal/datetime.c: Likewise.
23664 * bus/usb/uhci.c: Likewise.
23665 * mmap/i386/uppermem.c: Likewise.
23666 * mmap/mmap.c: Likewise.
23667 * commands/acpi.c: Likewise.
23668 * commands/test.c: Likewise.
23669 * partmap/apple.c: Likewise.
23670 * font/font.c: Likewise.
23671 * loader/sparc64/ieee1275/linux.c: Likewise.
23672 * loader/macho.c: Likewise.
23673 * loader/i386/bsd_trampoline.S: Likewise.
23674 * loader/i386/bsd.c: Likewise.
23675 * loader/xnu.c: Likewise.
23676 * term/i386/pc/vesafb.c: Likewise.
23677 * term/usb_keyboard.c: Likewise.
23678 * util/resolve.c: Likewise.
23679 * util/getroot.c: Likewise.
23680
0cfc0083 236812009-05-04 Felix Zielcke <fzielcke@z-51.de>
23682
23683 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
23684
7c1d00cd 236852009-05-04 Robert Millan <rmh.grub@aybabtu.com>
23686
23687 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
23688 build error.
23689
b01f0548 236902009-05-04 Robert Millan <rmh.grub@aybabtu.com>
23691
23692 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
23693 parameter only available on BIOS.
23694
ecc3eb22 236952009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
23696
23697 Removed wrong semicolon in declaration
23698
23699 * grub/misc.h (grub_dprintf): remove semicolon
23700
112972a9 237012009-05-04 Robert Millan <rmh.grub@aybabtu.com>
23702
23703 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
23704 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
23705 is done by grub_cmd_linux() now).
23706 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
23707 restore video to text mode.
23708 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
23709 indicates lack of "vga=" parameter. "vga=0" is mapped to
23710 `GRUB_LINUX_VID_MODE_NORMAL'.
23711
afd5c115 237122009-05-04 Felix Zielcke <fzielcke@z-51.de>
23713
23714 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
23715 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
23716 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 23717 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 23718 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
23719 `grub_script.tab.c'.
23720
23721 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23722 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23723 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23724 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
23725 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23726
faa517ce 23727 * Makefile.in: Remove duplicated 2008 in Copyright line.
23728
ae0c0bdc 237292009-05-04 Robert Millan <rmh.grub@aybabtu.com>
23730
473d1e45 23731 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 23732 unconditionally.
23733 * include/grub/util/misc.h (grub_util_warn): New declaration.
23734
23735 * util/i386/pc/grub-install.in: Understand --force and pass it down
23736 to grub-setup.
23737
23738 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
23739 down to setup().
23740 (setup): Improve error messages and add warnings when requested to
23741 install in odd layouts. Refuse to install using blocklists unless
23742 --force was set.
23743
18f547ad 237442009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 23745
23746 * disk/raid.c (grub_raid_scan_device): Improve debug message.
23747
6d260daa 237482009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
23749
23750 Updated copyright year
23751
23752 * fs/hfsplus.c: updated copyright year
18f547ad 23753
69f853f8 237542009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
23755
23756 HFS+ UUID
23757
18f547ad 23758 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 23759 in the space previously used by unused3
23760 (grub_hfsplus_uuid): new function
23761 (grub_hfsplus_fs): added uuid field
23762
4c402e73 237632009-05-03 Pavel Roskin <proski@gnu.org>
23764
23765 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
23766 suppress warnings. It's no longer needed.
23767 * disk/host.c: Likewise.
23768 * disk/ata_pthru.c: Likewise.
23769 * disk/loopback.c: Likewise.
23770 * hook/datehook.c: Likewise.
23771 * parttool/pcpart.c: Likewise.
23772 * fs/i386/pc/pxe.c: Likewise.
23773 * fs/ntfscomp.c: Likewise.
23774 * efiemu/main.c: Likewise.
23775 * mmap/mmap.c: Likewise.
23776 * commands/crc.c: Likewise.
23777 * commands/hexdump.c: Likewise.
23778 * commands/hdparm.c: Likewise.
23779 * commands/acpi.c: Likewise.
23780 * commands/echo.c: Likewise.
23781 * commands/minicmd.c: Likewise.
23782 * commands/blocklist.c: Likewise.
23783 * commands/memrw.c: Likewise.
23784 * commands/loadenv.c: Likewise.
23785 * commands/usbtest.c: Likewise.
23786 * commands/lsmmap.c: Likewise.
23787 * commands/boot.c: Likewise.
23788 * commands/parttool.c: Likewise.
23789 * commands/configfile.c: Likewise.
23790 * commands/search.c: Likewise.
23791 * commands/ieee1275/suspend.c: Likewise.
23792 * commands/cat.c: Likewise.
23793 * commands/i386/pc/pxecmd.c: Likewise.
23794 * commands/i386/pc/play.c: Likewise.
23795 * commands/i386/pc/halt.c: Likewise.
23796 * commands/i386/pc/vbeinfo.c: Likewise.
23797 * commands/i386/pc/vbetest.c: Likewise.
23798 * commands/lspci.c: Likewise.
23799 * commands/date.c: Likewise.
23800 * commands/handler.c: Likewise.
23801 * commands/ls.c: Likewise.
23802 * commands/test.c: Likewise.
23803 * commands/cmp.c: Likewise.
23804 * commands/efi/loadbios.c: Likewise.
23805 * commands/efi/fixvideo.c: Likewise.
23806 * commands/halt.c: Likewise.
23807 * commands/help.c: Likewise.
23808 * commands/reboot.c: Likewise.
23809 * hello/hello.c: Likewise.
23810 * script/sh/main.c: Likewise.
23811 * loader/xnu.c: Likewise.
23812 * term/terminfo.c: Likewise.
23813 * term/i386/pc/serial.c: Likewise.
23814 * term/usb_keyboard.c: Likewise.
23815
515b5079 238162009-05-03 David S. Miller <davem@davemloft.net>
23817
23818 * normal/menu.c: Include grub/parser.h
23819
dfc31a22 238202009-05-03 Pavel Roskin <proski@gnu.org>
23821
2fee74f1 23822 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
23823 not char*.
23824 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
23825 Suggested by Javier Martín <lordhabbit@gmail.com>
23826
dfc31a22 23827 * util/i386/pc/grub-mkrescue.in: Allow for the case when
23828 efiemu??.o doesn't exist.
23829 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
23830 copying.
23831
18f547ad 238322009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 23833
23834 FreeBSD 64-bit support
23835
18f547ad 23836 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 23837 and loader/i386/bsd_trampoline.S
23838 (bsd_mod_ASFLAGS): new variable
23839 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
23840 (FREEBSD_MODTYPE_KERNEL64): likewise
23841 (grub_bsd64_trampoline_start): likewise
23842 (grub_bsd64_trampoline_end): likewise
23843 (grub_bsd64_trampoline_selfjump): likewise
23844 (grub_bsd64_trampoline_gdt): likewise
23845 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
23846 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
23847 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
23848 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 23849 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 23850 of "attrib" member
23851 * loader/i386/bsd_pagetable.c: new file
23852 * loader/i386/bsd_trampoline.S: likewise
23853 * loader/i386/bsd.c (ALIGN_QWORD): new macro
23854 (ALIGN_VAR): likewise
23855 (entry_hi): new variable
23856 (kern_end_mdofs): likewise
23857 (is_64bit): likewise
23858 (grub_freebsd_add_meta): use ALIGN_VAR
23859 (grub_e820_mmap): new declaration
23860 (grub_freebsd_add_mmap): new function
23861 (grub_freebsd_add_meta_module): support 64 bit kernels
23862 (grub_freebsd_list_modules): use ALIGN_VAR
23863 (gdt_descriptor): new declaration
23864 (grub_freebsd_boot): support 64 bit kernels
23865 (grub_bsd_elf64_hook): new function
23866 (grub_bsd_load_elf): support elf64
23867
038c5720 238682009-05-03 Bean <bean123ch@gmail.com>
23869
23870 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
23871 after we get the result of if statement.
23872
fc45fb58 238732009-05-03 Bean <bean123ch@gmail.com>
23874
23875 * Makefile.in (enable_efiemu): New variable.
23876
23877 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
23878 set.
23879 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
23880 path.
23881 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
23882 path, add -mno-red-zone option.
23883 (efiemu64_s.o): Likewise.
23884 (efiemu64.o): Use macro $^ for source file.
23885
23886 * configure.ac (--enable-efiemu): New option.
23887
bbee0f2b 238882009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
23889
23890 xnu support
23891
23892 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
23893 (pkglib_MODULES): add xnu.mod
23894 (xnu_mod_SOURCES): new variable
23895 (xnu_mod_CFLAGS): likewise
23896 (xnu_mod_LDFLAGS): likewise
23897 (xnu_mod_ASFLAGS): likewise
23898 * conf/i386-pc.rmk: likewise
23899 * conf/x86_64-efi.rmk: likewise
7dd4a573 23900 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 23901 new declaration
23902 * include/grub/i386/macho.h: new file
23903 * include/grub/i386/xnu.h: likewise
23904 * include/grub/macho.h: likewise
23905 * include/grub/machoload.h: likewise
23906 * include/grub/x86_64/macho.h: likewise
23907 * include/grub/x86_64/xnu.h: likewise
23908 * include/grub/xnu.h: likewise
23909 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
23910 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
23911 * loader/i386/efi/xnu.c: new file
23912 * loader/i386/pc/xnu.c: likewise
23913 * loader/i386/xnu.c: likewise
23914 * loader/i386/xnu_helper.S: likewise
23915 * loader/macho.c: likewise
23916 * loader/xnu.c: likewise
23917 * loader/xnu_resume.c: likewise
23918 * util/grub-dumpdevtree: likewise
23919 * include/grub/i386/pit.h: include grub/err.h
23920 (grub_pit_wait): export
23921 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 23922
5caf964d 239232009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
23924
23925 Efiemu
7dd4a573 23926
5caf964d 23927 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 23928 _linux_efi, linux_efi.
23929 new files in grub-emu
5caf964d 23930 new targets efiemu32.o and efiemu64.o
23931 * loader/linux_normal_efiemu.c: likewise
23932 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 23933 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 23934 files to copy
23935 * include/grub/autoefi.h: new file
7dd4a573 23936 * include/grub/i386/efiemu.h: likewise
5caf964d 23937 * include/grub/i386/pc/efiemu.h: likewise
23938 * include/grub/efi/api.h: add LL suffix when necessary
23939 new definitions relating to tables
23940 * include/grub/efiemu/efiemu.h: new file
23941 * include/grub/efiemu/runtime.h: likewise
23942 * efiemu/prepare.c: likewise
23943 * efiemu/loadcore_common.c: likewise
23944 * efiemu/loadcore64.c: likewise
23945 * efiemu/runtime/efiemu.sh: likewise
23946 * efiemu/runtime/efiemu.S: likewise
23947 * efiemu/runtime/efiemu.c: likewise
23948 * efiemu/runtime/config.h: likewise
23949 * efiemu/prepare32.c: likewise
23950 * efiemu/main.c: likewise
23951 * efiemu/modules/pnvram.c: likewise
23952 * efiemu/modules/i386: likewise
23953 * efiemu/modules/i386/pc: likewise
23954 * efiemu/modules/acpi.c: likewise
23955 * efiemu/i386/pc/cfgtables.c: likewise
23956 * efiemu/i386/loadcore64.c: likewise
23957 * efiemu/i386/loadcore32.c: likewise
23958 * efiemu/prepare64.c: likewise
23959 * efiemu/loadcore.c: likewise
23960 * efiemu/symbols.c: likewise
23961 * efiemu/mm.c: likewise
23962 * efiemu/loadcore32.c: likewise
7dd4a573 23963
239642009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 23965
23966 ACPI spoofing
23967
23968 * commands/acpi.c: new file
23969 * commands/i386/pc/acpi.c: likewise
23970 * commands/efi/acpi.c: likewise
23971 * include/grub/acpi.h: likewise
23972 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
23973 (acpi_mod_SOURCES): new variable
23974 (acpi_mod_CFLAGS): likewise
23975 (acpi_mod_LDFLAGS): likewise
23976 * conf/i386-efi.rmk: likewise
23977 * conf/x86_64-efi.rmk: likewise
23978
7dd4a573 239792009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 23980
23981 Missing part from mmap patch
23982
23983 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
23984 (grub_mmap_unregister)
23985 (grub_mmap_free_and_unregister): use grub_mmap_register
23986
7dd4a573 239872009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 23988
23989 Mmap services
23990
23991 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
23992 * loader/i386/linux.c (find_mmap_size): likewise
23993 (allocate_pages): likewise
23994 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
23995 (grub_fill_multiboot_mmap): likewise
23996 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
23997 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
23998 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
23999 (OPENBSD_MMAP_RESERVED): likewise
24000 * include/grub/i386/pc/memory.h: include grub/memory.h
24001 (grub_lower_mem): removed
24002 (grub_upper_mem): likewise
24003 (GRUB_MACHINE_MEMORY_ACPI): new definition
24004 (GRUB_MACHINE_MEMORY_NVS): likewise
24005 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
24006 (GRUB_MACHINE_MEMORY_HOLE): likewise
24007 (grub_machine_mmap_register): likewise
24008 (grub_machine_mmap_unregister): likewise
24009 (grub_machine_get_upper): likewise
24010 (grub_machine_get_lower): likewise
24011 (grub_machine_get_post64): likewise
24012 * include/grub/i386/efi/memory.h: new file
24013 * include/grub/x86_64/efi/memory.h: likewise
24014 * include/grub/efi/memory.h: likewise
24015 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
24016 (mmap_mod_SOURCES): new variable
24017 (mmap_mod_LDFLAGS): likewise
24018 (mmap_mod_ASFLAGS): likewise
24019 * conf/i386-coreboot.rmk: likewise
24020 * conf/i386-ieee1275.rmk: likewise
24021 * conf/i386-efi.rmk: likewise
24022 * conf/x86_64-efi.rmk: likewise
24023 * include/grub/types.h (UINT_TO_PTR): new macro
24024 (PTR_TO_UINT32): likewise
24025 (PTR_TO_UINT64): likewise
24026 * include/grub/memory.h: new file
24027 * mmap/i386/pc/mmap.c: likewise
24028 * mmap/i386/pc/mmap_helper.S: likewise
24029 * mmap/i386/uppermem.c: likewise
24030 * mmap/mmap.c: likewise
24031 * mmap/efi/mmap.c: likewise
7dd4a573 24032 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 24033 grub_upper_mem
24034 * kern/i386/pc/init.c (grub_lower_mem): removed variable
24035 (grub_upper_mem): likewise
24036 (grub_machine_init): don't use grub_upper_mem,
24037 make grub_lower_mem local
24038 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
24039 grub_mmap_iterate and grub_mmap_get_upper
24040 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
24041
d558e6b5 240422009-05-02 Bean <bean123ch@gmail.com>
24043
24044 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
24045 script/sh/parser.y.
24046 (pkglib_MODULES): Add normal.mod and sh.mod.
24047 (normal_SOURCES): New variable.
24048 (normal_mod_CFLAGS): Likewise.
24049 (normal_mod_LDFLAGS): Likewise.
24050 (sh_mod_SOURCES): Likewise.
24051 (sh_mod_CFLAGS): Likewise.
24052 (sh_mod_LDFLAGS): Likewise.
24053
24054 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
24055 script/sh/lexer.c_DEPENDENCIES.
24056 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
24057 kern/rescue_reader.c and kern/rescue_parser.c.
24058 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
24059 (grub_emu_SOURCES): Change source files.
24060 (pkglib_MODULES): Remove normal.mod.
24061 (normal_SOURCES): Removed.
24062 (normal_mod_CFLAGS): Likewise.
24063 (normal_mod_LDFLAGS): Likewise.
24064 * conf/i386-coreboot.rmk: Likewise.
24065 * conf/i386-efi.rmk: Likewise.
24066 * conf/i386-ieee1276.rmk: Likewise.
24067 * conf/powerpc-ieee1275.rmk: Likewise.
24068 * conf/sparc64-ieee1275.rmk: Likewise.
24069 * conf/x86_64-efi.rmk: Likewise.
24070
24071 * include/grub/command.h (grub_command_execute): New inline function.
24072
24073 * include/grub/menu.h (grub_menu_entry): Removed commands field.
24074
24075 * include/grub/normal.h: Remove <grub/setjmp.h>.
24076 (grub_fs_module_list): Moved to normal/autofs.c.
24077 (grub_exit_env): Removed.
24078 (grub_command_execute): Likewise.
24079 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
24080 parameter script.
24081 (read_command_list): New function declaration.
24082 (read_fs_list): Likewise.
24083
24084 * include/parser.h: Include <grub/reader.h>.
24085 (grub_parser_split_cmdline): Change type of getline parameter.
24086 (grub_parser): New structure.
24087 (grub_parser_class): New variable.
24088 (grub_parser_execute): New function declaration.
24089 (grub_register_rescue_parser): Likewise.
24090 (grub_parser_register): New inline function.
24091 (grub_parser_unregister): Likewise.
24092 (grub_parser_get_current): Likewise.
24093 (grub_parser_set_current): Likewise.
24094
24095 * include/grub/reader.h: New file.
24096 * kern/reader.c: Likewise.
24097 * kern/rescue_parser.c: Likewise.
24098 * kern/rescue_reader.c: Likewise.
24099 * normal/autofs.c: Likewise.
24100 * normal/dyncmd.c: Likewise.
24101
24102 * include/grub/rescue.h: Removed.
24103 * normal/command.h: Likewise.
24104
24105 * include/grub/script.h: Moved to ...
24106 * include/grub/script_sh.h: ... Moved here.
24107 * normal/execute.c: Moved to ...
24108 * script/sh/execute.c: ... Moved here.
24109 * normal/function.c: Moved to ...
24110 * script/sh/function.c: ... Moved here.
24111 * normal/lexer.c: Moved to ...
24112 * script/sh/lexer.c: ... Moved here.
24113 * normal/parser.y: Moved to ...
24114 * script/sh/parser.y: ... Moved here.
24115 * normal/script.c: Moved to ...
24116 * script/sh/script.c: ... Moved here.
24117
24118 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
24119 <grub/reader.h>.
24120 (grub_exit_env): Removed.
24121 (fs_module_list): Moved to normal/autofs.c.
24122 (grub_file_getline): Don't handle comment here.
24123 (free_menu): Skip removed field entry->commands.
24124 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
24125 script parameter.
24126 (read_config_file): Removed nested parameter, change getline function.
24127 (grub_enter_normal_mode): Removed.
24128 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
24129 (read_command_list): Likewise.
24130 (autoload_fs_module): Moved to normal/autofs.c.
24131 (read_fs_list): Likewise.
24132 (reader_nested): New variable.
24133 (grub_normal_execute): Run parser.sh to switch to sh parser.
24134 (grub_cmd_rescue): Removed.
24135 (cmd_normal): Removed.
24136 (grub_cmd_normal): Unregister itself at the beginning. Don't register
24137 rescue command.
24138 (grub_cmdline_run): New function.
24139 (grub_normal_reader_init): Likewise.
24140 (grub_normal_read_line): Likewise.
24141 (grub_env_write_pager): Likewise.
24142 (cmdline): New variable.
24143 (grub_normal_reader): Likewise.
24144 (GRUB_MOD_INIT): Register normal reader and set as current, register
24145 pager hook, register normal command with grub_register_command_prio,
24146 so that it won't show up in command.lst.
24147 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
24148 grub_fs_autoload_hook.
24149
24150 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
24151 (grub_menu_execute_entry): Replace grub_script_execute with
24152 grub_parser_execute, change parameter to grub_command_execute.
24153
24154 * normal/menu_text.c: Remove <grub/script.h>.
24155
24156 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
24157 and <grub/parser.h>.
24158 (run): Change editor_getline to use new parser interface. Change
24159 parameter to grub_command_execute.
24160
24161 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
24162 <grub/reader.h> and <grub/parser.h>.
24163 (grub_load_normal_mode): Execute normal command.
24164 (grub_main): Call grub_register_core_commands,
24165 grub_register_rescue_parser and grub_register_rescue_reader, use
24166 grub_reader_loop to enter input loop.
24167
7dd4a573 24168 * kern/parser.c (grub_parser_split_cmdline): Change type of
24169 getline parameter.
d558e6b5 24170 (grub_parser_class): New variable.
24171 (grub_parser_execute): New function.
24172
24173 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
24174 * loader/multiboot2.c: Likewise.
24175 * loader/sparc64/ieee1275/linux.c: Likewise.
24176
24177 * util/grub-emu.c (read_command_list): New dummy function.
24178
18db813d 241792009-05-02 Robert Millan <rmh.grub@aybabtu.com>
24180
24181 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
24182 count to 16 for CCISS and IDA.
24183
6c67de15 241842009-05-02 Robert Millan <rmh.grub@aybabtu.com>
24185
24186 * normal/menu_text.c (grub_wait_after_message): Print a newline
24187 after waiting for user input.
24188
24189 * loader/i386/linux.c: Include `<grub/normal.h>'.
24190 (grub_cmd_linux): Improve the error message about `ask' mode, by
24191 waiting for user input so it's not missed (we can do this, since
24192 user requested interaction).
24193
d9dc87b0 241942009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
24195
24196 Added missing lst to grub-mkrescue
24197
24198 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
24199 and ${input_dir}/parttool.lst
24200
ac8a2baa 242012009-04-30 David S. Miller <davem@davemloft.net>
24202
ad22a610 24203 * util/hostdisk.c (device_is_wholedisk): New function.
24204 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
24205 zero only if device_is_wholedisk() returns true.
24206
6966215d 24207 * util/hostdisk.c (convert_system_partition_to_system_disk):
24208 Handle virtual disk devices named /dev/vdiskX as found on sparc
24209 and powerpc.
24210
ac8a2baa 24211 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
24212 lettered partition specifier is found, convert to numbered.
24213
979b4fb4 242142009-04-29 David S. Miller <davem@davemloft.net>
24215
e2bf39b2 24216 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
24217 * include/grub/sparc64/ieee1275/memory.h: Likewise.
24218
3c64e104 24219 * normal/command.c: Add missing newline at end of file.
24220
979b4fb4 24221 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
24222 warnings.
24223 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
24224 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
24225 grub_ofdisk_read): Likewise, and deal similarly with the fact that
24226 ihandles have a 32-bit type but need to be stored in a "void *".
24227
136d9f82 242282009-04-28 Pavel Roskin <proski@gnu.org>
24229
9459c306 24230 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
24231 not disk. Adjust all dependencies.
2e08a26a 24232 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 24233 grub_disk_close().
24234
136d9f82 24235 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
24236 parent's partition, don't copy it by reference, as it gets freed
24237 on close.
24238
7dd4a573 242392009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 24240
24241 Preboot hooks support
24242
24243 * commands/boot.c (struct grub_preboot_t): new declaration
24244 (preboots_head): new variable
24245 (preboots_tail): likewise
24246 (grub_loader_register_preboot_hook): new function
24247 (grub_loader_unregister_preboot_hook): likewise
24248 (grub_loader_set): launch preboot hooks
24249 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
24250 (grub_loader_register_preboot_hook): new declaration
24251 (grub_loader_unregister_preboot_hook): likewise
24252
5af922b5 242532009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
24254
24255 Warning fix
24256
7dd4a573 24257 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 24258 calling grub_dprintf
24259
a5562c30 242602009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
24261
24262 Bug and warning fixes
24263
7dd4a573 24264 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 24265 declaration
24266 * commands/test.c (test_parse): fixed bug with file tests and corrected
24267 declaration of find_file
24268
4006f85c 242692009-04-26 Pavel Roskin <proski@gnu.org>
24270
24271 * Makefile.in: Don't install empty manual pages if help2man is
24272 missing. Use help2man option for output, not shell redirection.
24273
5c77c3de 242742009-04-26 David S. Miller <davem@davemloft.net>
24275
24276 * util/grub-mkdevicemap.c (make_device_map): Add missing
24277 NESTED_FUNC_ATTR to process_device().
24278
033b10a8 242792009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
24280
24281 Test command
24282
24283 * commands/test.c: rewritten to use bash-like test
24284
e4343593 242852009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
24286
24287 Parttool autoloading and improvements
24288
7dd4a573 24289 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 24290 (parttool.lst): new target
24291 * genmk.rb: generate parttool-*
24292 (CLEANFILES): add #{parttool}
24293 (PARTTOOLFILES): new variable
24294 * genparttoollist.sh: new file
7dd4a573 24295 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 24296 (grub_pcpart_type): likewise
24297 * commands/parttool.c (helpmsg): new variable
24298 (grub_cmd_parttool): output help if not enough arguments are supplied
24299 autoload modules
24300 (GRUB_MOD_INIT(parttool)): use helpmsg
24301
0d312500 243022009-04-24 David S. Miller <davem@davemloft.net>
24303
7dd4a573 24304 Avoiding opening same device multiple times in device iterator.
0d312500 24305
24306 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 24307 and use it to build a list of partitions in iterate_disk() and
0d312500 24308 iterate_partition().
24309
ac20caff 24310 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
24311 on disk->data.
24312
0dcf7495 24313 * disk/ieee1275/nand.c (grub_nand_iterate): Return
24314 grub_devalias_iterate() result instead of unconditional 0.
24315 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
24316 Also, capture hook return value, either directly or via
24317 grub_children_iterate(), and propagate to caller.
24318 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
24319 grub_children_iterate): Return value is now 'int' instead of
24320 'grub_err_t'.
24321 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
24322 like a proper iterator, stopping when hooks return non-zero.
24323 (grub_devalias_iterate): Likewise.
24324
c8c08833 243252009-04-23 David S. Miller <davem@davemloft.net>
24326
24327 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
24328
f01005a8 243292009-04-22 David S. Miller <davem@davemloft.net>
24330
24331 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
24332 is larger than address_cells, use that value for address_cells too.
24333
4e8269da 24334 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
24335 IEEE1275_MAX_PATH_LEN): Define.
24336 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
24337 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
24338 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
24339 'devtype'. Explicitly NULL terminate devalias expansion.
24340
a1447506 24341 * util/sparc64/ieee1275/misc.c: New file.
24342 * util/sparc64/ieee1275/grub-setup.c: New file.
24343 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
24344 * util/sparc64/ieee1275/grub-mkimage.c: New file.
24345 * util/sparc64/ieee1275/grub-install.in: New file.
24346 * util/ieee1275/ofpath.c: New file.
24347 * util/ieee1275/devicemap.c: New file.
24348 * util/devicemap.c: New file.
24349 * util/deviceiter.c: New file.
24350 * kern/sparc64/ieee1275/init.c: New file.
24351 * include/grub/util/ofpath.h: New file.
24352 * include/grub/util/deviceiter.h: New file.
24353 * util/grub-mkdevicemap.c: Include deviceiter.h.
24354 Implement using grub_util_emit_devicemap_entry and
24355 grub_util_iterate_devices.
24356 * conf/i386-corebook.rmk: Build util/deviceiter.c and
24357 util/devicemap.c into grub-mkdevicemap
24358 * conf/i386-efi.rmk: Likewise.
24359 * conf/i386-ieee1275.rmk: Likewise.
24360 * conf/i386-pc.rmk: Likewise.
24361 * conf/powerpc-ieee1275.rmk: Likewise.
24362 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
24363 images and installation utilities. Build kernel as image
24364 instead of as elf binary. Use common rules as much as possible.
24365
7dd4a573 243662009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 24367
24368 Correct GPT definition
24369
7dd4a573 24370 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 24371 of "attrib" member
24372
c6c5219f 243732009-04-19 Felix Zielcke <fzielcke@z-51.de>
24374
24375 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
24376
0552ff9f 243772009-04-19 David S. Miller <davem@davemloft.net>
24378
24379 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
24380 (grub_rescue_cmd_linux): Rename to...
24381 (grub_cmd_linux): and fix prototype.
24382 (grub_rescue_cmd_initrd): Rename to...
24383 (grub_cmd_initrd): and fix prototype.
24384 (cmd_linux, cmd_initrd): New.
24385 (GRUB_MOD_INIT(linux)): Use grub_register_command().
24386 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
24387
d1a282fc 243882009-04-17 Pavel Roskin <proski@gnu.org>
24389
07c5039f 24390 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
24391 format.
24392 (grub_ohci_transfer): Likewise.
24393
b012002d 24394 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
24395
1bc09c35 24396 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
24397 return without a value. Fix inconsistent indentation.
24398
e0ff9126 24399 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
24400 match struct grub_fs.
24401
d1a282fc 24402 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
24403 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
24404 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
24405 * commands/lspci.c (grub_lspci_iter): Likewise.
24406
a96df3f2 244072009-04-16 Bean <bean123ch@gmail.com>
24408
24409 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
24410 value.
24411
41bb0fe9 244122009-04-15 Pavel Roskin <proski@gnu.org>
24413
24414 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
24415 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
24416 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
24417 definitions.
24418
596c6970 244192009-04-15 Felix Zielcke <fzielcke@z-51.de>
24420
24421 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 24422 that no multiple data or metadata areas are supported and `Unknown
596c6970 24423 metadata header'.
24424
7dd4a573 244252009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 24426
24427 Move loader out of the kernel
24428
24429 * kern/loader.c: moved to ...
24430 * commands/boot.c: ... moved here
24431 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
24432 * commands/boot.c (grub_cmd_boot): moved here. All users updated
24433 * include/grub/kernel.h (grub_machine_fini): export
24434 * include/grub/loader.h (grub_loader_is_loaded): update declaration
24435 (grub_loader_set): likewise
24436 (grub_loader_unset): likewise
24437 (grub_loader_boot): likewise
24438 * conf/common.rmk: new module boot.mod
24439 (pkglib_MODULES): add boot.mod
24440 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
24441 (grub_emu_SOURCES): likewise
24442 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
24443 (grub_emu_SOURCES): likewise
24444 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
24445 (grub_emu_SOURCES): likewise
24446 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
24447 (grub_emu_SOURCES): likewise
24448 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
24449 (grub_emu_SOURCES): likewise
7dd4a573 24450 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
24451 (grub_emu_SOURCES): likewise
0d5d5653 24452 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 24453 (grub_emu_SOURCES): likewise
0d5d5653 24454
7dd4a573 244552009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 24456
24457 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 24458
5999d619 24459 * kern/misc.c (grub_itoa): Removed function
24460 (grub_ltoa): likewise
24461 (grub_vsprintf): use grub_lltoa
24462
7dd4a573 244632009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 24464
24465 Restore grub-emu
24466
24467 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
24468 * conf/i386-coreboot.rmk: likewise
24469 * conf/i386-ieee1275.rmk: likewise
24470 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 24471
20318222 244722009-04-15 Felix Zielcke <fzielcke@z-51.de>
24473
24474 * INSTALL: Add that `./autogen.sh' needs to be run before
24475 `./configure.'.
24476
d05f0df3 244772009-04-14 Bean <bean123ch@gmail.com>
24478
24479 * Makefile.in (pkglib_DATA): Add handler.lst.
24480 (handler.lst): New rule.
24481
24482 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
24483 * conf/i386-coreboot.rmk: Likewise.
24484 * conf/i386-ieee1275.rmk: Likewise.
24485 * conf/i386-efi.rmk: Likewise.
24486 * conf/x86_64-efi.rmk: Likewise.
24487 * conf/powerpc-ieee1275.rmk: Likewise.
24488 * conf/sparc64-ieee1275.rmk: Likewise.
24489
24490 * genhandlerlist.sh: New file.
24491
24492 * genmk.rb: Add rules to generate handler.lst.
24493
24494 * include/grub/normal.h (grub_file_getline): New function definition.
24495 (read_handler_list): Likewise.
24496 (free_handler_list): Likewise.
24497
24498 * include/grub/term.h (grub_term_register_input): Add name parameter
24499 for auto generation of handler.lst.
24500 (grub_term_register_output): Likewise.
24501
24502 * normal/handler.c: New file.
24503
24504 * normal/main.c (get_line): Renamed to grub_file_getline.
24505 (read_config_file): Use the newly renamed grub_file_getline.
24506 (read_command_list): Likewise.
24507 (read_fs_list): Likewise.
24508 (grub_normal_execute): Call read_handler_list to parse handler.lst.
24509 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
24510
24511 * term/efi/console.c (grub_console_init): Add name parameter for auto
24512 generation of handler.lst.
24513 * term/gfxterm.c: Likewise.
24514 * term/i386/pc/at_keyboard.c: Likewise.
24515 * term/i386/pc/console.c: Likewise.
24516 * term/i386/pc/serial.c: Likewise.
24517 * term/i386/pc/vesafb.c: Likewise.
24518 * term/i386/pc/vga.c: Likewise.
24519 * term/i386/pc/vga_text.c: Likewise.
24520 * term/ieee1275/ofconsole.c: Likewise.
24521 * term/usb_keyboard.c: Likewise.
24522
33c846be 245232009-04-14 Bean <bean123ch@gmail.com>
24524
24525 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
24526 properly with null character.
24527
4484e01e 245282009-04-14 Felix Zielcke <fzielcke@z-51.de>
24529
24530 * configure: Remove.
24531 * config.h.in: Likewise.
f93d668e 24532 * stamp-h.in: Likewise.
4484e01e 24533 * DISTLIST: Likewise.
24534 * conf/common.mk: Likewise.
24535 * conf/i386-coreboot.mk: Likewise.
24536 * conf/i386-efi.mk: Likewise.
24537 * conf/i386-ieee1275.mk: Likewise.
24538 * conf/i386.mk: Likewise.
24539 * conf/i386-pc.mk: Likewise.
24540 * conf/powerpc-ieee1275.mk: Likewise.
24541 * conf/sparc64-ieee1275.mk: Likewise.
24542 * conf/x86_64-efi.mk: Likewise.
24543
24544 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
24545 develop on GRUB.
24546
7dd4a573 245472009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 24548 David S. Miller <davem@davemloft.net>
24549
24550 * util/hostdisk.c (make_device_name): Fix buffer length
24551 calculations.
24552
e25b5a8c 245532009-04-14 Felix Zielcke <fzielcke@z-51.de>
24554
24555 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
24556 <sys/param.h> and <sys/sysctl.h>.
24557 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
24558 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
24559 opening the device and reset them afterwards.
24560
1f1f580c 245612009-04-13 Pavel Roskin <proski@gnu.org>
24562
24563 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
24564 Reported by John Stanley <jpsinthemix@verizon.net>
24565
7ebc2d6b 245662009-04-13 Robert Millan <rmh@aybabtu.com>
24567
24568 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 24569 that name for menuentries when appropriate.
7ebc2d6b 24570
d8ba3667 245712009-04-13 Felix Zielcke <fzielcke@z-51.de>
24572
24573 * util/grub.d/10_freebsd.in: Add a missing `fi'.
24574
cba416eb 245752009-04-13 Robert Millan <rmh@aybabtu.com>
24576
24577 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
24578 to Linux, simply abort telling the user it's no longer supported.
24579
a547a745 245802009-04-13 Felix Zielcke <fzielcke@z-51.de>
24581
24582 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 24583 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 24584 `freebsd_loadenv' only when devices.hints exist.
24585
232a769c 245862009-04-13 Pavel Roskin <proski@gnu.org>
24587
24588 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
24589
c3012039 245902009-04-13 Felix Zielcke <fzielcke@z-51.de>
24591
24592 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
24593 partition number.
24594 (grub_drive): Likewise.
24595
234022fe 245962009-04-13 David S. Miller <davem@davemloft.net>
24597
24598 * kern/sparc64/ieee1275/ieee1275.c: New file.
24599 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
24600 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
24601 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
24602 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
24603 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
24604 grub_ieee1275_alloc_physmem): Declare new exported functions.
24605
d8e1836c 24606 * include/grub/sparc64/ieee1275/loader.h: New file.
24607 * include/grub/sparc64/ieee1275/memory.h: Likewise.
24608 * include/grub/sparc64/kernel.h: Likewise.
24609 * loader/sparc64/ieee1275/linux.c: Likewise.
24610
96bd81ec 24611 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
24612 (grub_fstest_SOURCES): Likewise.
24613
6a4737e5 24614 * util/hostdisk.c (make_device_name): Do not make any assumptions
24615 about the length of drive names.
24616
1d7a72fd 24617 * kern/dl.c (grub_dl_load_file): Close file immediately when
24618 we are done using it.
24619
56bc2471 246202009-04-12 David S. Miller <davem@davemloft.net>
24621
24622 * kern/misc.c (grub_ltoa): Fix cast when handling negative
24623 values. Noticed by Pavel Roskin.
24624
df38d0bb 24625 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
24626 target compiler.
7dd4a573 24627
e382e93a 24628 * genmk.rb: Add more flexible image type specification, also
24629 pass --strip-unneeded to objcopy.
24630 * conf/i386-pc.rmk: Use *_FORMAT.
24631 * conf/i386-pc.mk: Rebuilt.
24632
f5dbbca9 24633 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
24634 (OFDISK_HASH_SZ): Define.
24635 (ofdisk_hash): New hash table.
24636 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
24637 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
24638 instead of device phandle which is not unique.
24639
91c88b12 24640 * kern/sparc64/ieee1275/init.c: Delete, replace with...
24641 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
24642 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
24643 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
24644 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
24645 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
24646 GRUB_KERNEL_MACHINE_DATA_END): Define.
24647 (grub_kernel_image_size, grub_total_module_size): Declare.
24648
5b5d4aa5 246492009-04-12 Pavel Roskin <proski@gnu.org>
24650
7dd4a573 24651 * configure.ac: Change the logic when we check for target tools.
24652 Do it when the target is specified and it's different from the
24653 specified value of the host.
5b5d4aa5 24654
c91e1793 246552009-04-11 Felix Zielcke <fzielcke@z-51.de>
24656
24657 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
24658 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
24659 GNU/kFreeBSD. Check if a device is a character device. Use
24660 DIOCGMEDIASIZE to get the size.
24661 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
24662 support for GNU/kFreeBSD.
24663 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
24664 is a character device instead of a block device. Add support for
24665 FreeBSD device names.
24666
24667 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
24668 is a character device instead of a block device.
24669
24670 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
24671 is a character device instead of a block device.
24672
b1ac8644 246732009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
24674
24675 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
24676 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
24677 FreeBSD. Check if a device is a character device. Use
24678 DIOCGMEDIASIZE to get the size.
24679 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
24680 support for FreeBSD.
24681 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
24682 is a character device instead of a block device. Add support for
24683 FreeBSD device names.
24684
24685 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
24686 a character device instead of a block device.
24687 (grub_util_check_char_device): New function.
24688
24689 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
24690 a character device instead of a block device.
24691
24692 * include/grub/util/getroot.h (grub_util_check_char_device): New
24693 prototype.
24694
a3f7515a 246952009-04-11 David S. Miller <davem@davemloft.net>
24696
24697 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
24698 static libgcc.
24699 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
24700 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
24701 function, if present.
24702 (__bswapdi2): Likewise.
24703
0d44993d 24704 * include/grub/sparc64/ieee1275/boot.h: New file.
24705 * boot/sparc64/ieee1275/boot.S: Likewise.
24706 * boot/sparc64/ieee1275/diskboot.S: Likewise.
24707
ed3d2bc2 24708 * kern/misc.c (grub_ltoa): New function.
24709 (grub_vsprintf): Use it to format 'long' integers.
24710
d3bfb59c 247112009-04-10 David S. Miller <davem@davemloft.net>
24712
24713 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
24714 slots are of type grub_ieee1275_cell_t.
24715 (grub_nand_read): Likewise.
24716 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
24717 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
24718 macros are used to compare values in arg/ret block of the call.
24719 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
24720 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
24721 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
24722 grub_ieee1275_instance_to_path, grub_ieee1275_write,
24723 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
24724 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
24725 grub_ieee1275_close, grub_ieee1275_set_property,
24726 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
24727 grub_ieee1275_cell_t.
24728 * kern/ieee1275/openfw.c (grub_map): Likewise.
24729 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
24730 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
24731
450e2238 24732 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
24733 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
24734 (grub_devalias_iterate): Likewise.
24735
7dd4a573 247362009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 24737
24738 UFS improvements
24739
24740 * fs/ufs.c (INODE_NBLOCKS): new definition
24741 (struct grub_ufs_dirent): added fields for non-BSD dirents
24742 (grub_ufs_get_file_block): fixed double indirect handling
24743 (grub_ufs_lookup_symlink): use more robust way to determine whether
24744 symlink is inline
24745 (grub_ufs_find_file): support for non-BSD dirents
24746 (grub_ufs_dir): support for non-BSD dirents
24747
e7e6862a 247482009-04-10 Bean <bean123ch@gnail.com>
24749
24750 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
24751 attribute, otherwise the size would be wrong for i386 platform.
24752
24753 * include/grub/pci.h (grub_pci_read_word): New inline function.
24754 (grub_pci_read_byte): Likewise.
24755 (grub_pci_write): Likewise.
24756 (grub_pci_write_word): Likewise.
24757 (grub_pci_write_byte): Likewise.
24758
24759 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
24760
24761 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
24762 (find_framebuf): Scan pci to locate the frame buffer address.
24763
24764 * commands/efi/fixvideo.c: New file.
24765
24766 * commands/efi/loadbios.c: Likewise.
24767
24768 * commands/memrw.c: Likewise.
24769
24770 * util/grub-dumpbios.in: Likewise.
24771
24772 * conf/common.rmk (grub-dumpbios): New utility.
24773 (pkglib_MODULES): New module memrw.mod.
24774 (memrw_mod_SOURCE): New macro.
24775 (memrw_mod_CFLAGS): Likewise.
24776 (memrw_mod_LDFLAGS): Likewise.
24777
7dd4a573 24778 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 24779 fixvideo.mod.
24780 (loadbios_mod_SOURCE): New macro.
24781 (loadbios_mod_CFLAGS): Likewise.
24782 (loadbios_mod_LDFLAGS): Likewise.
24783 (fixvideo_mod_SOURCE): Likewise.
24784 (fixvideo_mod_CFLAGS): Likewise.
24785 (fixvideo_mod_LDFLAGS): Likewise.
24786
7dd4a573 24787 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 24788 fixvideo.mod.
24789 (loadbios_mod_SOURCE): New macro.
24790 (loadbios_mod_CFLAGS): Likewise.
24791 (loadbios_mod_LDFLAGS): Likewise.
24792 (fixvideo_mod_SOURCE): Likewise.
24793 (fixvideo_mod_CFLAGS): Likewise.
24794 (fixvideo_mod_LDFLAGS): Likewise.
24795
af63ada2 247962009-04-08 Felix Zielcke <fzielcke@z-51.de>
24797
24798 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
24799
c2cdde70 248002009-04-07 David S. Miller <davem@davemloft.net>
24801
24802 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
24803 support for R_SPARC_OLO10 relocations. Fix compile warning for
24804 R_SPARC_WDISP30 case.
ea3f72cf 24805 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 24806
761319cf 248072009-04-06 Pavel Roskin <proski@gnu.org>
24808
1007d1f5 24809 * include/grub/misc.h (ARRAY_SIZE): New macro.
24810 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
24811 New macro.
24812 * loader/i386/linux.c (allocate_pages): Use free_pages().
24813 (grub_linux_unload): Don't use free_pages().
24814 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
24815 wrong index. Treat all other modes as text modes.
24816 (grub_cmd_linux): Initialize vid_mode unconditionally to
24817 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
24818
761319cf 24819 * commands/help.c (print_command_help): Use cmd->prio, not
24820 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
24821
ea761d40 248222009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 24823
ea761d40 24824 Parttool
24825
24826 * parttool/pcpart.c: new file
24827 * commands/parttool.c: likewise
24828 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
24829 (parttool_mod_SOURCES): new variable
24830 (parttool_mod_CFLAGS): likewise
24831 (parttool_mod_LDFLAGS): likewise
24832 (pcpart_mod_SOURCES): likewise
24833 (pcpart_mod_CFLAGS): likewise
24834 (pcpart_mod_LDFLAGS): likewise
7dd4a573 24835 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 24836 and parttool/pcpart.c
24837 * conf/i386-efi.rmk: likewise
24838 * conf/i386-ieee1275.rmk: likewise
24839 * conf/i386-pc.rmk: likewise
24840 * conf/powerpc-ieee1275.rmk: likewise
24841 * conf/sparc64-ieee1275.rmk: likewise
24842 * conf/x86_64-ieee1275.rmk: likewise
24843
05aaebfb 248442009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
24845
24846 Support for mtime and further expandability of dir command
24847
24848 * include/grub/lib/datetime.h: moved to ...
7dd4a573 24849 * include/grub/datetime.h: ... moved here and added
05aaebfb 24850 declaration of grub_unixtime2datetime. All users updated
7dd4a573 24851 * include/grub/fs.h: new syntax for dir and mtime functions in
24852 struct grub_fs
05aaebfb 24853 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
24854 and GRUB_FSHELP_FLAGS_MASK
24855 * commands/ls.c (grub_ls_list_files): Write mtime in long format
24856 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
24857 (grub_ext2_mtime): new function
24858 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
24859 (grub_hfsplus_mtime): new function
24860 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
24861 (GRUB_UFS_ATTR_FILE): likewise
24862 (GRUB_UFS_ATTR_LNK): likewise
24863 (struct grub_ufs_sblock): new fields mtime
24864 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
24865 all users updated
24866 (grub_ufs_dir): mtime support
24867 (grub_ufs_mtime): new function
24868 * fs/affs.c (grub_affs_dir): use new dir syntax
24869 * fs/afs.c (grub_afs_dir): likewise
24870 * fs/cpio.c (grub_cpio_dir): likewise
24871 * fs/fat.c (grub_fat_find_dir): likewise
24872 * fs/hfs.c (grub_hfs_dir): likewise
24873 * fs/iso9660.c (grub_iso9660_dir): likewise
24874 * fs/jfs.c (grub_jfs_dir): likewise
24875 * fs/minix.c (grub_minix_dir): likewise
24876 * fs/ntfs.c (grub_ntfs_dir): likewise
24877 * fs/reiserfs.c (grub_reiserfs_dir): likewise
24878 * fs/sfs.c (grub_sfs_dir): likewise
24879 * fs/xfs.c (grub_xfs_dir): likewise
24880 * util/hostfs.c (grub_hostfs_dir): likewise
24881 * lib/datetime.c: moved to ...
24882 * normal/datetime.c: ... moved here
24883 (grub_unixtime2datetime): new function
24884 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 24885 * normal/completion.c (iterate_dir): use new dir syntax
24886 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 24887 last modification time of a volume
7dd4a573 24888 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 24889 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 24890 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 24891 (normal_mod_SOURCES): likewise
24892 (datetime_mod_SOURCES): Removed lib/datetime.c
24893 * conf/i386-efi.rmk: likewise
7dd4a573 24894 * conf/i386-ieee1275.rmk: likewise
05aaebfb 24895 * conf/i386-pc.rmk: likewise
24896 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 24897 * conf/sparc64-ieee1275.rmk: likewise
24898 * conf/x86_64-efi.rmk: likewise
05aaebfb 24899
8a7e1a14 249002009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
24901
24902 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 24903
24904 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 24905 on grub_fat_find_dir
24906 (grub_fat_find_dir): use grub_fat_iterate_dir
24907 (grub_fat_label): likewise
24908
04186a9c 249092009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
24910
7dd4a573 24911 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 24912 and command.h
24913 remove extraneous kernel_elf_HEADERS
24914
da4c0bb6 249152009-04-04 Bean <bean123ch@gnail.com>
24916
24917 * include/grub/util/misc.h: Add dummy function fsync for mingw.
24918
24919 * util/misc.c: Likewise.
24920
54ad9555 249212009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
24922
24923 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
24924 instead of grub_printf.
24925
7a6bf9f2 249262009-04-03 Robert Millan <rmh@aybabtu.com>
24927
24928 * loader/i386/linux.c (grub_linux_setup_video): Fill
24929 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
24930 values from `mode info' structure instead of hardcoded
24931 values.
24932
3fcc2083 249332009-04-01 Pavel Roskin <proski@gnu.org>
24934
24935 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
24936 unused now.
24937 * genmk.rb: Likewise.
24938 * configure.ac: Likewise.
24939
5ec9740b 249402009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
24941
24942 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
24943 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
24944
5270cec8 249452009-04-01 David S. Miller <davem@davemloft.net>
24946
24947 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 24948 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 24949 (grub_setjmp): Mark with 'returns_twice' attribute.
24950 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
24951 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
24952 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
24953
9c3dd854 249542009-04-01 Robert Millan <rmh@aybabtu.com>
24955
24956 Reapply fix from 2008-07-28 which was accidentally reverted; also
24957 perform the same fix to a similar check in same function.
24958
24959 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
24960 with the same number are found, just use issue a warning with
24961 grub_dprintf(), as this error has been reported to be non-fatal.
24962
0d818b7e 249632009-03-31 Pavel Roskin <proski@gnu.org>
24964
24965 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
24966 for cross-compilation.
24967
95646d92 249682009-03-30 Robert Millan <rmh@aybabtu.com>
24969
24970 Fix i386-ieee1275 build.
24971
24972 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
24973 Remove declaration.
24974
6a003ed1 249752009-03-30 Pavel Roskin <proski@gnu.org>
24976
24977 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
24978 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
24979 zero-terminated, rely only on the strlen value. Fix comparison
24980 of strings differing in length.
24981
92f33540 249822009-03-30 Robert Millan <rmh@aybabtu.com>
24983
24984 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
24985 checking for abi version. Improve error messages on BIOS to notify
24986 user about `linux16' command.
24987
a8c48fd5 249882009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
24989
f968172e 24990 Leak fixes
a8c48fd5 24991
f968172e 24992 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
24993 in case of collision
24994 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 24995
9c323f09 249962009-03-29 Robert Millan <rmh@aybabtu.com>
24997
24998 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
24999 set `vid_mode' accordingly.
25000 (grub_linux_boot): Process `vid_mode' and set video mode.
25001
ae68f423 250022009-03-29 Robert Millan <rmh@aybabtu.com>
25003
25004 * util/grub.d/10_linux.in (linux_entry): New function.
25005 Factorize generation of Linux boot entries.
25006
5709cfc4 250072009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
25008
25009 Make the format of Environment Block plain text. The boot loader
25010 part is not tested well yet.
7dd4a573 25011
5709cfc4 25012 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
25013 (buffer): Removed.
25014 (envblk): Likewise.
25015 (usage): Remove "info" and "clear". Add "unset". Update the
25016 description of "set", as this does not delete variables any
25017 longer.
25018 (create_envblk_file): Complete rewrite.
25019 (open_envblk_file): Likewise.
25020 (cmd_info): Removed.
25021 (cmd_list): Likewise.
25022 (cmd_set): Likewise.
25023 (cmd_clear): Likewise.
25024 (list_variables): New function.
25025 (write_envblk): Likewise.
25026 (set_variables): Likewise.
25027 (unset_variables): Likewise.
25028 (main): Complete rewrite.
25029
25030 * commands/loadenv.c (buffer): Removed.
25031 (envblk): Likewise.
25032 (open_envblk_file): New function.
25033 (read_envblk_file): Complete rewrite.
25034 (grub_cmd_load_env): Likewise.
25035 (grub_cmd_list_env): Likewise.
25036 (struct blocklist): New struct.
25037 (free_blocklists): New function.
25038 (check_blocklists): Likewise.
25039 (write_blocklists): Likewise.
25040 (grub_cmd_save_env): Complete rewrite.
25041
25042 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
25043 a plain text signature.
25044 (GRUB_ENVBLK_MAXLEN): Removed.
25045 (struct grub_envblk): Complete rewrite.
25046 (grub_envblk_find): Removed.
25047 (grub_envblk_insert): Likewise.
25048 (grub_envblk_open): New prototype.
25049 (grub_envblk_set): Likewise.
25050 (grub_envblk_delete): Put const to VALUE.
25051 (grub_envblk_iterate): Put const to NAME and VALUE.
25052 (grub_envblk_close): New prototype.
25053 (grub_envblk_buffer): New inline function.
25054 (grub_envblk_size): Likewise.
25055
25056 * lib/envblk.c: Include grub/mm.h.
25057 (grub_env_find): Removed.
25058 (grub_envblk_open): New function.
25059 (grub_envblk_close): Likewise.
25060 (escaped_value_len): Likewise.
25061 (find_next_line): Likewise.
25062 (grub_envblk_insert): Removed.
25063 (grub_envblk_set): New function.
25064 (grub_envblk_delete): Complete rewrite.
25065 (grub_envblk_iterate): Likewise.
25066
a9368fd3 250672009-03-28 Robert Millan <rmh@aybabtu.com>
25068
25069 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
25070 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
25071 variables. Use 16-bit loader.
25072 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
25073 loader.
25074 * kern/i386/loader.S (grub_linux_boot): Rename to ...
25075 (grub_linux16_boot): ... this. Update all users.
25076 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
25077 (grub_linux_boot): ... this. Update all users.
25078
25079 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
25080 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
25081 commands to `linux16' and `initrd16'.
25082 (GRUB_MOD_FINI(linux)): Rename to ...
25083 (GRUB_MOD_FINI(linux16)): ... this.
25084
e4dd5a7e 250852009-03-24 Pavel Roskin <proski@gnu.org>
25086
25087 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
25088 not just for compilation.
25089
c04d6e05 250902009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
25091
25092 Move multiboot helper out of kernel
25093
25094 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
25095 `loader/i386/multiboot_helper.S'.
25096 * conf/i386-coreboot.rmk: Likewise
25097 * conf/i386-ieee1275.rmk: Likewise
25098
25099 * kern/i386/loader.S: Move multiboot helpers from here...
25100 * loader/i386/multiboot_helper.S: ...moved here
25101 * include/grub/i386/loader.h: Move declarations of multiboot
25102 helpers from here...
25103 * include/grub/i386/multiboot.h: ...moved here
25104 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
25105
42a5b3fc 251062009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
25107
25108 * kern/env.c (grub_env_context_open): Added an argument to specify
25109 whether a new context inherits exported variables from current
25110 one. This is useful when making a sandbox to interpret a config
25111 file.
25112 All callers updated.
25113
25114 * include/grub/env.h (grub_env_context_open): Updated the prototype.
25115
b28bbc4e 251162009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
25117
25118 * kern/env.c (grub_env_context_close): Fix memory leaks.
25119
f04f02e4 251202009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
25121
25122 * normal/main.c (grub_normal_execute): Added an argument
25123 BATCH to specify if an interactive interface should be provided
25124 after reading a config file.
25125 All callers updated.
25126 (read_command_list): Prevent being executed twice.
25127 (read_fs_list): Likewise.
25128
42a5b3fc 25129 * include/grub/normal.h (grub_normal_execute): Updated the
25130 prototype.
f04f02e4 25131
41473ac2 251322009-03-22 Pavel Roskin <proski@gno.org>
25133
fbc00b0c 25134 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
25135 _start.
25136 * kern/i386/pc/startup.S: Likewise.
25137 * kern/i386/efi/startup.S: Likewise.
25138 * kern/i386/ieee1275/startup.S: Likewise.
25139 * kern/i386/coreboot/startup.S: Likewise.
25140 * kern/x86_64/efi/startup.S: Likewise.
25141
41473ac2 25142 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
25143 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
25144 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
25145
2274cc8f 251462009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
25147
25148 Bugfixes in multiboot for bugs uncovered by solaris kernel.
25149
25150 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
25151 limit detection.
25152 Use vaddr of correct segment for entry_point.
25153
b1b797cb 251542009-03-21 Bean <bean123ch@gmail.com>
25155
25156 * commands/blocklist.c: Add include file <grub/command.h>, remove
25157 <grub/normal.h> and <grub/arg.h>.
25158 (grub_cmd_blocklist): Use the new command interface.
25159 (GRUB_MOD_INIT): Likewise.
25160 (GRUB_MOD_FINI): Likewise.
25161 * commands/boot.c: Likewise.
25162 * commands/cat.c: Likewise.
25163 * commands/cmp.c: Likewise.
25164 * commands/configfile.c: Likewise.
25165 * commands/crc.c: Likewise.
25166 * commands/echo.c: Likewise.
25167 * commands/halt.c: Likewise.
25168 * commands/handler.c: Likewise.
25169 * commands/hdparm.c: Likewise.
25170 * commands/help.c: Likewise.
25171 * commands/hexdump.c: Likewise.
25172 * commands/loadenv.c: Likewise.
25173 * commands/ls.c: Likewise.
25174 * commands/lsmmap.c: Likewise.
25175 * commands/lspci.c: Likewise.
25176 * commands/loadenv.c: Likewise.
25177 * commands/read.c: Likewise.
25178 * commands/reboot.c: Likewise.
25179 * commands/search.c: Likewise.
25180 * commands/sleep.c: Likewise.
25181 * commands/test.c: Likewise.
25182 * commands/usbtest.c: Likewise.
25183 * commands/videotest.c: Likewise.
25184 * commands/i386/cpuid.c: Likewise.
25185 * commands/i386/pc/halt.c: Likewise.
25186 * commands/i386/pc/play.c: Likewise.
25187 * commands/i386/pc/pxecmd.c: Likewise.
25188 * commands/i386/pc/vbeinfo.c: Likewise.
25189 * commands/i386/pc/vbetest.c: Likewise.
25190 * commands/ieee1275/suspend.c: Likewise.
25191 * disk/loopback.c: Likewise.
25192 * font/font_cmd.c: Likewise.
25193 * hello/hello.c: Likewise.
25194 * loader/efi/appleloader.c: Likewise.
25195 * loader/efi/chainloader.c: Likewise.
25196 * loader/i386/bsd.c: Likewise.
25197 * loader/i386/efi/linux.c: Likewise.
25198 * loader/i386/ieee1275/linux.c: Likewise.
25199 * loader/i386/linux.c: Likewise.
25200 * loader/i386/pc/chainloader.c: Likewise.
25201 * loader/i386/pc/linux.c: Likewise.
25202 * loader/powerpc/ieee1275/linux.c: Likewise.
25203 * loader/multiboot_loader.c: Likewise.
25204 * term/gfxterm.c: Likewise.
25205 * term/i386/pc/serial.c: Likewise.
25206 * term/terminfo.c: Likewise.
25207
25208 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
25209 * term/i386/pc/vga.c: Likewise.
25210 * video/readers/jpeg.c: Likewise.
25211 * video/readers/png.c: Likewise.
25212 * video/readers/tga.c: Likewise.
25213
25214 * util/grub-fstest (cmd_loopback): Removed.
25215 (cmd_blocklist): Likewise.
25216 (cmd_ls): Likewise.
25217 (grub_register_command): Likewise.
25218 (grub_unregister_command): Likewise.
25219 (execute_command): Use grub_command_find to locate command and execute
25220 it.
25221
25222 * include/grub/efi/chainloader.h: Removed.
25223 * loader/efi/chainloader_normal.c: Likewise.
25224 * loader/i386/bsd_normal.c: Likewise.
25225 * loader/i386/pc/chainloader_normal.c: Likewise.
25226 * loader/i386/pc/multiboot_normal.c: Likewise.
25227 * loader/linux_normal.c: Likewise.
25228 * loader/multiboot_loader_normal.c: Likewise.
25229 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
25230
25231 * gencmdlist.sh: Scan new registration command grub_register_extcmd
25232 and grub_register_command_p1.
25233
25234 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
25235 kern/command.c, lib/arg.c and commands/extcmd.c.
25236 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
25237 (minicmd_mod_SOURCES): New variable.
25238 (minicmd_mod_CFLAGS): Likewise.
25239 (minicmd_mod_LDFLAGS): Likewise.
25240 (extcmd_mod_SOURCES): Likewise.
25241 (extcmd_mod_CFLAGS): Likewise.
25242 (extcmd_mod_LDFLAGS): Likewise.
25243 (boot_mod_SOURCES): Removed.
25244 (boot_mod_CFLAGS): Likewise.
25245 (boot_mod_LDFLAGS): Likewise.
25246
25247 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
25248 kern/corecmd.c.
25249 (kernel_img_HEADERS): Add command.h.
25250 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
25251 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
25252 and lib/arg.c.
25253 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
25254 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
25255 remove the corresponding normal mode command.
25256 (normal_mod_SOURCES): Remove normal/arg.c.
25257 * conf/i386-coreboot.rmk: Likewise.
25258 * conf/i386-efi.rmk: Likewise.
25259 * conf/i386-ieee1275.rmk: Likewise.
25260 * conf/powerpc-ieee1275.rmk: Likewise.
25261 * conf/x86_64-efi.rmk: Likewise.
25262
25263 * include/grub/arg.h: Move from here ...
25264 * include/grub/lib/arg.h: ... to here.
25265
25266 * normal/arg.c: Move from here ...
25267 * lib/arg.c: ... to here.
25268
25269 * commands/extcmd.c: New file.
25270 * commands/minicmd.c: Likewise.
25271 * include/grub/command.h: Likewise.
25272 * include/grub/extcmd.h: Likewise.
25273 * kern/command.c: Likewise.
25274 * kern/corecmd.c: Likewise.
25275
25276 * kern/list.c (grub_list_iterate): Return int instead of void.
25277 (grub_list_insert): New function.
25278 (grub_prio_list_insert): Likewise.
25279
25280 * kern/rescue.c (grub_rescue_command): Removed.
25281 (grub_rescue_command_list): Likewise.
25282 (grub_rescue_register_command): Likewise.
25283 (grub_rescue_unregister_command): Likewise.
25284 (grub_rescue_cmd_boot): Move to minicmd.c
25285 (grub_rescue_cmd_help): Likewise.
25286 (grub_rescue_cmd_info): Likewise.
25287 (grub_rescue_cmd_boot): Likewise.
25288 (grub_rescue_cmd_testload): Likewise.
25289 (grub_rescue_cmd_dump): Likewise.
25290 (grub_rescue_cmd_rmmod): Likewise.
25291 (grub_rescue_cmd_lsmod): Likewise.
25292 (grub_rescue_cmd_exit): Likewise.
25293 (grub_rescue_print_devices): Moved to corecmd.c.
25294 (grub_rescue_print_files): Likewise.
25295 (grub_rescue_cmd_ls): Likewise.
25296 (grub_rescue_cmd_insmod): Likewise.
25297 (grub_rescue_cmd_set): Likewise.
25298 (grub_rescue_cmd_unset): Likewise.
7d074e3c 25299 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 25300 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 25301 commands, remove grub_rescue_register_command calls.
b1b797cb 25302
7d074e3c 25303 * normal/command.c (grub_register_command): Removed.
b1b797cb 25304 (grub_unregister_command): Likewise.
25305 (grub_command_find): Likewise.
25306 (grub_iterate_commands): Likewise.
25307 (rescue_command): Likewise.
25308 (export_command): Moved to corecmd.c.
25309 (set_command): Removed.
25310 (unset_command): Likewise.
25311 (insmod_command): Likewise.
25312 (rmmod_command): Likewise.
25313 (lsmod_command): Likewise.
25314 (grub_command_init): Likewise.
25315
25316 * normal/completion.c (iterate_command): Use cmd->prio to check for
25317 active command.
25318 (complete_arguments): Use grub_extcmd_t structure to find options.
25319 (grub_normal_do_completion): Change function grub_iterate_commands to
25320 grub_command_iterate.
25321
25322 * normal/execute.c (grub_script_execute_cmd): No need to parse
25323 argument here.
25324
25325 * normal/main.c (grub_dyncmd_dispatcher): New function.
25326 (read_command_list): Register unload commands as dyncmd.
25327 (grub_cmd_normal): Use new command interface, register rescue,
25328 unregister normal at entry, register normal, unregister rescue at exit.
25329
25330 * include/grub/list.h (grub_list_test_t): New type.
25331 (grub_list_iterate): Return int instead of void.
25332 (grub_list_insert): New function.
25333 (GRUB_AS_NAMED_LIST_P): New macro.
25334 (GRUB_AS_PRIO_LIST): Likewise.
25335 (GRUB_AS_PRIO_LIST_P): Likewise.
25336 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
25337 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
25338 (grub_prio_list): New structure.
25339 (grub_prio_list_insert): New function.
25340 (grub_prio_list_remove): New inline function.
25341
25342 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
25343 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
25344 (GRUB_COMMAND_FLAG_MENU): Likewise.
25345 (GRUB_COMMAND_FLAG_BOTH): Likewise.
25346 (GRUB_COMMAND_FLAG_TITLE): Likewise.
25347 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
25348 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
25349 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
25350 (grub_command): Likewise.
25351 (grub_register_command): Likewise.
25352 (grub_command_find): Likewise.
25353 (grub_iterate_commands): Likewise.
25354 (grub_command_init): Likewise.
25355 (grub_arg_parse): Likewise.
25356 (grub_arg_show_help): Likewise.
25357
25358 * include/grub/rescue.h (grub_rescue_register_command): Removed.
25359 (grub_rescue_unregister_command): Likewise.
25360
25361 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
25362 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
25363 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
25364
25365 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
25366 grub_rescue_cmd_initrd.
25367 * include/grub/i386/loader.h: Likewise.
25368 * include/grub/x86_64/loader.h: Likewise.
25369
25370 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
25371
1f4147aa 253722009-03-21 Bean <bean123ch@gmail.com>
25373
25374 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
25375 instead of stat in mingw environment.
25376
25377 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
25378
25379 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
25380
25381 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
25382 AC_CONFIG_LINKS.
25383
2156d5ba 253842009-03-21 Bean <bean123ch@gmail.com>
25385
25386 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
25387 out of range error.
25388
177b82ca 253892009-03-18 Michel Dänzer <michel@daenzer.net>
25390
25391 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
25392 checking inode flags for EXT4_EXTENTS_FLAG.
25393
14aad807 253942009-03-18 Robert Millan <rmh@aybabtu.com>
25395
25396 * loader/i386/linux.c: Include `<grub/video.h>' and
25397 `<grub/i386/pc/vbe.h>'..
25398 (grub_linux_setup_video): New function. Loosely based on the EFI one.
25399 (grub_linux32_boot): Attempt to configure video settings with
25400 grub_linux_setup_video().
25401 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
25402 to avoid grub_console_fini() which would step out of graphical mode
25403 unconditionally.
25404
8cf83a27 254052009-03-14 Robert Millan <rmh@aybabtu.com>
25406
25407 Fix build on powerpc.
25408 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
25409
40164e75 254102009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
25411
25412 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
25413 background image command.
25414
c58bc32a 254152009-03-12 Colin D Bennett <colin@gibibit.com>
25416
25417 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
25418 (grub_gfxterm_putchar): Extract pairs of identical calls to
25419 draw_cursor out of conditional blocks.
25420
5415144a 254212009-03-11 Pavel Roskin <proski@gnu.org>
25422
25423 * fs/hfs.c (grub_hfs_strncasecmp): New function.
25424 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
25425
6394042e 254262009-03-11 Robert Millan <rmh@aybabtu.com>
25427
25428 * loader/i386/multiboot_elfxx.c
25429 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
25430
b7b50e5f 254312009-03-11 Felix Zielcke <fzielcke@z-51.de>
25432
25433 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
25434 `kern/handler.c'.
25435
1ca7fc96 254362009-03-11 Robert Millan <rmh@aybabtu.com>
25437
25438 * loader/i386/multiboot.c (code_size): New variable.
25439 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 25440 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 25441 4-byte alignment to MBI and others by increasing
7d074e3c 25442 `boot_loader_name_length' appropriately.
1ca7fc96 25443
25444 * loader/i386/multiboot_elfxx.c
25445 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
25446
a83ea1d2 254472009-03-09 Felix Zielcke <fzielcke@z-51.de>
25448
25449 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
25450 `fs/ext2.c'.
25451
aa9f3bff 254522009-03-08 Robert Millan <rmh@aybabtu.com>
25453
25454 Make loader/i386/linux.c usable on i386-pc again.
25455
25456 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
25457 memory to heap.
25458 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
25459 `#error' stanza.
25460
d8b3b60e 254612009-03-07 Bean <bean123ch@gmail.com>
25462
25463 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
25464 allocation.
25465
b362c9e9 254662009-03-06 Robert Millan <rmh@aybabtu.com>
25467
25468 Fix display issue on terminals with screen size other than 80x25
25469 (e.g. gfxterm with resolution higher than 640x480).
25470
25471 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 25472 position relative to the center of the terminal instead of relying
b362c9e9 25473 on a hardcoded offset.
25474
9304eef1 254752009-03-04 Robert Millan <rmh@aybabtu.com>
25476
25477 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
25478 installed.
25479
25480 * Makefile.in (host_kernel): New variable.
25481 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
25482 scripts instead of just the windows one.
25483 * configure.ac: Initialize and AC_SUBST `host_kernel'.
25484
eabc95fb 254852009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 25486
25487 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
25488 `kern/handler.c'.
25489 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25490 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25491 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
25492 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25493 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25494 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25495
ceb1223c 254962009-03-04 Felix Zielcke <fzielcke@z-51.de>
25497
25498 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
25499 or if there's no space for the disk label and print the partition number on a
25500 invalid magic.
25501
4910684a 255022009-03-04 Felix Zielcke <fzielcke@z-51.de>
25503
25504 * util/misc.c: Include <time.h>.
25505 (grub_millisleep): New function.
25506
7e9ca17a 255072009-03-04 Bean <bean123ch@gmail.com>
25508
25509 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
25510 another option -mno-red-zone.
25511
25512 * commands/handler.c: Change module description.
25513
25514 * kern/handler.c: Add missing space at the end of description line.
25515
25516 * kern/list.c: Likewise.
25517
f501677c 255182009-03-03 Robert Millan <rmh@aybabtu.com>
25519
25520 Move more components to the relocation area, and fix mbi pointer
25521 handling to use the destination rather than the origin (thanks to
25522 Vladimir Serbinenko for spotting).
25523
25524 * loader/i386/multiboot.c (mbi_dest): New variable.
25525 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
25526 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
25527 relocation area.
25528
9902d047 255292009-03-01 Bean <bean123ch@gmail.com>
25530
50fb7002 25531 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 25532 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
25533 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
25534 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
25535
25536 * loader/i386/efi/linux.c (acpi_guid): New variable.
25537 (acpi_guid): Likewise.
25538 (EBDA_SEG_ADDR): New constant.
25539 (LOW_MEM_ADDR): Likewise.
25540 (FAKE_EBDA_SEG): Likewise.
25541 (fake_bios_data): New function.
25542 (grub_linux_boot): Call fake_bios_data.
25543
71b9f361 255442009-03-01 Bean <bean123ch@gmail.com>
25545
25546 * commands/terminal.c: Removed.
25547
25548 * commands/handler.c: New file.
25549
25550 * include/grub/list.h: Likewise.
25551
25552 * include/grub/handler.h: Likewise.
25553
25554 * kern/list.c: Likewise.
25555
25556 * kern/handler.c: Likewise.
25557
25558 * kern/term.h: Include header file <grub/handler.h>.
25559 (grub_term_input): Move next field to the beginning.
25560 (grub_term_output): Likewise.
25561 (grub_term_input_class): New variable.
25562 (grub_term_output_class): Likewise.
25563 (grub_term_register_input): Changed to inline function.
25564 (grub_term_register_output): Likewise.
25565 (grub_term_unregister_input): Likewise.
25566 (grub_term_unregister_output): Likewise.
25567 (grub_term_set_current_input): Likewise.
25568 (grub_term_set_current_output): Likewise.
25569 (grub_term_get_current_input): Likewise.
25570 (grub_term_get_current_output): Likewise.
25571 (grub_term_iterate_input): Removed.
25572 (grub_term_iterate_output): Likewise.
25573
25574 * kern/term.c (grub_term_list_input): Removed.
25575 (grub_term_list_output): Likewise.
25576 (grub_term_input_class): New variable.
25577 (grub_term_output_class): Likewise.
50fb7002 25578 (grub_cur_term_input): Change variable as macro.
71b9f361 25579 (grub_cur_term_output): Likewise.
25580 (grub_term_register_input): Removed.
25581 (grub_term_register_output): Likewise.
25582 (grub_term_unregister_input): Likewise.
25583 (grub_term_unregister_output): Likewise.
25584 (grub_term_set_current_input): Likewise.
25585 (grub_term_set_current_output): Likewise.
25586 (grub_term_iterate_input): Likewise.
25587 (grub_term_iterate_output): Likewise.
25588 (grub_term_get_current_input): Likewise.
25589 (grub_term_get_current_output): Likewise.
25590
25591 * util/grub-editenv.c: Include header file <grub/handler.h>.
25592 (grub_term_get_current_input): Removed.
25593 (grub_term_get_current_output): Likewise.
25594 (grub_term_input_class): New variable.
50fb7002 25595 (grub_term_output_class): Likewise.
71b9f361 25596
25597 * util/grub-fstest.c (grub_term_get_current_input): Removed.
25598 (grub_term_get_current_output): Likewise.
25599 (grub_term_input_class): New variable.
50fb7002 25600 (grub_term_output_class): Likewise.
71b9f361 25601
25602 * util/grub-probe.c (grub_term_get_current_input): Removed.
25603 (grub_term_get_current_output): Likewise.
25604 (grub_term_input_class): New variable.
50fb7002 25605 (grub_term_output_class): Likewise.
71b9f361 25606
25607 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
25608 (grub_term_get_current_output): Likewise.
25609 (grub_term_input_class): New variable.
50fb7002 25610 (grub_term_output_class): Likewise.
71b9f361 25611
25612 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
25613 (terminal_mod_SOURCES): Likewise.
25614 (terminal_mod_CFLAGS): Likewise.
25615 (terminal_mod_LDFLAGS): Likewise.
25616
25617 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
25618 handler.c.
25619 (kernel_img_SOURCES): Add list.c and handler.c.
25620 (kernel_img_HEADERS): Add list.h and handler.h.
25621
25622 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
25623 handler.c.
25624 (kernel_mod_SOURCES): Add list.c and handler.c.
25625 (kernel_mod_HEADERS): Add list.h and handler.h.
25626
25627 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
25628 handler.c.
25629 (kernel_elf_SOURCES): Add list.c and handler.c.
25630 (kernel_elf_HEADERS): Add list.h and handler.h.
25631
25632 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
25633 handler.c.
25634 (kernel_elf_SOURCES): Add list.c and handler.c.
25635 (kernel_elf_HEADERS): Add list.h and handler.h.
25636
25637 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
25638 handler.c.
25639 (kernel_mod_SOURCES): Add list.c and handler.c.
25640 (kernel_mod_HEADERS): Add list.h and handler.h.
25641
25642 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
25643 handler.c.
25644 (kernel_elf_SOURCES): Add list.c and handler.c.
25645 (kernel_elf_HEADERS): Add list.h and handler.h.
25646
8a31787f 256472009-02-27 Robert Millan <rmh@aybabtu.com>
25648
25649 Factorize elf32 / elf64 code in Multiboot loader. This will
25650 prevent it from getting out of sync again.
25651
25652 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
25653 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
25654 grub_multiboot_load_elf64): Move from here ...
25655 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
25656 grub_multiboot_load_elf): ... to here (new file).
25657
51cd3dfc 256582009-02-27 Robert Millan <rmh@aybabtu.com>
25659
25660 * util/grub.d/10_linux.in: Rename "single-user mode" to
25661 "recovery mode".
25662
6e8c9c3a 256632009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
25664
25665 Don't leak in SCSI code.
25666 * disk/scsi.c (grub_scsi_close): free `scsi'.
25667
4b6bf4f9 256682009-02-27 Robert Millan <rmh@aybabtu.com>
25669
25670 * loader/i386/pc/multiboot.c: Move from here ...
25671 * loader/i386/multiboot.c: ... to here. Update all users.
25672
b9413424 256732009-02-27 Robert Millan <rmh@aybabtu.com>
25674
25675 Patch from Alexandre Bique <bique.alexandre@gmail.com>
25676 * util/i386/pc/grub-setup.c (setup): Fix directory path.
25677
50fb7002 256782009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 25679
25680 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
25681 b-tree.
25682
8cc50345 256832009-02-27 Robert Millan <rmh@aybabtu.com>
25684
25685 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
25686 `0x' qualifier as 0 when base is specified as parameter).
25687
6e09b8b7 256882009-02-24 Bean <bean123ch@gmail.com>
25689
25690 * configure.ac: Check for -mcmodel=large in x86_64 target.
25691
25692 * include/grub/efi/api.h (efi_call_10): New macro.
25693 (efi_wrap_10): New function.
25694
25695 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
25696 (GRUB_PE32_REL_BASED_HIGH): Likewise.
25697 (GRUB_PE32_REL_BASED_LOW): Likewise.
25698 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
25699 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
25700 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
25701 (GRUB_PE32_REL_BASED_SECTION): Likewise.
25702 (GRUB_PE32_REL_BASED_REL): Likewise.
25703 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
25704 (GRUB_PE32_REL_BASED_DIR64): Likewise.
25705 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
25706
25707 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
25708 issue.
25709
25710 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
25711 (efi_wrap_10): New function.
25712
25713 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
25714
25715 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
25716 MB/MBP model (NV chipset).
25717 (devdata_devs): Add devpath_5 to the list.
25718
25719 * load/i386/efi/linux.c (video_base): Remove variable.
25720 (RGB_MASK): New macro.
25721 (RGB_MAGIC): Likewise.
25722 (LINE_MIN): Likewise.
25723 (LINE_MAX): Likewise.
25724 (FBTEST_STEP): Likewise.
25725 (FBTEST_COUNT): Likewise.
25726 (fb_list): New variable.
25727 (grub_find_video_card): Remove function.
25728 (find_framebuf): New function.
25729 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
25730 line length.
25731
25732 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
25733 problem for x86_64.
25734
74b21bee 257352009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
25736
25737 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
25738
25739 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
25740 coding tool name.
25741
a455f472 257422009-02-22 Robert Millan <rmh@aybabtu.com>
25743
25744 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
25745 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
25746 in our relocation, instead of using it directly from heap. Also
25747 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
25748
6374daf3 257492009-02-21 Robert Millan <rmh@aybabtu.com>
25750
25751 Implement USB keyboard support (based on patch by Marco Gerards)
25752
25753 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
25754 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
25755 (usb_keyboard_mod_LDFLAGS): New variables.
25756
25757 * term/usb_keyboard.c: New file.
25758
8fa4ea70 257592009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25760
25761 Corrected wrong declaration
25762
25763 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
25764
353976ac 257652009-02-14 Christian Franke <franke@computer.org>
25766
25767 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
25768 (grub_lspci_iter): Print class code and programming interface byte.
25769
6aa1169b 257702009-02-14 Christian Franke <franke@computer.org>
25771
25772 * gendistlist.sh: Ignore `.svn' directories.
25773
265372ca 257742009-02-14 Felix Zielcke <fzielcke@z-51.de>
25775
25776 * fs/fat.c: Add 2009 to Copyright line.
25777
9ff516f3 257782009-02-14 Christian Franke <franke@computer.org>
25779
25780 * commands/hdparm.c: New file. Provides `hdparm' command
25781 which sends ATA commands via grub_disk_ata_pass_through ().
25782
25783 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
25784
25785 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
25786 and <grub/cpu/io.h> to include/grub/ata.h.
25787 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
25788 (GRUB_CDROM_SECTOR_SIZE): Remove.
25789 (GRUB_ATA_*): Move to include/grub/ata.h.
25790 (GRUB_ATAPI_*): Likewise.
25791 (enum grub_ata_commands): Likewise.
25792 (enum grub_ata_timeout_milliseconds): Likewise.
25793 (struct grub_ata_device): Likewise.
25794 (grub_ata_regset): Likewise.
25795 (grub_ata_regget): Likewise.
25796 (grub_ata_regset2): Likewise.
25797 (grub_ata_regget2): Likewise.
25798 (grub_ata_check_ready): Likewise.
25799 (grub_ata_wait_not_busy): Remove static, exported in
25800 include/grub/ata.h.
25801 (grub_ata_wait_drq): Likewise.
25802 (grub_ata_pio_read): Likewise.
25803
25804 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
25805 function for hdparm.mod.
25806
25807 * include/grub/ata.h: New file, contains declarations from
25808 disk/ata.c.
25809 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
25810
25811 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
25812 (grub_disk_ata_pass_through): New exported variable.
25813
25814 * kern/disk.c (grub_disk_ata_pass_through): New variable.
25815
772e23da 258162009-02-13 Colin D Bennett <colin@gibibit.com>
25817
25818 Support multiple fallback entries, and provide an API to support
25819 executing default+fallback menu entries. Renamed the `terminal' menu
25820 viewer to `text'.
25821
25822 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
25823 variable declaration.
25824 (grub_menu_execute_callback): New structure declaration.
25825 (grub_menu_execute_callback_t): New typedef.
25826 (grub_menu_execute_with_fallback): New function declaration.
25827 (grub_menu_get_entry): Likewise.
25828 (grub_menu_get_timeout): Likewise.
25829 (grub_menu_set_timeout): Likewise.
25830
25831 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
25832
25833 * normal/menu.c (grub_wait_after_message): Moved to
25834 `normal/menu_text.c'.
25835 (draw_border): Likewise.
25836 (print_message): Likewise.
25837 (print_entry): Likewise.
25838 (print_entries): Likewise.
25839 (grub_menu_init_page): Likewise.
25840 (get_entry_number): Likewise.
25841 (print_timeout): Likewise.
25842 (run_menu): Likewise.
25843 (grub_menu_execute_entry): Likewise.
25844 (show_text_menu): Likewise.
25845 (get_and_remove_first_entry_number): New function.
25846 (grub_menu_execute_with_fallback): Likewise.
25847 (get_entry): Renamed to ...
25848 (grub_menu_get_entry): .. this and made it global.
25849 (get_timeout): Renamed to ...
25850 (grub_menu_get_timeout): ... this and made it global.
25851 (set_timeout): Renamed to ...
25852 (grub_menu_set_timeout): ... this and made it global.
25853 (grub_normal_terminal_menu_viewer): Renamed to ...
25854 (grub_normal_text_menu_viewer): ... this.
25855
25856 * normal/menu_text.c: New file. Extracted text-menu-specific code
25857 from normal/menu.c.
25858
25859 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
25860 (normal_mod_SOURCES): Likewise.
25861
25862 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25863 (normal_mod_SOURCES): Likewise.
25864
25865 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25866 (normal_mod_SOURCES): Likewise.
25867
25868 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
25869 (normal_mod_SOURCES): Likewise.
25870
25871 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25872 (normal_mod_SOURCES): Likewise.
25873
25874 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25875 (normal_mod_SOURCES): Likewise.
25876
25877 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25878 (normal_mod_SOURCES): Likewise.
25879
16ac430e 258802009-02-11 Robert Millan <rmh@aybabtu.com>
25881
25882 * util/grub.d/00_header.in: Update old reference to `font' command.
25883
06ff20fc 258842009-02-10 Felix Zielcke <fzielcke@z-51.de>
25885
25886 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
25887
25888 Based on patch from Javier Martín.
25889
96da9407 258902009-02-09 Felix Zielcke <fzielcke@z-51.de>
25891
25892 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 25893 to avoid false positives with FAT.
96da9407 25894 (grub_fstest_SOURCES): Likewise.
25895 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25896 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25897 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25898 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
25899 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25900 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25901
6dca6fe4 259022009-02-09 Felix Zielcke <fzielcke@z-51.de>
25903
06ff20fc 25904 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 25905 bpb.version_specific.fat12_or_fat16.fstype and
25906 bpb.version_specific.fat32.fstype.
25907
2550c62f 259082009-02-08 Robert Millan <rmh@aybabtu.com>
25909
be110b30 25910 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 25911
56978920 259122009-02-08 Robert Millan <rmh@aybabtu.com>
25913
25914 * Makefile.in (host_os, host_cpu): New variables.
25915 (target_os): Remove. Update all users.
25916
d64399b5 259172009-02-08 Marco Gerards <marco@gnu.org>
25918
25919 * Makefile.in (enable_grub_emu_usb): New variable.
25920 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
25921 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
25922 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
25923 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
25924 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
25925 `usbtest.mod' and `usbms.mod'.
25926 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
25927 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
25928 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
25929 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
25930 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
25931 variables.
25932
25933 * disk/usbms.c: New file.
25934
25935 * include/grub/usb.h: Likewise.
25936
25937 * include/grub/usbtrans.h: Likewise.
25938
25939 * include/grub/usbdesc.h: Likewise.
25940
25941 * bus/usb/usbtrans.c: Likewise.
25942
25943 * bus/usb/ohci.c: Likewise.
25944
25945 * bus/usb/uhci.c: Likewise.
25946
25947 * bus/usb/usbhub.c: Likewise.
25948
25949 * bus/usb/usb.c: Likewise.
25950
25951 * commands/usbtest.c: Likewise.
25952
25953 * util/usb.c: Likewise.
50fb7002 25954
d64399b5 25955 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
25956
25957 * configure.ac: Test for libusb presence.
50fb7002 25958
d64399b5 25959 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
25960
2b40d6bb 259612009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
25962
25963 * kern/mm.c: Add more comments.
25964
73a4ce81 259652009-02-08 Robert Millan <rmh@aybabtu.com>
25966
25967 Patch from Javier Martín.
25968 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
25969 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
25970
f821ce59 259712009-02-08 Robert Millan <rmh@aybabtu.com>
25972
25973 * fs/cpio.c: Split tar functionality to ...
25974 * fs/tar.c: ... here (new file). Update all users.
25975
aebfc4b0 259762009-02-07 Robert Millan <rmh@aybabtu.com>
25977
25978 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
25979 backward-incompatible features.
25980
25981 Based on patch from Javier Martín, with some adjustments.
25982
50fb7002 259832009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 25984
25985 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
25986
0bb5115e 259872009-02-07 Robert Millan <rmh@aybabtu.com>
25988
25989 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
25990 position of `disk/lvm.c' to ensure grub_init_all() always picks it
25991 after the RAID stuff.
25992
38a0f8e7 259932009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
25994
50fb7002 25995 Fixes problem when running vbetest command as reported by
38a0f8e7 25996 Vladimir Serbinenko <phcoder@gmail.com>.
25997
25998 * (grub_vbe_set_video_mode): Fixed problem with text modes.
25999
3143cc1c 260002009-02-04 Felix Zielcke <fzielcke@z-51.de>
26001
26002 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
26003 /dev/md/NpN style mdraid devices.
26004
9cba6fce 260052009-02-03 Felix Zielcke <fzielcke@z-51.de>
26006
26007 * util/unifont2pff.rb: Remove.
26008
e507a2c1 260092009-02-03 Felix Zielcke <fzielcke@z-51.de>
26010
26011 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
26012 `#'.
26013
d2c2b4cd 260142009-02-03 Felix Zielcke <fzielcke@z-51.de>
26015
26016 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
26017 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26018 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26019 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26020 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26021 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26022 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26023
b4315fb0 260242009-02-02 Christian Franke <franke@computer.org>
26025
26026 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
26027
de3aa260 260282009-02-01 Felix Zielcke <fzielcke@z-51.de>
26029
7c3ff286 26030 * INSTALL: Note that we now require at least autoconf 2.59 and
26031 that LZO is optional.
de3aa260 26032
825a182b 260332009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
26034
26035 Base on patch on bug #24154 created by Tomas Tintera
26036 <trosos@seznam.cz>.
26037
26038 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
26039
a69ef770 260402009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
26041
7c3ff286 26042 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 26043 <bero@arklinux.org>.
26044
26045 * normal/parser.y (script_init): Add missing semicolon.
26046
6fa42fa6 260472009-01-31 Colin D Bennett <colin@gibibit.com>
26048
7c3ff286 26049 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 26050 (free_menu_entry_classes): Added.
26051 (grub_normal_menu_addentry): Added class property handling.
26052 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
26053 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
26054
26055 * normal/menu_viewer.c: New file.
26056
26057 * normal/menu.c (run_menu_entry): Renamed to ...
26058 (grub_menu_execute_entry): ... this and made it as global.
26059 (grub_menu_run): Renamed to ...
26060 (show_text_menu): ... this and made it local.
26061 (show_text_menu): Adapt to new function names.
26062 (grub_normal_terminal_menu_viewer): New global variable.
26063
26064 * include/grub/menu.h: New file.
26065
26066 * include/grub/menu_viewer.h: New file.
26067
26068 * include/grub/normal.h: Added include to grub/menu.h.
26069 (grub_menu_entry): Moved to include/grub/menu.h.
26070 (grub_menu_entry_t): Likewise.
26071 (grub_menu): Likewise.
26072 (grub_menu_t): Likewise.
26073 (grub_normal_terminal_menu_viewer): Added.
26074 (grub_menu_execute_entry): Likewise.
26075 (grub_menu_run): Removed.
26076
26077 * DISTLIST: Added include/grub/menu.h.
26078 Added include/grub/menu_viewer.h.
26079 Added normal/menu_viewer.c.
26080
260812009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
26082
26083 * normal/execute.c (grub_script_execute_menuentry): Changed to use
26084 arglist for menutitle arguments.
26085
26086 * normal/main.c (grub_normal_menu_addentry): Likewise.
26087
26088 * normal/parser.y (menuentry): Likewise.
26089
26090 * normal/script.c (grub_script_create_cmdmenu): Likewise.
26091
26092 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
26093 (grub_script_create_cmdmenu): Likewise.
26094
26095 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
26096
26097 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
26098 changes.
26099
26100 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
26101
26102 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
26103
26104 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
26105
26106 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
26107
26108 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
26109
26110 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
26111
56192c23 261122009-01-30 Christian Franke <franke@computer.org>
26113
26114 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
26115 in option help text.
26116
d72521b3 261172009-01-27 Pavel Roskin <proski@gnu.org>
26118
26119 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
26120
994b5e84 261212009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
26122
26123 * commands/lsmmap.c: Add include to grub/machine/memory.h.
26124
26125 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
26126
26127 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
26128 unregister function.
26129
6a7eab2c 261302009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
26131
26132 * disk/scsi.c (grub_scsi_read): Fix sign problem.
26133
26134 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
26135
26136 * util/grub-mkfont.c (usage): Fix typo.
26137
26138 * util/elf/grub-mkimage.c (load_modules): Fix warning.
26139
1806b56e 261402009-01-26 Daniel Mierswa <impulze@impulze.org>
26141
3fb18f09 26142 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
26143
336e1fb9 26144 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
26145
1806b56e 26146 * kern/misc.c (grub_strcasecmp): New function.
26147 (grub_strcasecmp): Use grub_size_t instead of int for length.
26148 Fix return value.
26149 * include/grub/misc.h: Update function prototypes.
26150
580b2a0f 261512009-01-26 Robert Millan <rmh@aybabtu.com>
26152
26153 * configure.ac: Fix cross-compilation check.
ef257b36 26154
d31c24f1 261552009-01-22 Christian Franke <franke@computer.org>
26156
26157 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
26158 (precision) digit string. Allow `.format2' without `format1' (width).
26159 Limit input chars for `%s' output to `format2' if specified. This is
26160 compatible with standard printf ().
26161
3138b44c 261622009-01-22 Christian Franke <franke@computer.org>
26163
26164 * disk/ata.c (grub_ata_wait_status): Replace by ...
26165 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
26166 other status bits may be invalid while BSY is asserted.
26167 (grub_ata_check_ready): New function.
26168 (grub_ata_cmd): Removed.
26169 (grub_ata_wait_drq): New function.
26170 (grub_ata_strncpy): Remove inline.
26171 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
26172 and error check now done by grub_ata_wait_drq ().
26173 (grub_ata_pio_write): Likewise.
26174 (grub_atapi_identify): Set DEV before check for !BSY. Use
26175 grub_ata_wait_drq () to wait for data.
26176 (grub_ata_device_initialize): Add status register check to
26177 detect missing SATA slave devices. Add debug messages.
26178 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
26179 (grub_atapi_packet): Set DEV before check for !BSY. Replace
26180 transfer loop by grub_ata_pio_write ().
26181 (grub_ata_identify): Set DEV before check for !BSY. Use
26182 grub_ata_wait_drq () to wait for data.
ef257b36 26183 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 26184 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
26185 read/write in one loop. Fix invalid command on write. Fix incomplete
26186 command on (size % batch) == 0. Add missing error check after write of
26187 last block. Add debug messages.
26188 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
26189
59a64ef6 261902009-01-19 Christian Franke <franke@computer.org>
26191
26192 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
26193 (GRUB_ATAPI_IREASON_*): Likewise.
26194 (grub_ata_pio_write): Fix timeout error return.
26195 (grub_atapi_identify): Add grub_ata_wait () after cmd.
26196 (grub_atapi_wait_drq): New function.
26197 (grub_atapi_packet): New parameter `size'.
26198 Use grub_atapi_wait_drq () and direct write instead of
26199 grub_ata_pio_write ().
26200 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
26201 reads the number of bytes requested by the device for each DRQ
26202 assertion.
26203 (grub_atapi_write): Remove old implementation, return not
26204 implemented instead.
26205
1cfe20b3 262062009-01-19 Christian Franke <franke@computer.org>
26207
26208 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
26209 of 512 to calculate data size.
26210 (grub_scsi_read12): Likewise.
26211 (grub_scsi_write10): Likewise.
26212 (grub_scsi_write12): Likewise.
26213 (grub_scsi_read): Adjust size according to blocksize.
26214 Add checks for invalid blocksize and unaligned transfer.
26215
bee5fe5d 262162009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
26217
26218 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
26219
ef257b36 26220 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 26221 width glyphs.
26222
3e643f8c 262232009-01-19 Robert Millan <rmh@aybabtu.com>
26224
26225 * config.guess: Update to latest version from config git.
26226 * config.sub: Likewise.
26227
4fa80998 262282009-01-17 Felix Zielcke <fzielcke@z-51.de>
26229
26230 * Makefile.in: Change font compilation to use new grub-mkfont instead
26231 of java version.
26232
26233 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
26234 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
26235 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
26236 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
26237 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
26238 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
26239 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
26240 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
26241 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
26242
7086085b 262432009-01-16 Christian Franke <franke@computer.org>
26244
26245 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
26246 (enum grub_ata_timeout_milliseconds): New enum.
26247 (grub_ata_wait_status): Add parameter milliseconds.
26248 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
26249 recovery from timed-out commands.
26250 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
26251 return grub_errno instead of REG_ERROR.
26252 (grub_ata_pio_write): Add parameter milliseconds.
26253 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
26254 Pass milliseconds to grub_ata_wait_status () and
26255 grub_ata_pio_read ().
26256 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
26257 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
26258 grub_ata_wait_status (). Fix IDENTIFY timeout check.
26259 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
26260 It is not suitable for device detection, because DEV bit is ignored,
26261 the command may run too long, and not all devices set the signature
26262 properly.
26263 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
26264 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
26265 Fix device selection, DEV bit must be set first to address the registers
26266 of the correct device.
26267 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
26268 grub_ata_pio_read/write ().
26269 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
26270 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
26271
4a412913 262722009-01-13 Carles Pina i Estany <carles@pina.cat>
26273
26274 * util/grub-editenv.c (main): Use fseeko(), not fseek().
26275
7795c55e 262762009-01-13 Bean <bean123ch@gmail.com>
d913988c 26277
26278 * util/grub-mkfont.c (write_font): forget to remove some debug code.
26279
7795c55e 262802009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 26281
26282 * Makefile.in: (enable_grub_mkfont): New variable.
26283 (freetype_cflags): Likewise.
26284 (freetype_libs): Likewise.
26285
26286 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
26287 (grub_mkfont_SOURCES): New variable.
26288 (grub_mkfont_CFLAGS): Likewise.
26289 (grub_mkfont_LDFLAGS): Likewise.
26290
26291 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
26292 library if `--enable-grub-mkfont' is requested.
26293 (enable_grub_mkfont): New variable.
26294 (freetype_cflags): Likewise.
26295 (freetype_libs): Likewise.
26296
26297 * util/grub-mkfont.c: New file.
26298
093af1fe 262992009-01-12 Christian Franke <franke@computer.org>
26300
26301 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
26302 mode check. Fix setting of compat_use[].
26303
f36cc108 263042009-01-10 Robert Millan <rmh@aybabtu.com>
26305
26306 Update a few copyright years which we forgot to do in 2008 (only for
26307 files whose changes made in 2008 were copyright-significant)
26308
26309 * Makefile.in: Add 2008 to Copyright line.
26310 * disk/ieee1275/ofdisk.c: Likewise.
26311 * disk/efi/efidisk.c: Likewise.
26312 * kern/dl.c: Likewise.
26313 * kern/sparc64/ieee1275/init.c: Likewise.
26314 * kern/mm.c: Likewise.
26315 * kern/efi/mm.c: Likewise.
26316 * boot/i386/pc/boot.S: Likewise.
26317 * genfslist.sh: Likewise.
26318 * fs/iso9660.c: Likewise.
26319 * fs/hfs.c: Likewise.
26320 * fs/jfs.c: Likewise.
26321 * fs/minix.c: Likewise.
26322 * fs/ufs.c: Likewise.
26323 * gensymlist.sh.in: Likewise.
26324 * genkernsyms.sh.in: Likewise.
26325 * include/grub/misc.h: Likewise.
26326 * include/grub/types.h: Likewise.
26327 * include/grub/symbol.h: Likewise.
26328 * include/grub/elf.h: Likewise.
26329 * include/grub/kernel.h: Likewise.
26330 * include/grub/disk.h: Likewise.
26331 * include/grub/dl.h: Likewise.
26332 * include/grub/i386/linux.h: Likewise.
26333 * include/grub/i386/pc/biosdisk.h: Likewise.
26334 * include/grub/efi/api.h: Likewise.
26335 * include/grub/efi/pe32.h: Likewise.
26336 * include/grub/util/misc.h: Likewise.
26337 * normal/execute.c: Likewise.
26338 * normal/arg.c: Likewise.
26339 * normal/completion.c: Likewise.
26340 * normal/lexer.c: Likewise.
26341 * normal/parser.y: Likewise.
26342 * normal/misc.c: Likewise.
26343 * commands/i386/pc/vbeinfo.c: Likewise.
26344 * commands/hexdump.c: Likewise.
26345 * commands/terminal.c: Likewise.
26346 * commands/ls.c: Likewise.
26347 * commands/help.c: Likewise.
26348 * partmap/pc.c: Likewise.
26349 * loader/efi/chainloader.c: Likewise.
26350 * loader/multiboot_loader.c: Likewise.
26351 * loader/i386/pc/multiboot2.c: Likewise.
26352 * term/efi/console.c: Likewise.
26353 * term/i386/pc/serial.c: Likewise.
26354 * util/lvm.c: Likewise.
26355 * util/console.c: Likewise.
26356 * util/i386/efi/grub-mkimage.c: Likewise.
26357 * util/raid.c: Likewise.
26358
7f02114b 263592009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
26360
26361 * commands/videotest.c: Removed include to grub/machine/memory.h.
26362
26363 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
26364 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
26365 (video_mod_SOURCES): Removed.
26366 (video_mod_CFLAGS): Likewise.
26367 (video_mod_LDFLAGS): Likewise.
26368 (gfxterm_mod_SOURCES): Likewise.
26369 (gfxterm_mod_CFLAGS): Likewise.
26370 (gfxterm_mod_LDFLAGS): Likewise.
26371 (videotest_mod_SOURCES): Likewise.
26372 (videotest_mod_CFLAGS): Likewise.
26373 (videotest_mod_LDFLAGS): Likewise.
26374 (bitmap_mod_SOURCES): Likewise.
26375 (bitmap_mod_CFLAGS): Likewise.
26376 (bitmap_mod_LDFLAGS): Likewise.
26377 (tga_mod_SOURCES): Likewise.
26378 (tga_mod_CFLAGS): Likewise.
26379 (tga_mod_LDFLAGS): Likewise.
26380 (jpeg_mod_SOURCES): Likewise.
26381 (jpeg_mod_CFLAGS): Likewise.
26382 (jpeg_mod_LDFLAGS): Likewise.
26383 (png_mod_SOURCES): Likewise.
26384 (png_mod_CFLAGS): Likewise.
26385 (png_mod_LDFLAGS): Likewise.
26386
26387 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
26388 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
26389 (video_mod_SOURCES): Added.
26390 (video_mod_CFLAGS): Likewise.
26391 (video_mod_LDFLAGS): Likewise.
26392 (videotest_mod_SOURCES): Likewise.
26393 (videotest_mod_CFLAGS): Likewise.
26394 (videotest_mod_LDFLAGS): Likewise.
26395 (bitmap_mod_SOURCES): Likewise.
26396 (bitmap_mod_CFLAGS): Likewise.
26397 (bitmap_mod_LDFLAGS): Likewise.
26398 (tga_mod_SOURCES): Likewise.
26399 (tga_mod_CFLAGS): Likewise.
26400 (tga_mod_LDFLAGS): Likewise.
26401 (jpeg_mod_SOURCES): Likewise.
26402 (jpeg_mod_CFLAGS): Likewise.
26403 (jpeg_mod_LDFLAGS): Likewise.
26404 (png_mod_SOURCES): Likewise.
26405 (png_mod_CFLAGS): Likewise.
26406 (png_mod_LDFLAGS): Likewise.
26407 (gfxterm_mod_SOURCES): Likewise.
26408 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 26409 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 26410
26411 * term/gfxterm.c: Removed include to grub/machine/memory.h,
26412 grub/machine/console.h.
26413
644fff97 264142009-01-04 Jerone Young <jerone@gmail.com>
26415
26416 Make on screen instructions clearer
26417
26418 Based on patch created by Jidanni <jidanni@jidanni.org>
26419
26420 * normal/menu.c: print clearer instructions on the screen
26421
1e901a75 264222009-01-02 Colin D Bennett <colin@gibibit.com>
26423
26424 New font engine.
34c44600 26425
1e901a75 26426 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
26427 build system and fixed gfxterm.c to work with different sized fonts.
26428
26429 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 26430
1e901a75 26431 * configure: Re-generated.
34c44600 26432
1e901a75 26433 * DISTLIST: Removed font/manager.c.
26434 Added font/font.c.
26435 Added font/font_cmd.c.
34c44600 26436
1e901a75 26437 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
26438 compilation.
34c44600 26439
1e901a75 26440 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 26441
26442 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 26443
26444 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 26445
1e901a75 26446 * normal/menu.c: Likewise.
34c44600 26447
1e901a75 26448 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
26449 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 26450
1e901a75 26451 * include/grub/font.h: Replaced with new file.
34c44600 26452
1e901a75 26453 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
26454 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
26455 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
26456 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
26457 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 26458 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 26459 fg_red, fg_green, fg_blue, fg_alpha.
26460 (grub_video_adapter): Removed blit_glyph.
34c44600 26461 (grub_video_blit_glyph): Removed.
26462
1e901a75 26463 * font/manager.c: Removed file.
34c44600 26464
26465 * font/font.c: New file.
26466
1e901a75 26467 * font/font_cmd.c: Likewise.
34c44600 26468
1e901a75 26469 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 26470
1e901a75 26471 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
26472 (grub_video_vbe_map_rgba): Likewise.
26473 (grub_video_vbe_unmap_color_int): Likewise.
26474 (grub_video_vbe_blit_glyph): Removed.
26475 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 26476
1e901a75 26477 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
26478 (get_pixel): Likewise.
34c44600 26479 (set_pixel): Likewise.
26480
1e901a75 26481 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 26482
1e901a75 26483 * term/gfxterm.c: Adapted to new font engine.
34c44600 26484
1e901a75 26485 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 26486
1e901a75 26487 * term/i386/pc/vga.c: Likewise.
34c44600 26488
1e901a75 26489 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 26490
1e901a75 26491 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 26492
1e901a75 26493 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 26494
1e901a75 26495 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 26496
1e901a75 26497 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 26498
1e901a75 26499 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 26500
1e901a75 26501 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 26502
1e901a75 26503 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 26504
1e901a75 26505 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
26506
26507 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 26508
1e901a75 26509 * util/grub-mkconfig_lib.in: Changed font extension.
26510
278922e8 265112008-12-28 Felix Zielcke <fzielcke@z-51.de>
26512
26513 * util/getroot.c (grub_util_get_grub_dev): Add support for
26514 /dev/md/dNNpNN style partitionable mdraid devices.
26515
3ced05cf 265162008-12-12 Alex Smith <alex@alex-smith.me.uk>
26517
26518 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
26519 at a time limit of the PXE TFTP API correctly.
26520 (grub_pxefs_close): Likewise.
26521
7fd0ee30 265222008-11-29 Robert Millan <rmh@aybabtu.com>
26523
34c44600 26524 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 26525 grub_ata_device_initialize() calls.
26526
34c44600 265272008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 26528
26529 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
26530 iteration failed.
26531 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
26532
89313780 265332008-11-28 Robert Millan <rmh@aybabtu.com>
26534
26535 Fix build on powerpc-ieee1275. Based on patch created by
26536 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
26537 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
26538 `kern/ieee1275/mmap.c'.
26539 * include/grub/powerpc/ieee1275/memory.h: New file.
26540
15257703 26541 Provide grub-install on coreboot.
26542 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
26543 (grub_install_SOURCES): New variable.
26544 * util/i386/pc/grub-install.in: Add a few condition checks to make it
26545 usable on coreboot.
26546
9fc5388a 265472008-11-25 Felix Zielcke <fzielcke@z-51.de>
26548
26549 * util/grub-fstest.c (grub_term_get_current_input): Change return type
26550 to `grub_term_input_t'.
26551 (grub_term_get_current_output): Change return type to
26552 `grub_term_output_t'.
26553
bc3a2f31 265542008-11-22 Robert Millan <rmh@aybabtu.com>
26555
34c44600 26556 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 26557 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
26558 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
26559 grub_vga_text_cls().
26560
80fc88f2 26561 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 26562 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 26563
cbf36fd3 26564 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
26565 to 0x200000 (avoids trouble with some OFW implementations, and matches
26566 with the one in Yaboot).
26567 Reported by Manoel Abranches
26568
73e8e268 265692008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 26570
26571 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
26572 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
26573
73e8e268 26574 * util/grub-mkconfig_lib.in (grub_warn): New function.
26575 (convert_system_path_to_grub_path): Use grub_warn() when issuing
26576 warnings, to obtain consistent formatting.
26577 * util/grub.d/00_header.in: Likewise.
26578 * util/update-grub_lib.in: Likewise.
26579
e94045a1 26580 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 26581 Move comment text to `#error' stanza.
e94045a1 26582
79d29fd7 26583 Harmonize ieee1275's grub_available_iterate() with the generic
26584 grub_machine_mmap_iterate() interface (fixes a recently-introduced
26585 build problem on i386-ieee1275):
26586 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
26587 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
26588 parameter `type'. Update all users of this function.
26589 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
26590 `kern/ieee1275/mmap.c'.
26591 * kern/ieee1275/init.c
26592 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
26593 with ...
26594 (grub_machine_mmap_iterate): ... this.
26595 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
26596 return type to `grub_err_t'. Update all implementations of this
26597 function prototype.
26598 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
26599 Likewise.
26600
60d6b16e 26601 Add `lsmmap' command (lists firmware-provided memory map):
26602 * commands/lsmmap.c: New file.
26603 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
26604 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
26605 variables.
26606 * conf/powerpc-ieee1275.rmk: Likewise.
26607 * conf/i386-coreboot.rmk: Likewise.
26608 * conf/i386-ieee1275.rmk: Likewise.
26609
ebaaf49b 266102008-11-19 Robert Millan <rmh@aybabtu.com>
26611
26612 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 26613 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
26614 constraints to initrd allocation (based on code from
26615 loader/i386/pc/linux.c). Without them, initrd was allocated too high
26616 for Linux to find it.
ebaaf49b 26617
dfab719f 266182008-11-14 Robert Millan <rmh@aybabtu.com>
26619
26620 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
26621 order to cope with duplicate slashes.
26622
10fc3eb9 266232008-11-14 Robert Millan <rmh@aybabtu.com>
26624
26625 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
26626 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
26627 don't want to mess with lower memory, because it is used in the Linux
26628 loader.
26629
26630 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 26631 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 26632 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
26633 is in our heap (probably as a result of it being corrupted during
2f2a3442 26634 decompression). Add #error instance with comment to explain why this
26635 loader isn't currently usable on PC/BIOS.
10fc3eb9 26636
e2e07847 266372008-11-14 Robert Millan <rmh@aybabtu.com>
26638
26639 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 26640 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 26641
fe8e8d69 266422008-11-12 Robert Millan <rmh@aybabtu.com>
26643
26644 Make loader/i386/linux.c buildable on i386-pc (although disabled).
26645
26646 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
26647 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
26648 from here ...
26649 * include/grub/i386/pc/memory.h: ... to here.
26650
976b07d0 266512008-11-12 Robert Millan <rmh@aybabtu.com>
26652
26653 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
26654 split).
26655
26656 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
26657 (grub_console_cur_color, grub_console_real_putchar)
26658 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
26659 (grub_console_setcolorstate, grub_console_setcolor)
26660 (grub_console_getcolor): Move from here ...
26661 * include/grub/i386/vga_common.h: ... to here (new file).
26662
26663 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
26664 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
26665 `<grub/i386/io.h>'.
26666 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
26667 `<grub/i386/vga_common.h>'.
26668
76679cd3 266692008-11-12 Robert Millan <rmh@aybabtu.com>
26670
26671 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
26672 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
26673 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
26674 variables.
26675 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
26676 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
26677
26678 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
26679 grub_console_init() with call to grub_vga_text_init().
26680 (grub_machine_fini): Replace call to
26681 grub_console_fini() with call to grub_vga_text_fini() and
26682 grub_at_keyboard_fini().
26683
26684 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
26685 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
26686 (grub_console_setcolorstate, grub_console_setcolor)
26687 (grub_console_getcolor): New function prototypes.
26688
26689 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
26690 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
26691 (grub_vga_text_setcursor): Static-ize.
26692 (grub_vga_text_term): New structure.
26693 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
26694
26695 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
26696 (grub_console_cur_color, grub_console_standard_color)
26697 (grub_console_normal_color, grub_console_highlight_color)
26698 (map_char, grub_console_putchar, grub_console_getcharwidth)
26699 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
26700 (grub_console_getcolor): Move from here ...
26701 * term/i386/vga_common.c: ... to here (same function names).
26702
95b841d3 267032008-11-12 Robert Millan <rmh@aybabtu.com>
26704
26705 Use newly-added Multiboot support in coreboot.
26706
26707 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
26708 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
26709
26710 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
26711 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
26712 (codestart): Store the MBI in `startup_multiboot_info' when we're
26713 being loaded using Multiboot.
26714
26715 * kern/i386/coreboot/init.c (grub_machine_init): Move
26716 grub_at_keyboard_init() call to beginning of function (useful for
26717 debugging). Call grub_machine_mmap_init() before attempting to use
26718 grub_machine_mmap_iterate().
26719 (grub_lower_mem, grub_upper_mem): Move from here ...
26720 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
26721 here (new file).
26722
26723 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
26724 function prototype.
26725
761ca975 267262008-11-12 Robert Millan <rmh@aybabtu.com>
26727
26728 Fix a regression introduced by the at_keyboard.mod split. Because
26729 some terminals are default on some platforms and non-default on
26730 others, the first terminal being registered determines which is
26731 going to be default.
26732
26733 * kern/term.c (grub_term_register_input): If this is the first
26734 terminal being registered, set it as the current one.
26735 (grub_term_register_output): Likewise.
26736
26737 * term/efi/console.c (grub_console_init): Do not call
26738 grub_term_set_current_output() or grub_term_set_current_input().
26739 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
26740 * term/i386/pc/console.c (grub_console_init): Likewise.
26741 (grub_console_fini): Do not call grub_term_set_current_input()
26742 (but leave grub_term_set_current_output() to restore text mode).
26743
6c529df7 267442008-11-10 Robert Millan <rmh@aybabtu.com>
26745
26746 * util/grub.d/00_header.in: Add backward compatibility check for
26747 versions of terminal.mod that don't understand `terminal_input' or
26748 `terminal_output'.
26749
132e4113 267502008-11-09 Robert Millan <rmh@aybabtu.com>
26751
26752 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
26753 `terminal_input' / `terminal_output', not `terminal'.
26754
ac293d50 267552008-11-08 Robert Millan <rmh@aybabtu.com>
26756
26757 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 26758 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 26759
0025933a 267602008-11-08 Robert Millan <rmh@aybabtu.com>
26761
26762 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 26763 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 26764 members. Update all users.
26765 * util/console.c (grub_ncurses_term): Split in ...
26766 (grub_ncurses_term_input): ... this, and ...
26767 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 26768 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 26769
37c86336 267702008-11-08 Robert Millan <rmh@aybabtu.com>
26771
26772 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
26773 (PKGDATA): Add $(pkgdata_SRCDIR).
26774 (pkglib_BUILDDIR): New variable.
26775 (pkgdata_SRCDIR): New variable.
26776 (build_env.mk): New target.
26777 (include_DATA): New variable.
26778 (install-local): Install $(include_DATA) files in $(includedir).
26779
b6c15a2d 267802008-11-07 Pavel Roskin <proski@gnu.org>
26781
d99d46f1 26782 * gendistlist.sh: Use C locale for sorting to ensure consistent
26783 output on all systems.
26784
b6c15a2d 26785 * util/grub.d/00_header.in: Remove incorrect space before
26786 "serial".
26787
c32ee8c9 267882008-11-07 Robert Millan <rmh@aybabtu.com>
26789
26790 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
26791 per specification.
26792 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
26793 * loader/multiboot_loader.c (find_multi_boot2_header): New function
26794 (based on find_multi_boot1_header).
26795 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
26796 using find_multi_boot2_header(), and abort if neither Multiboot or
26797 Multiboot headers were found.
26798
651c29b7 267992008-11-07 Robert Millan <rmh@aybabtu.com>
26800
26801 Modularize at_keyboard.mod:
26802
26803 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
26804 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
26805 (at_keyboard_mod_LDFLAGS): New variables.
26806
26807 Actual terminal split:
26808
26809 * include/grub/term.h (struct grub_term): Split in ...
26810 (struct grub_term_input): ... this, and ...
26811 (struct grub_term_output): ... this. Update all users.
26812 (grub_term_set_current): Split in ...
26813 (grub_term_set_current_input): ... this, and ...
26814 (grub_term_set_current_output): ... this.
26815 (grub_term_get_current): Split in ...
26816 (grub_term_get_current_input): ... this, and ...
26817 (grub_term_get_current_output): ... this.
26818 (grub_term_register): Split in ...
26819 (grub_term_register_input): ... this, and ...
26820 (grub_term_register_output): ... this.
26821 (grub_term_unregister): Split in ...
26822 (grub_term_unregister_input): ... this, and ...
26823 (grub_term_unregister_output): ... this.
26824 (grub_term_iterate): Split in ...
26825 (grub_term_iterate_input): ... this, and ...
26826 (grub_term_iterate_output): ... this.
26827
26828 * kern/term.c (grub_term_list): Split in ...
26829 (grub_term_list_input): ... this, and ...
26830 (grub_term_list_output): ... this. Update all users.
26831 (grub_cur_term): Split in ...
26832 (grub_cur_term_input): ... this, and ...
26833 (grub_cur_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/misc.c (grub_abort): Split use of grub_term_get_current() into
26851 a check for input and one for output (and only attempt to get keys
26852 from user when input works).
26853
26854 * util/grub-probe.c (grub_term_get_current): Split in ...
26855 (grub_term_get_current_input): ... this, and ...
26856 (grub_term_get_current_output): ... this.
26857 * util/grub-fstest.c: Likewise.
26858 * util/i386/pc/grub-setup.c: Likewise.
26859 * util/grub-editenv.c: Likewise.
26860
26861 Portability adjustments:
26862
26863 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
26864 `term/i386/pc/at_keyboard.c'.
26865 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
26866 grub_keyboard_controller_init() (now handled by terminal .init).
26867 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
26868 grub_at_keyboard_init().
26869 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
26870 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
26871 at_keyboard.mod via input terminal interface).
26872 * include/grub/i386/coreboot/console.h: Convert into a stub for
26873 `<grub/i386/pc/console.h>'.
26874
26875 Migrate full terminals to new API:
26876
26877 * term/efi/console.c (grub_console_term): Split into ...
26878 (grub_console_term_input): ... this, and ...
26879 (grub_console_term_output): ... this. Update all users.
26880 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
26881 (grub_ofconsole_init): Split into ...
26882 (grub_ofconsole_init_input): ... this, and ...
26883 (grub_ofconsole_init_output): ... this.
26884 (grub_ofconsole_term): Split into ...
26885 (grub_ofconsole_term_input): ... this, and ...
26886 (grub_ofconsole_term_output): ... this. Update all users.
26887 * term/i386/pc/serial.c (grub_serial_term): Split into ...
26888 (grub_serial_term_input): ... this, and ...
26889 (grub_serial_term_output): ... this. Update all users.
26890 * term/i386/pc/console.c (grub_console_term): Split into ...
26891 (grub_console_term_input): ... this, and ...
26892 (grub_console_term_output): ... this. Update all users.
26893 (grub_console_term_input): Only enable it on PC/BIOS platform.
26894 (grub_console_init): Remove grub_keyboard_controller_init() call.
26895
26896 Migrate input terminals to new API:
26897
26898 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
26899 `i386' and `i386/pc' to enable build on x86_64 (this driver is
26900 i386-specific anyway).
26901 (grub_console_checkkey): Rename to ...
26902 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
26903 users.
26904 (grub_keyboard_controller_orig): New variable.
26905 (grub_console_getkey): Rename to ...
26906 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
26907 users.
26908 (grub_keyboard_controller_init): Static-ize. Save original
26909 controller value so that it can be restored ...
26910 (grub_keyboard_controller_fini): ... here (new function).
26911 (grub_at_keyboard_term): New structure.
26912 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
26913 functions.
26914
26915 Migrate output terminals to new API:
26916
26917 * term/i386/pc/vga.c (grub_vga_term): Change type to
26918 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
26919 members. Update all users.
26920 * term/gfxterm.c (grub_video_term): Change type to
26921 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
26922 members. Update all users.
26923 * include/grub/i386/pc/console.h (grub_console_checkkey)
26924 (grub_console_getkey): Do not export (no longer needed by gfxterm,
26925 etc).
26926
26927 Migrate `terminal' command and userland tools to new API:
26928
26929 * commands/terminal.c (grub_cmd_terminal): Split into ...
26930 (grub_cmd_terminal_input): ... this, and ...
26931 (grub_cmd_terminal_output): ... this.
26932 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
26933 `terminal_input' and `terminal_output'.
26934 * util/grub.d/00_header.in: Adjust `terminal' calls to new
26935 `terminal_input' / `terminal_output' API.
26936 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
26937 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
26938 provided ${GRUB_TERMINAL}, convert it).
26939
96e5d876 269402008-11-04 Robert Millan <rmh@aybabtu.com>
26941
26942 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
26943 for FreeBSD.
26944 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
26945
556f3775 269462008-11-03 Bean <bean123ch@gmail.com>
26947
26948 * kern/elf.c (grub_elf32_load): Revert to previous code.
26949 (grub_elf64_load): Likewise.
26950
26951 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
26952
926b9823 269532008-11-01 Robert Millan <rmh@aybabtu.com>
26954
26955 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
26956 (TARGET_CPPFLAGS): Likewise.
26957 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
26958
1432e958 269592008-11-01 Carles Pina i Estany <carles@pina.cat>
26960
26961 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
26962
dba3f844 269632008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 26964
26965 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
26966 addition of objects until the code is not going to be able to fail.
26967
dba3f844 269682008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 26969
26970 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
26971 (add a missing NULL check, and correct them by moving the pointer
26972 operations after the actual check).
26973
7ab28c21 269742008-10-29 Robert Millan <rmh@aybabtu.com>
26975
26976 * util/i386/pc/grub-install.in: Handle empty string as output from
26977 make_system_path_relative_to_its_root().
26978
1b7748eb 269792008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
26980
26981 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
26982 circular metadata worst case scenario. If the metadata is circular
26983 then copy the wrap in place.
26984 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
26985 project lib/format_text/layout.h
26986 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
26987
c9618ab2 269882008-10-03 Felix Zielcke <fzielcke@z-51.de>
26989
7a36edca 26990 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 26991
bf981c62 269922008-10-03 Felix Zielcke <fzielcke@z-51.de>
26993
26994 * util/update-grub_lib.in: Mention filename in warning message.
26995
6d994591 269962008-09-29 Felix Zielcke <fzielcke@z-51.de>
26997
26998 * NEWS: Update for rename of update-grub to grub-mkconfig.
26999
18ade780 270002008-09-29 Felix Zielcke <fzielcke@z-51.de>
27001
27002 * util/update-grub_lib.in: Copy to ...
27003 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 27004 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 27005 * util/update-grub.in: Rename to ...
27006 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
27007 option. Add `--output' option to allow users to specify the generated
27008 configuration file. Default to stdout.
27009 (update_grub_dir): Rename to ...
27010 (grub_mkconfig_dir): ... this.
27011 (grub_cfg): Default to an empty string.
27012 * conf/common.rmk (update-grub): Rename to ...
27013 (grub-mkconfig): ... this.
27014 (update-grub_lib): Copy to ...
27015 (grub-mkconfig_lib): ... this.
27016 (update-grub_SCRIPTS): Copy to ...
27017 (grub-mkconfig_SCRIPTS): ... this. Update all users.
27018 (update-grub_DATA): Rename to ...
27019 (grub-mkconfig_DATA): ... this.
27020
556ce6ac 270212008-09-28 Robert Millan <rmh@aybabtu.com>
27022
27023 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
27024 to `modified'. Add the real `created' field.
27025 (grub_iso9660_uuid): Use `modified' rather than `created' for
27026 constructing the UUID.
27027
270282008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 27029
27030 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
27031 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
27032
92274e85 270332008-09-28 Bean <bean123ch@gmail.com>
27034
27035 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
27036 Thanks to Christian Franke for finding this bug.
27037
add6f17a 270382008-09-25 Robert Millan <rmh@aybabtu.com>
27039
27040 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
27041 instances of grub_util_get_disk_name() (see previous commit).
27042
d2a367b8 270432008-09-25 Robert Millan <rmh@aybabtu.com>
27044
27045 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
27046 `util/i386/get_disk_name.c'.
27047 * conf/i386-efi.rmk: Likewise.
27048 * conf/x86_64-efi.rmk: Likewise.
27049 * conf/i386-coreboot.rmk: Likewise.
27050 * conf/i386-ieee1275.rmk: Likewise.
27051 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
27052 `util/ieee1275/get_disk_name.c'.
27053 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
27054 * util/ieee1275/get_disk_name.c: Remove file.
27055 * util/i386/get_disk_name.c: Remove file.
27056 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
27057 "hd%d" for device.map entries, rather than using
27058 grub_util_get_disk_name().
27059
81a06771 270602008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 27061
27062 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
27063 warning.
27064 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
27065
5a004279 270662008-09-24 Carles Pina i Estany <carles@pina.cat>
27067
27068 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
27069 Changed to 0x5100.
27070 (GRUB_TERM_PPAGE): Changed to 0x4900.
27071
397093d3 270722008-09-24 Robert Millan <rmh@aybabtu.com>
27073
27074 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
27075 macros (they were i386-pc specific).
27076 * include/grub/sparc64/ieee1275/console.h: Likewise.
27077 * include/grub/efi/console.h: Likewise.
27078
a91b6c7c 270792008-09-22 Bean <bean123ch@gmail.com>
27080
27081 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
27082 resident and in attribute list.
27083
27084 * include/grub/ntfs.h (BMP_LEN): Removed.
27085
c40fd116 270862008-09-22 Bean <bean123ch@gmail.com>
27087
81a06771 27088 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 27089 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
27090
27091 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
27092 error occurs, as grub_disk_open will call grub_disk_close, which will
27093 call p->close (scsi).
27094
81a06771 270952008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 27096
27097 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
27098 (AC_PREREQ): Bumped to 2.59.
27099 (AC_TRY_COMPILE): Replace obsolete macro with ...
27100 (AC_COMPILE_IFELSE): ... this.
27101 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
27102 (AC_LINK_IFELSE): ... this.
27103
5dc43410 271042008-09-21 Felix Zielcke <fzielcke@z-51.de>
27105
27106 * autogen.sh: Add a call to `gendistlist.sh'.
27107
9035dce4 271082008-09-19 Christian Franke <franke@computer.org>
27109
27110 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
27111 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
27112 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
27113 Export __enable_execute_stack() to modules.
27114 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
27115 New function.
27116
7fd75377 271172008-09-09 Felix Zielcke <fzielcke@z-51.de>
27118
040030b3 27119 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
27120 Sort the list.
27121
271222008-09-09 Felix Zielcke <fzielcke@z-51.de>
27123
27124 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 27125 #include <grub/util/hostdisk.h>.
27126
89d5ffcf 271272008-09-08 Robert Millan <rmh@aybabtu.com>
27128
27129 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
27130 segments when their filesz is zero (grub_file_read() interprets
81a06771 27131 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 27132 Use `lowest_segment' rather than 0 for calculating the current
27133 segment load address.
27134
40da438f 271352008-09-08 Robert Millan <rmh@aybabtu.com>
27136
27137 * util/hostdisk.c (open_device): Replace a grub_util_info() call
27138 with grub_dprintf("hostdisk", ...), as it was so verbose that it
27139 clobbered useful information.
27140
ddbf5556 271412008-09-08 Robert Millan <rmh@aybabtu.com>
27142
27143 * include/grub/util/biosdisk.h: Move to ...
27144 * include/grub/util/hostdisk.h: ... here. Update all users.
27145 * util/biosdisk.c: Move to ...
27146 * util/hostdisk.c: ... here. Update all users.
27147
783d0f48 271482008-09-07 Robert Millan <rmh@aybabtu.com>
27149
27150 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
27151 variables.
27152 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
27153 and length can be stored directly in the `mbi->mmap_addr' and
27154 `mbi->mmap_length' struct fields.
27155
548e2ea5 271562008-09-07 Robert Millan <rmh@aybabtu.com>
27157
27158 * conf/i386.rmk: New file. Provides declaration for building
27159 `cpuid.mod'.
27160 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
27161 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
27162 variables.
27163 Include `conf/i386.mk'.
27164 * conf/i386-efi.rmk: Likewise.
27165 * conf/x86_64-efi.rmk: Likewise.
27166 * conf/i386-coreboot.rmk: Likewise.
27167 * conf/i386-ieee1275.rmk: Likewise.
27168
0ea85a37 271692008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
27170
27171 Based on patch created by Colin D Bennett <colin@gibibit.com>.
27172 Adds optimization support for BGR based modes.
27173
27174 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
27175 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
27176 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
27177 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
27178 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
27179 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
27180 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
27181 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
27182 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
27183 (grub_video_i386_vbeblit_index_index): Likewise.
27184 (grub_video_i386_vbeblit_replace_directN): Added.
27185 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
27186 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
27187 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
27188 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
27189 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
27190 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 27191 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 27192 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
27193 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
27194 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
27195 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
27196 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
27197 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
27198
27199 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
27200 (grub_video_i386_vbefill_R8G8B8): Likewise.
27201 (grub_video_i386_vbefill_index): Likewise.
27202 (grub_video_i386_vbefill_direct32): Added.
27203 (grub_video_i386_vbefill_direct24): Likewise.
27204 (grub_video_i386_vbefill_direct16): Likewise.
27205 (grub_video_i386_vbefill_direct8): Likewise.
27206
81a06771 27207 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 27208 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
27209 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
27210 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
27211 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
27212 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 27213
0ea85a37 27214 * video/video.c (grub_video_get_blit_format): Updated to use new
27215 blit formats. Added handling for 16 bit color modes.
81a06771 27216
27217 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 27218 fillers.
27219 (common_blitter): Updated to use new blitters.
27220
27221 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
27222 Removed.
27223 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
27224 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
27225 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
27226 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
27227 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
27228 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
27229 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
27230 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
27231 (grub_video_i386_vbeblit_index_index): Likewise.
27232 (grub_video_i386_vbeblit_replace_directN): Added.
27233 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
27234 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
27235 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
27236 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
27237 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
27238 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
27239 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
27240 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
27241 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
27242 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
27243 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
27244 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
27245 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 27246
0ea85a37 27247 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
27248 (grub_video_i386_vbefill_R8G8B8): Likewise.
27249 (grub_video_i386_vbefill_index): Likewise.
27250 (grub_video_i386_vbefill_direct32): Added.
27251 (grub_video_i386_vbefill_direct24): Likewise.
27252 (grub_video_i386_vbefill_direct16): Likewise.
27253 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 27254
0ea85a37 27255 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
27256 types.
81a06771 27257
0ea85a37 27258 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
27259 types.
81a06771 27260
0ea85a37 27261 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
27262 blitter types.
81a06771 27263
0ea85a37 27264 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
27265 types.
27266
e8a83df6 272672008-09-06 Felix Zielcke <fzielcke@z-51.de>
27268
27269 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
27270 RAID level 1.
27271
6bcd8ee5 272722008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 27273
6bcd8ee5 27274 * fs/iso9660.c (grub_iso9660_date): New structure.
27275 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
27276 (grub_iso9660_uuid): New function.
c375ae58 27277
59261157 272782008-09-05 Bean <bean123ch@gmail.com>
27279
27280 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
27281
27282 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
27283 insensitive bit for names in Win32 and Win32 & DOS namespace.
27284
27285 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
27286
27287 * include/grub/types.h (LONG_MAX): Likewise.
27288
58b6645a 272892008-09-04 Felix Zielcke <fzielcke@z-51.de>
27290
4ee55921 27291 * util/getroot.c: Include <config.h>.
27292 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
27293 add support for /dev/md/N devices and handle LVM double dash escaping.
27294
272952008-09-04 Felix Zielcke <fzielcke@z-51.de>
27296
27297 * config.guess: Update to latest version from config git.
27298 * config.sub: Likewise.
58b6645a 27299
9124f65d 273002008-09-03 Robert Millan <rmh@aybabtu.com>
27301
27302 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
27303 `disk->total_sectors'.
27304
81a06771 273052008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 27306
27307 * include/grub/normal.h: Fixed incorrect comment for
27308 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
27309
81a06771 273102008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 27311
27312 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
27313 values with defines.
27314
27315 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
27316 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
27317 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
27318 (GRUB_VBE_MODEATTR_COLOR): Likewise.
27319 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
27320 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
27321 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
27322 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
27323 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
27324 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
27325 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
27326 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
27327 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
27328 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
27329 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
27330 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
27331 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
27332 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
27333 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
27334
93d5cbf8 273352008-08-31 Robert Millan <rmh@aybabtu.com>
27336
27337 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
27338 declaration.
27339 (grub_multiboot): Fix a few warnings.
27340
21751d50 273412008-08-31 Robert Millan <rmh@aybabtu.com>
27342
27343 * loader/i386/pc/multiboot.c: Update comment not to say that
27344 boot_device support is unimplemented.
27345
e27a75c5 273462008-08-31 Robert Millan <rmh@aybabtu.com>
27347
27348 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
27349 or memory map support are unimplemented.
27350
81a06771 273512008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 27352
27353 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
27354
81a06771 273552008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 27356
27357 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
27358 total video memory in 'vbeinfo' output; show color format details for
27359 each video mode.
27360
7c5d8d95 273612008-08-30 Pavel Roskin <proski@gnu.org>
27362
27363 * util/genmoddep.c: Remove for real this time.
27364 * DISTLIST: Remove util/genmoddep.c.
27365
4cebd25a 273662008-08-30 Robert Millan <rmh@aybabtu.com>
27367
27368 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
27369 as required by Multiboot spec (it was already 4-byte aligned, but
27370 only by chance).
27371
b497a269 273722008-08-29 Pavel Roskin <proski@gnu.org>
27373
e3925185 27374 * kern/powerpc/ieee1275/crt0.S: Rename to ...
27375 * kern/powerpc/ieee1275/startup.S: ... this.
27376 * conf/powerpc-ieee1275.rmk: Adjust for the above.
27377 * DISTLIST: Likewise.
27378
b497a269 27379 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
27380 grub/cpu/kernel.h. Add start label for consistency with other
27381 platforms. Add grub_prefix immediately after start. Add jump
27382 to the code after grub_prefix.
27383 * include/grub/powerpc/kernel.h: Provide valid values for
27384 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
27385
6e5a42fe 273862008-08-29 Bean <bean123ch@gmail.com>
27387
27388 * configure.ac: Change host_os to cygwin for mingw.
27389 (asprintf): New check for function.
27390
27391 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
27392 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
27393
27394 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 27395 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 27396 sync, sleep and grub_util_get_disk_size for mingw.
27397
27398 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
27399 to get size in mingw.
27400 (open_device): Use flag O_BINARY if it's defined.
27401 (find_root_device): Add dummy code for mingw.
27402
27403 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
27404 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
27405 (get_scsi_disk_name): Return 0 for mingw.
27406
27407 * util/hostfs.c: #include <grub/util/misc.h>.
27408 (grub_hostfs_open): Use "rb" flag to open file, use
27409 grub_util_get_disk_size to get disk size for mingw.
27410
27411 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
27412 (asprintf): New function if HAVE_ASPRINTF is not set.
27413 (sync): New function for mingw.
27414 (sleep): Likewise.
27415 (grub_util_get_disk_size): Likewise.
27416
ab3f2673 274172008-08-28 Pavel Roskin <proski@gnu.org>
27418
27419 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
27420 kern/time.c.
27421
1c282483 274222008-08-28 Robert Millan <rmh@aybabtu.com>
27423
27424 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
27425
678e849c 274262008-08-28 Robert Millan <rmh@aybabtu.com>
27427
27428 Change find_grub_drive() syntax so it doesn't prevent it from
27429 detecting NULL names as errors.
27430
27431 * util/biosdisk.c (find_grub_drive): Move free slot search code
27432 from here ...
27433 (find_free_slot): ... to here.
27434 (read_device_map): Use find_free_slot() to search for free slots.
27435
965c75ca 274362008-08-27 Marco Gerards <marco@gnu.org>
27437
27438 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
27439 (scsi_mod_SOURCES): New variable.
27440 (scsi_mod_CFLAGS): Likewise
27441 (scsi_mod_LDFLAGS): Likewise.
27442
27443 * disk/scsi.c: New file.
27444
27445 * include/grub/scsi.h: Likewise.
27446
27447 * include/grub/scsicmd.h: Likewise.
27448
27449 * disk/ata.c: Include <grub/scsi.h>.
27450 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
27451 instead.
27452 (grub_ata_iterate): Skip ATAPI devices.
27453 (grub_ata_open): Only handle ATAPI devices.
27454 (struct grub_atapi_read): Removed.
27455 (grub_atapi_readsector): Likewise.
27456 (grub_ata_read): No longer handle ATAPI devices.
27457 (grub_ata_write): Likewise.
27458 (grub_atapi_iterate): New function.
27459 (grub_atapi_read): Likewise.
27460 (grub_atapi_write): Likewise.
27461 (grub_atapi_open): Likewise.
27462 (grub_atapi_close): Likewise.
27463 (grub_atapi_dev): New variable.
27464 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
27465 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
27466
27467 * include/grub/disk.h (enum grub_disk_dev_id): Add
27468 `GRUB_DISK_DEVICE_SCSI_ID'.
27469
c07ae501 274702008-08-26 Robert Millan <rmh@aybabtu.com>
27471
27472 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
27473 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
27474 descriptive.
27475
5ed20adc 274762008-08-23 Bean <bean123ch@gmail.com>
27477
27478 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
27479 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
27480 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
27481 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
27482 dm_nv.mod.
27483 (raid5rec_mod_SOURCES): New macro.
27484 (raid5rec_mod_CFLAGS): Likewise.
27485 (raid5rec_mod_LDFLAGS): Likewise.
27486 (raid6rec_mod_SOURCES): Likewise.
27487 (raid6rec_mod_CFLAGS): Likewise.
27488 (raid6rec_mod_LDFLAGS): Likewise.
27489 (mdraid_mod_SOURCES): Likewise.
27490 (mdraid_mod_CFLAGS): Likewise.
27491 (mdraid_mod_LDFLAGS): Likewise.
27492 (dm_nv_mod_SOURCES): Likewise.
27493 (dm_nv_mod_CFLAGS): Likewise.
27494 (dm_nv_mod_LDFLAGS): Likewise.
27495
27496 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
27497 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
27498 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
27499
27500 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
27501 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
27502
27503 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27504
27505 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27506
27507 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27508
27509 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27510
27511 * disk/raid5_recover.c: New file.
27512
27513 * disk/raid6_recover.c: Likewise.
27514
27515 * disk/mdraid_linux.c: Likewise.
27516
27517 * disk/dmraid_nvidia.c: Likewise.
27518
27519 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
27520 ULONG_MAX.
27521
27522 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
27523 calculate the size of raid device.
27524 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
27525 different layout of raid5.
27526 (grub_raid_scan_device): Remove code specific to mdraid.
27527 (grub_raid_list): New variable.
27528 (free_array): New function.
27529 (grub_raid_register): Likewise.
27530 (grub_raid_unregister): Likewise.
27531 (grub_raid_rescan): Likewise.
27532 (GRUB_MOD_INIT): Don't iterate device here.
27533 (GRUB_MOD_FINI): Use free_array to release resource.
27534
27535 * include/grub/raid.h: Remove macro and structure specific to mdraid.
27536 (grub_raid5_recover_func_t): New function variable type.
27537 (grub_raid6_recover_func_t): Likewise.
27538 (grub_raid5_recover_func): New variable.
27539 (grub_raid6_recover_func): Likewise.
27540 (grub_raid_register): New function.
27541 (grub_raid_unregister): Likewise.
27542 (grub_raid_rescan): Likewise.
27543 (grub_raid_block_xor): Likewise.
27544
27545 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
27546 (CMD_CRC): New macro.
27547 (part): Removed.
27548 (read_file): Handle device as well as file.
27549 (cmd_crc): New function.
27550 (fstest): Handle multiple disks.
27551 (options): Remove part, raw and long, add root and diskcount.
27552 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 27553 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 27554 add handling for the new options, support multiple disks.
27555
27556 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
27557
29c18915 275582008-08-23 Bean <bean123ch@gmail.com>
27559
27560 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
27561
27562 * genfslist.sh: Ignore kernel.mod.
27563
27564 * genpartmaplist.sh: Likewise.
27565
8415f261 275662008-08-23 Robert Millan <rmh@aybabtu.com>
27567
27568 * util/getroot.c (find_root_device): Skip anything that starts with
27569 a dot, not just directories. This avoids things like /dev/.tmp.md0.
27570
d5a7dc5b 275712008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 27572
d5a7dc5b 27573 * util/update-grub.in (GRUB_GFXMODE): Export variable.
27574 * util/grub.d/00_header.in: Allow the administrator to change default
27575 gfxmode via ${GRUB_GFXMODE}.
27576
380cfbb4 275772008-08-21 Felix Zielcke <fzielcke@z-51.de>
27578
27579 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
27580
c9baafe7 275812008-08-21 Robert Millan <rmh@aybabtu.com>
27582
27583 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
27584 loader.
27585 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
27586 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
27587
e290bef2 275882008-08-20 Carles Pina i Estany <carles@pina.cat>
27589
27590 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
27591 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
27592
f9dbfc96 275932008-08-19 Robert Millan <rmh@aybabtu.com>
27594
27595 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
27596 (struct grub_virtual_screen): Remove `cursor_color'.
27597 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
27598 initialization.
27599 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
27600
dd6bd6ab 276012008-08-18 Robert Millan <rmh@aybabtu.com>
27602
27603 Unify (identical) linux_normal.c files.
27604 * loader/i386/efi/linux_normal.c: Move from here ...
27605 * loader/linux_normal.c: ... to here. Update all users.
27606 * loader/i386/pc/linux_normal.c: Delete. Update all users.
27607 * loader/i386/ieee1275/linux_normal.c: Likewise.
27608
7f42f83e 276092008-08-18 Robert Millan <rmh@aybabtu.com>
27610
27611 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
27612 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
27613 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
27614 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
27615 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
27616 New macros.
27617 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
27618 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
27619 (GRUB_LINUX_CL_END_OFFSET): ... to here.
27620 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
27621 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
27622 (GRUB_EFI_CL_END_OFFSET): Rename to ...
27623 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
27624 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
27625 Initialize `params->video_cursor_x' and `params->video_cursor_y'
27626 portably using grub_getxy().
27627 Replace `-EFI' with `-bzImage' in boot message.
27628
38487ddb 276292008-08-17 Robert Millan <rmh@aybabtu.com>
27630
27631 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
27632
deceb3ec 276332008-08-17 Robert Millan <rmh@aybabtu.com>
27634
27635 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
27636
27637 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
27638 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
27639 (grub_machine_mmap_iterate): New function declaration.
27640 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
27641 structure.
27642 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
27643 macros.
27644
27645 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
27646 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
27647 Move e820 parsing from here ...
27648 * kern/i386/pc/mmap.c: New file.
27649 (grub_machine_mmap_iterate): ... to here.
27650
27651 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
27652 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
27653 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
27654 (grub_available_iterate): Redeclare to return `void', and redeclare
27655 its hook to use grub_uint64_t as addr and size parameters, and rename
27656 to ...
27657 (grub_machine_mmap_iterate): ... this. Update all users.
27658
27659 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
27660 to make it more readable. Rename to ...
27661 (grub_machine_mmap_iterate): ... this.
27662
27663 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
27664 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
27665 (grub_multiboot): Allocate an extra region after the payload, and fill
27666 it with a Multiboot memory map. Adjust a.out loader to calculate size
27667 with the extra space.
27668 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
27669 with the extra space.
27670
f8aa0f43 276712008-08-17 Carles Pina i Estany <carles@pina.cat>
27672
9807deb9 27673 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 27674
605f5bb6 276752008-08-17 Felix Zielcke <fzielcke@z-51.de>
27676
27677 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
27678 mdate-sh to the list `find' searches for.
27679 * DISTLIST: Regenerated.
27680
210db6c6 276812008-08-16 Felix Zielcke <fzielcke@z-51.de>
27682
27683 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
27684 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 27685 genmoddep.awk, gensymlist.sh.in.
27686 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 27687 * DISTLIST: Regenerated.
48cdbfd4 27688 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 27689
1082b929 276902008-08-16 Robert Millan <rmh@aybabtu.com>
27691
27692 * disk/raid.c (grub_raid_init): Handle/report errors set by
27693 grub_device_iterate().
27694 * disk/lvm.c (grub_lvm_init): Likewise.
27695
42ce5170 276962008-08-15 Bean <bean123ch@gmail.com>
27697
27698 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
27699 and datehook.mod.
27700 (datetime_mod_SOURCES): New macro.
27701 (datetime_mod_CFLAGS): Likewise.
27702 (datetime_mod_LDFLAGS): Likewise.
27703 (date_mod_SOURCES): Likewise.
27704 (date_mod_CFLAGS): Likewise.
27705 (date_mod_LDFLAGS): Likewise.
27706 (datehook_mod_SOURCES): Likewise.
27707 (datehook_mod_CFLAGS): Likewise.
27708 (datehook_mod_LDFLAGS): Likewise.
27709
27710 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
27711 and datehook.mod.
27712 (datetime_mod_SOURCES): New macro.
27713 (datetime_mod_CFLAGS): Likewise.
27714 (datetime_mod_LDFLAGS): Likewise.
27715 (date_mod_SOURCES): Likewise.
27716 (date_mod_CFLAGS): Likewise.
27717 (date_mod_LDFLAGS): Likewise.
27718 (datehook_mod_SOURCES): Likewise.
27719 (datehook_mod_CFLAGS): Likewise.
27720 (datehook_mod_LDFLAGS): Likewise.
27721
27722 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
27723 and datehook.mod.
27724 (datetime_mod_SOURCES): New macro.
27725 (datetime_mod_CFLAGS): Likewise.
27726 (datetime_mod_LDFLAGS): Likewise.
27727 (date_mod_SOURCES): Likewise.
27728 (date_mod_CFLAGS): Likewise.
27729 (date_mod_LDFLAGS): Likewise.
27730 (datehook_mod_SOURCES): Likewise.
27731 (datehook_mod_CFLAGS): Likewise.
27732 (datehook_mod_LDFLAGS): Likewise.
27733
27734 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
27735 and datehook.mod.
27736 (datetime_mod_SOURCES): New macro.
27737 (datetime_mod_CFLAGS): Likewise.
27738 (datetime_mod_LDFLAGS): Likewise.
27739 (date_mod_SOURCES): Likewise.
27740 (date_mod_CFLAGS): Likewise.
27741 (date_mod_LDFLAGS): Likewise.
27742 (datehook_mod_SOURCES): Likewise.
27743 (datehook_mod_CFLAGS): Likewise.
27744 (datehook_mod_LDFLAGS): Likewise.
27745
27746 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
27747 and datehook.mod.
27748 (datetime_mod_SOURCES): New macro.
27749 (datetime_mod_CFLAGS): Likewise.
27750 (datetime_mod_LDFLAGS): Likewise.
27751 (date_mod_SOURCES): Likewise.
27752 (date_mod_CFLAGS): Likewise.
27753 (date_mod_LDFLAGS): Likewise.
27754 (datehook_mod_SOURCES): Likewise.
27755 (datehook_mod_CFLAGS): Likewise.
27756 (datehook_mod_LDFLAGS): Likewise.
27757
27758 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
27759
27760 * commands/date.c: New file.
27761
27762 * hook/datehook.c: Likewise.
27763
27764 * include/grub/lib/datetime.h: Likewise.
27765
27766 * include/grub/i386/cmos.h: Likewise.
27767
27768 * lib/datetime.c: Likewise.
27769
27770 * lib/i386/datetime.c: Likewise.
27771
27772 * lib/efi/datetime.c: Likewise.
27773
0e9242da 277742008-08-14 Robert Millan <rmh@aybabtu.com>
27775
27776 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
27777 (grub_mkelfimage_SOURCES): New variable.
27778 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
27779
27780 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
27781 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
27782 * conf/powerpc-ieee1275.rmk: Likewise.
27783 * conf/i386-ieee1275.rmk: Likewise.
27784
27785 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
27786 * kern/i386/coreboot/init.c: Likewise.
27787
27788 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
27789 with `<grub/cpu/kernel.h>'.
27790 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
27791 to ...
27792 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
27793 * kern/i386/coreboot/startup.S: Likewise.
27794
27795 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
27796 (GRUB_MOD_GAP): Remove.
27797 * include/grub/powerpc/kernel.h: New file.
27798 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
27799 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
27800 * include/grub/i386/kernel.h: New file.
27801 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
27802 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
27803 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
27804
27805 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
27806 `grub-mkelfimage'.
27807 Use --directory when invoking grub_mkimage.
27808
27809 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
27810 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
27811 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
27812 and GRUB_KERNEL_CPU_PREFIX.
27813
b86408f8 278142008-08-14 Felix Zielcke <fzielcke@z-51.de>
27815
d5e619ca 27816 * include/grub/err.h (grub_err_printf): New function prototype.
27817 * util/misc.c (grub_err_printf): New function.
27818 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
27819 grub_printf.
27820 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 27821
7161f0e0 278222008-08-13 Robert Millan <rmh@aybabtu.com>
27823
27824 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
27825
a1967522 278262008-08-13 Robert Millan <rmh@aybabtu.com>
27827
27828 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
27829 boot entry.
27830
371458b5 278312008-08-12 Robert Millan <rmh@aybabtu.com>
27832
27833 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
27834 of the relocation code from here ...
27835 (grub_multiboot): ... to here.
27836 (forward_relocator, backward_relocator): Move from here ...
27837 * kern/i386/loader.S (grub_multiboot_forward_relocator)
27838 (grub_multiboot_backward_relocator): ... to here.
27839 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
27840 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
27841 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
27842 (grub_multiboot_forward_relocator_end)
27843 (grub_multiboot_backward_relocator)
27844 (grub_multiboot_backward_relocator_end): New variables.
27845
05f9452b 278462008-08-12 Bean <bean123ch@gmail.com>
27847
27848 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
27849
20024ab0 278502008-08-11 Robert Millan <rmh@aybabtu.com>
27851
27852 * kern/i386/linuxbios/startup.S: Move from here ...
27853 * kern/i386/coreboot/startup.S: ... to here.
27854
27855 * kern/i386/linuxbios/init.c: Move from here ...
27856 * kern/i386/coreboot/init.c: ... to here.
27857
27858 * kern/i386/linuxbios/table.c: Move from here ...
27859 * kern/i386/coreboot/mmap.c: ... to here.
27860
27861 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
27862
e352e9cd 278632008-08-11 Robert Millan <rmh@aybabtu.com>
27864
27865 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
27866 errors. Leave it to the upper layer to handle them.
27867
2d05bc6a 278682008-08-09 Christian Franke <franke@computer.org>
27869
27870 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
27871 * conf/common.rmk: Install `grub-pe2elf' only if requested.
27872 Install `grub.d/10_windows' only on Cygwin.
27873 * configure.ac: Add subst of `target_os'.
27874 Check `target_os' also before setting TARGET_OBJ2ELF.
27875 Add `--enable-grub-pe2elf'.
27876
042bd419 278772008-08-08 Robert Millan <rmh@aybabtu.com>
27878
27879 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
27880 (grub_last_time): Change type to grub_uint64_t.
27881 (grub_disk_open): Migrate code from to using grub_get_time_ms().
27882 (grub_disk_close): Likewise.
27883
27884 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
27885 (run_menu): Migrate code from to using grub_get_time_ms().
27886
27887 * util/misc.c (grub_get_time_ms): New function.
27888
7f280db5 278892008-08-08 Marco Gerards <marco@gnu.org>
27890
27891 * disk/ata.c (grub_ata_regget): Change return type to
27892 `grub_uint8_t'.
27893 (grub_ata_regget2): Likewise.
27894 (grub_ata_wait_status): New function.
27895 (grub_ata_wait_busy): Removed function, updated all users to use
27896 `grub_ata_wait_status'.
27897 (grub_ata_wait_drq): Likewise.
27898 (grub_ata_cmd): New function.
27899 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
27900 error handling.
27901 (grub_ata_pio_write): Add error handling.
27902 (grub_atapi_identify): Likewise.
27903 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
27904 handling.
27905 (grub_ata_identify): Use `grub_ata_cmd' and improve error
27906 handling. Actually use the detected registers. Reorder the
27907 detection logic such that it is easier to read.
27908 (grub_ata_pciinit): Do not assign the same ID to each controller.
27909 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
27910 handling.
27911 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
27912
27913 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
27914
1fbc5e66 279152008-08-08 Marco Gerards <marco@gnu.org>
27916
27917 * NEWS: Update.
27918
819ce6c0 279192008-08-07 Bean <bean123ch@gmail.com>
27920
27921 * include/grub/x86_64/pci.h: New file.
27922
5c41d44d 279232008-08-07 Christian Franke <franke@computer.org>
27924
27925 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
27926 (TIMER2_GATE): Likewise.
27927 (grub_pit_wait): Add enable/disable of the timer2 gate
27928 bit of port 0x61. This fixes a possible infinite loop.
27929
5ebc275d 279302008-08-07 Bean <bean123ch@gmail.com>
27931
27932 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
27933 kern/i386/tsc.c and kern/i386/pit.c.
27934
27935 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
27936 x86_64 platform.
27937
27938 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
27939 <grub/i386/tsc.h>.
27940
27941 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
27942
e383b3d0 279432008-08-07 Bean <bean123ch@gmail.com>
27944
27945 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
27946
27947 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
27948
27949 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
27950 multiple inclusion. Add #include <grub/types.h>.
27951
1cbb58ac 279522008-08-06 Christian Franke <franke@computer.org>
27953
27954 * conf/common.rmk: Build and install `10_windows'.
27955 * util/grub.d/10_windows.in: New script.
27956
337f5a1e 279572008-08-06 Pavel Roskin <proski@gnu.org>
27958
27959 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
27960
057bc4ac 279612008-08-06 Robert Millan <rmh@aybabtu.com>
27962
27963 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
27964 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
27965
2b99f123 279662008-08-06 Bean <bean123ch@gmail.com>
27967
27968 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
27969 (grub_pxefs_fs_int): Remove dummy definition.
27970 (grub_pxefs_open): Use data->block_size to store the current block
27971 size setting.
27972 (grub_pxefs_read): Use block size stored in data->block_size. As the
27973 value of grub_pxe_blksize can be changed after the file is opened.
27974
9f0234cb 279752008-08-06 Bean <bean123ch@gmail.com>
27976
27977 * fs/i386/pc/pxe.c (curr_file): new variable.
27978 (grub_pxefs_open): Simply the handling of pxe file system. Don't
27979 require the dummy internal file system anymore.
27980 (grub_pxefs_read): Removed.
27981 (grub_pxefs_close): Likewise.
27982 (grub_pxefs_fs_int): Likewise.
27983 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
27984 connection when we switch file.
27985 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
27986
a55d42e0 279872008-08-06 Robert Millan <rmh@aybabtu.com>
27988
27989 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
27990 `halt.mod'.
27991 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
27992 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
27993
27994 * kern/i386/halt.c: New file.
27995 * kern/i386/reboot.c: Likewise.
27996 * include/grub/i386/reboot.h: Likewise.
27997 * include/grub/i386/halt.h: Likewise.
27998
27999 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
28000 Include `<grub/cpu/halt.h>'.
28001 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
28002 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
28003
28004 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
28005 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
28006 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
28007 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
28008 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
28009 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
28010 from here ...
28011 * include/grub/i386/at_keyboard.h: ... to here.
28012
24371d26 280132008-08-05 Robert Millan <rmh@aybabtu.com>
28014
28015 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
28016 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
28017 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
28018 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
28019 `kern/generic/millisleep.c'.
28020
28021 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
28022 instead of grub_get_rtc().
28023 (grub_tsc_init): Initialize `tsc_boot_time'.
28024
28025 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
28026 (grub_machine_init): Use grub_tsc_init() rather than
28027 installing an RTC-based handler via grub_install_get_time_ms().
28028
28029 * kern/i386/pit.c: New file.
28030 * include/grub/i386/pit.h: Likewise.
28031
9e7007b3 280322008-08-05 Bean <bean123ch@gmail.com>
28033
28034 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
28035
28036 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
28037 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
28038 (pxe_mod_SOURCES): New macro.
28039 (pxe_mod_CFLAGS): Likewise.
28040 (pxe_mod_LDFLAGS): Likewise.
28041 (pxecmd_mod_SOURCES): Likewise.
28042 (pxecmd_mod_CFLAGS): Likewise.
28043 (pxecmd_mod_LDFLAGS): Likewise.
28044
28045 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
28046 (grub_pxe_call): Likewise.
28047
28048 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
28049
28050 * commands/i386/pc/pxecmd.c: New file.
28051
9f0234cb 28052 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 28053
28054 * include/grub/i386/pc/pxe.h: Likewise.
28055
6977d49f 280562008-08-05 Bean <bean123ch@gmail.com>
28057
28058 * util/console.c (grub_console_cur_color): New variable.
28059 (grub_console_standard_color): Likewise.
28060 (grub_console_normal_color): Likewise.
28061 (grub_console_highlight_color): Likewise.
28062 (color_map): Likewise.
28063 (use_color): Likewise.
28064 (NUM_COLORS): New macro.
28065 (grub_ncurses_setcolorstate): Handle color properly.
28066 (grub_ncurses_setcolor): Don't change color here, just remember the
28067 settings, color will be set in grub_ncurses_setcolorstate.
28068 (grub_ncurses_getcolor): New function.
28069 (grub_ncurses_init): Initialize color pairs.
28070 (grub_ncurses_term): New member grub_ncurses_getcolor.
28071
9c2ff3ee 280722008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 28073
9c2ff3ee 28074 High resolution timer support. Implemented for x86 CPUs using TSC.
28075 Extracted generic grub_millisleep() so it's linked in only as needed.
28076 This requires a Pentium compatible CPU; if the RDTSC instruction is
28077 not supported, then it falls back on the generic grub_get_time_ms()
28078 implementation that uses the machine's RTC.
28079
28080 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
28081 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
28082 `kern/generic/millisleep.c'.
28083
28084 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
28085 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
28086
28087 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
28088 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
28089
28090 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
28091
28092 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
28093 `kern/generic/millisleep.c'.
28094
28095 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
28096
28097 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
28098
28099 * kern/generic/rtc_get_time_ms.c: New file.
28100
28101 * kern/generic/millisleep.c: New file.
337f5a1e 28102
9c2ff3ee 28103 * kern/misc.c: Don't include
28104 <kern/time.h> anymore.
28105 (grub_millisleep_generic): Removed.
28106
28107 * commands/sleep.c (grub_interruptible_millisleep): Uses
28108 grub_get_time_ms() instead of grub_get_rtc().
28109
28110 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
28111 function.
28112 (grub_cpu_is_cpuid_supported): New inline function.
28113 (grub_cpu_is_tsc_supported): New inline function.
28114 (grub_tsc_init): New function prototype.
28115 (grub_tsc_get_time_ms): New function prototype.
28116
28117 * kern/i386/tsc.c (grub_get_time_ms): New file.
28118
28119 * include/grub/time.h: Include <grub/types.h.
28120 (grub_millisleep_generic): Removed.
28121 (grub_get_time_ms): New prototype.
28122 (grub_install_get_time_ms): New prototype.
28123 (grub_rtc_get_time_ms): New prototype.
28124
28125 * kern/time.c (grub_get_time_ms): New function.
28126 (grub_install_get_time_ms): New function.
28127
28128 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
28129 <grub/time.h> anymore.
28130 (grub_millisleep): Removed.
28131 (grub_machine_init): Call grub_tsc_init.
28132
28133 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
28134 get_time_ms() implementation.
28135
28136 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
28137 (ieee1275_get_time_ms): New function.
28138 (grub_machine_init): Install get_time_ms() implementation.
28139
28140 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
28141 (grub_machine_init): Call grub_tsc_init().
28142 (grub_millisleep): Removed.
bf06a93f 28143
9c2ff3ee 28144 * kern/ieee1275/init.c (grub_millisleep): Removed.
28145 (grub_machine_init): Install ieee1275_get_time_ms()
28146 implementation.
28147 (ieee1275_get_time_ms): New function.
28148 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
28149 real work.
28150
9ec92aaf 281512008-08-05 Marco Gerards <marco@gnu.org>
28152
28153 * disk/ata.c: Include <grub/pci.h>.
28154 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
28155 (grub_ata_initialize): Rewritten.
28156 (grub_ata_device_initialize): New function.
28157
8d23f507 281582008-08-04 Pavel Roskin <proski@gnu.org>
28159
28160 * kern/main.c: Include grub/mm.h.
28161
5e15ee3d 281622008-08-04 Robert Millan <rmh@aybabtu.com>
28163
28164 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
28165 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
28166 corruption problem).
28167
a9053f8f 281682008-08-04 Robert Millan <rmh@aybabtu.com>
28169
28170 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
28171 warnings introduced in my last commit.
28172
dd19c7d7 281732008-08-03 Robert Millan <rmh@aybabtu.com>
28174
28175 Make PCI available on all i386 architectures.
28176
28177 * include/grub/i386/pc/pci.h: Move from here ...
28178 * include/grub/i386/pci.h: ... to here.
28179
28180 * include/grub/i386/pc/pci.h: Remove.
28181 * include/grub/i386/efi/pci.h: Remove.
28182 * include/grub/x86_64/efi/pci.h: Remove.
28183
28184 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
28185 `<grub/cpu/pci.h>'.
28186
28187 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
28188 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
28189 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
28190
28191 * conf/i386-ieee1275.rmk: Likewise.
28192
e14a6184 281932008-08-03 Robert Millan <rmh@aybabtu.com>
28194
28195 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
28196 (grub_console_setcursor): Make it possible to set cursor off.
28197
52768e37 281982008-08-03 Robert Millan <rmh@aybabtu.com>
28199
28200 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
28201 of modules instead of assuming which platform provides what.
28202 * util/update-grub.in: Likewise.
28203
2d52f57f 282042008-08-03 Robert Millan <rmh@aybabtu.com>
28205
28206 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
28207 instead of `grub_install_dos_part' to determine whether a drive needs
28208 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 28209 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 28210
2a5cd121 282112008-08-02 Robert Millan <rmh@aybabtu.com>
28212
28213 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
28214
93808428 282152008-08-02 Robert Millan <rmh@aybabtu.com>
28216
28217 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
28218 of informational grub_dprintf() calls.
28219
3bd0a12a 282202008-08-02 Robert Millan <rmh@aybabtu.com>
28221
28222 * disk/memdisk.c (memdisk_size): Don't initialize.
28223 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
28224
28225 * include/grub/i386/pc/kernel.h
28226 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
28227 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
28228 (grub_memdisk_image_size, grub_arch_memdisk_addr)
28229 (grub_arch_memdisk_size): Remove.
28230
28231 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
28232 field (was only used to transfer a constant). Add `type' field to
28233 support multiple module types.
28234 (grub_module_iterate): New function.
28235
28236 * kern/device.c (grub_device_open): Do not hide error messages
28237 when grub_disk_open() fails. Use grub_print_error() instead.
28238
28239 * kern/i386/pc/init.c (grub_arch_modules_addr)
28240 (grub_arch_memdisk_size): Remove functions.
28241 (grub_arch_modules_addr): Return the module address in high memory
28242 (now that it isn't copied anymore).
28243
28244 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
28245 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
28246 decompression routine (grub_total_module_size already includes that
28247 now). Don't copy modules back to low memory.
28248
28249 * kern/main.c: Include `<grub/mm.h>'.
28250 (grub_load_modules): Split out (and use) ...
28251 (grub_module_iterate): ... this function, which iterates through
28252 module objects and runs a hook.
28253 Comment out grub_mm_init_region() call, as it would cause non-ELF
28254 modules to be overwritten.
28255
28256 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
28257 the memdisk image in its own region, make it part of the module list.
28258 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
28259 (main): Parse --memdisk|-m option, and pass user-provided path as
28260 parameter to generate_image().
28261 (add_segments): Pass `memdisk_path' down to load_modules().
28262 (load_modules): Embed memdisk image in module section when requested.
28263 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
28264 `header.type' instead of `header.offset'.
28265
28266 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
28267 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
28268 (memdisk_mod_LDFLAGS): New variables.
28269 * conf/i386-coreboot.rmk: Likewise.
28270 * conf/i386-ieee1275.rmk: Likewise.
28271
a927cc73 282722008-08-02 Robert Millan <rmh@aybabtu.com>
28273
28274 * loader/i386/pc/multiboot.c (playground, forward_relocator)
28275 (backward_relocator): New variables. Used to allocate and relocate
28276 the payload, respectively.
28277 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 28278 address, install the appropriate relocator code in each bound of
a927cc73 28279 the payload, and set the entry point such that
28280 grub_multiboot_real_boot() will jump to one of them.
28281
28282 * kern/i386/loader.S (grub_multiboot_payload_size)
28283 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
28284 (grub_multiboot_payload_entry_offset): New variables.
28285 (grub_multiboot_real_boot): Set cpu context to what the relocator
28286 expects, and jump to the relocator instead of the payload.
28287
28288 * include/grub/i386/loader.h (grub_multiboot_payload_size)
28289 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
28290 (grub_multiboot_payload_entry_offset): Export.
28291
b15d8a0c 282922008-08-01 Bean <bean123ch@gmail.com>
28293
28294 * normal/menu_entry.c (editor_getline): Don't return the original
28295 string as result, as it will be released by lexer once it has done
28296 using it.
28297
cdfb3d22 282982008-08-01 Robert Millan <rmh@aybabtu.com>
28299
28300 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
28301 within menuentries, not before them.
28302 util/grub.d/10_hurd.in: Likewise.
28303
9175e93d 283042008-08-01 Bean <bean123ch@gmail.com>
28305
28306 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
28307 (bufio_mod_SOURCES): New macro.
28308 (bufio_mod_CFLAGS): Likewise.
28309 (bufio_mod_LDFLAGS): Likewise.
28310
28311 * include/grub/bufio.h: New file.
28312
28313 * io/bufio.c: Likewise.
28314
28315 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
28316 (grub_video_reader_png): Use grub_buffile_open to open file.
28317
28318 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
28319 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
28320
28321 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
28322 (grub_video_reader_tga): Use grub_buffile_open to open file.
28323
28324 * font/manager.c: Include <grub/bufio.h>.
28325 (add_font): Use grub_buffile_open to open file.
28326
3d8383e7 283272008-07-31 Robert Millan <rmh@aybabtu.com>
28328
28329 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
28330 ELF segments, use a macro for arbitrarily accessing any of them instead
28331 of preparing a pointer that allows access to one at a time.
28332 (grub_multiboot_load_elf64): Likewise.
28333
16e641b6 283342008-07-31 Bean <bean123ch@gmail.com>
28335
28336 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
28337 GRUB_KERNEL_MACHINE_DATA_END.
28338
59198b72 283392008-07-30 Robert Millan <rmh@aybabtu.com>
28340
28341 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
28342 Increase from 0x50 to 0x60.
28343 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
28344 use UUIDs to identify the root drive for them. If that's not
28345 possible, abort.
28346 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
28347 check, for cross-disk installs.
28348
ae88bca3 283492008-07-30 Robert Millan <rmh@aybabtu.com>
28350
28351 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
28352 is non-empty, use it to set the `prefix' environment variable instead
28353 of the usual approach.
28354 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
28355 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
28356 environment variable instead of dummy make_install_device().
28357
28358 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
28359 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 28360 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 28361
28362 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
28363 New variable reference.
28364 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
28365 New macro. Defines offset of `grub_prefix' within startup.S (relative
28366 to `start').
28367 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
28368 section within startup.S (relative to `start').
28369 * include/grub/i386/coreboot/kernel.h: Likewise.
28370
28371 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
28372 Overwrite grub_prefix with its contents, at the beginning of the
28373 first segment.
28374 (main): Understand -p|--prefix.
28375
14f41dd1 283762008-07-30 Robert Millan <rmh@aybabtu.com>
28377
28378 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
28379
4ca049a3 283802008-07-30 Robert Millan <rmh@aybabtu.com>
28381
28382 * term/i386/pc/vga_text.c (grub_console_cls): Use
28383 grub_console_gotoxy() to go back to beginning of the screen.
28384 Found by Patrick Georgi <patrick.georgi@coresystems.de>
28385
2921d337 283862008-07-29 Christian Franke <franke@computer.org>
28387
28388 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
28389 Add conversion of emulated mount points on Cygwin.
28390
b609876d 283912008-07-29 Christian Franke <franke@computer.org>
28392
28393 * util/update-grub.in: Add a check for admin
28394 group on Cygwin.
28395 Remove old `grub.cfg.new' before creation.
28396 Add `-f' to `mv' to handle the different filesystem
28397 semantics of Windows.
28398
e93e4679 283992008-07-29 Bean <bean123ch@gmail.com>
28400
28401 * normal/main.c (get_line): Fix buffer overflow bug.
28402
41694fd0 284032008-07-28 Robert Millan <rmh@aybabtu.com>
28404
28405 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
28406 (struct grub_apple_header): New struct. Describes the layout of
28407 the partmap header.
28408 (apple_partition_map_iterate): Check the header magic as well as the
28409 partition magic (which was already being checked).
28410
cfd0b4e6 284112008-07-28 Pavel Roskin <proski@gnu.org>
28412
28413 * genmk.rb: Add a warning to the beginning of the output that
28414 it's a generated file and should not be edited.
28415
93cce016 284162008-07-28 Robert Millan <rmh@aybabtu.com>
28417
28418 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
28419 with the same number are found, just use issue a warning with
28420 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 28421
cd1df915 284222008-07-27 Robert Millan <rmh@aybabtu.com>
28423
28424 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
28425 information.
28426
b70a8427 284272008-07-27 Bean <bean123ch@gmail.com>
28428
28429 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
28430 (grub_fat_find_dir): Ignore case when comparing filename.
28431
8f5e379f 284322008-07-27 Bean <bean123ch@gmail.com>
28433
28434 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
28435 smallino, as it's more descriptive, and i8count can be confused with
28436 the other field count.
28437 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
28438 inode type.
28439
a85cd5a0 284402008-07-27 Bean <bean123ch@gmail.com>
28441
28442 * commands/crc.c: New file.
28443
28444 * lib/crc.c: Likewise.
28445
28446 * include/grub/lib/crc.h: Likewise.
28447
28448 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
28449
28450 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
28451 (hexdump): Move this function to ...
28452
28453 * lib/hexdump.c: ... here.
28454
28455 * include/grub/hexdump.h: Renamed to ...
28456
28457 * include/grub/lib/hexdump.h: ... this.
28458
28459 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
28460
28461 * util/grub-editenv.c: Likewise.
28462
28463 * include/envblk.h: Renamed to ...
28464
28465 * include/lib/envblk.h: ... this.
28466
28467 * util/envblk.c: Renamed to ...
28468
28469 * lib/envblk.c: ... this.
28470
28471 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
28472 lib/hexdump.c.
28473 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
28474 (pkglib_MODULES): Add crc.mod.
28475 (hexdump_mod_SOURCES): Add lib/hexdump.c.
28476 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
28477 (crc_mod_SOURCES): New macro.
28478 (crc_mod_CFLAGS): Likewise.
28479 (crc_mod_LDFLAGS): Likewise.
28480
28481 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
28482
28483 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28484
28485 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28486
28487 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28488
28489 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28490
c298def0 284912008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 28492
28493 * commands/help.c: Include <grub/term.h>.
28494 (TERM_WIDTH): Removed. Updated all users.
28495
cc349fb3 284962008-07-27 Pavel Roskin <proski@gnu.org>
28497
28498 * util/getroot.c (find_root_device): Rephrase a comment to avoid
28499 spurious warnings about a comment within a comment.
28500
9051607e 285012008-07-25 Robert Millan <rmh@aybabtu.com>
28502
28503 * util/getroot.c (find_root_device): Skip devices that match
28504 /dev/dm-[0-9]. This lets the real device be found for any type of
28505 abstraction (LVM, EVMS, RAID..).
28506 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
28507 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
28508 device is found first, find_root_device() will now skip it.
28509
01453bfc 285102008-07-24 Pavel Roskin <proski@gnu.org>
28511
28512 * include/grub/types.h: Use __builtin_bswap32() and
28513 __builtin_bswap64() with gcc 4.3 and newer.
28514
6af9849f 285152008-07-24 Christian Franke <franke@computer.org>
28516
3a0fa256 28517 * util/i386/pc/grub-install.in: If `--debug' is specified,
28518 pass `--verbose' to grub-setup.
28519 Abort script if make_system_path_relative_to_its_root() fails.
28520
7810e747 285212008-07-24 Bean <bean123ch@gmail.com>
28522
28523 * configure.ac: Fixed a bug caused by the previous cygwin patch,
28524 variable `target_platform' should be `platform'.
28525
42290e17 285262008-07-24 Bean <bean123ch@gmail.com>
28527
51cc5193 28528 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 28529 (grub_png_init_fixed_block): New function.
28530 (grub_png_decode_image_data): Handle fixed huffman code compression.
28531
2a8a80e4 285322008-07-24 Bean <bean123ch@gmail.com>
28533
28534 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
28535 (grub_pe2elf_SOURCES): New macro.
28536 (CLEANFILES): Add grub-pe2elf.
28537
28538 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
28539 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
28540 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
28541 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
28542 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
28543 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
28544 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
28545 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
28546 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
28547 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
28548 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
28549 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
28550 (GRUB_PE32_DT_FUNCTION): Likewise.
28551 (GRUB_PE32_REL_I386_DIR32): Likewise.
28552 (GRUB_PE32_REL_I386_REL32): Likewise.
28553 (grub_pe32_symbol): New structure.
28554 (grub_pe32_reloc): Likewise.
28555
28556 * util/grub-pe2elf.c: New file.
28557
28558 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
28559 start symbol in non pc platform.
28560
28561 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
28562
28563 The following patches are from Christian Franke.
28564
28565 * include/grub/dl.h: Remove .previous, gas supports this only
28566 for ELF format.
28567
28568 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
28569 Remove .type, gas supports this only for ELF format.
28570
28571 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
28572 nullbytes in symbol table. This fixes an infinite loop if table is
28573 zero filled.
28574
28575 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
28576 TARGET_IMG_LDFLAGS and EXEEXT.
28577
28578 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
28579 TARGET_IMG_LDFLAGS_AC.
28580 (grub_CHECK_STACK_ARG_PROBE): New function.
28581
28582 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
28583
28584 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
28585
28586 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
28587 to set TARGET_IMG_LD* accordingly.
28588 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
28589 Add call to grub_CHECK_STACK_ARG_PROBE.
28590 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
28591
28592 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
28593
28594 * genmk.rb: Add EXEEXT to CLEANFILES.
28595
12ccdb75 285962008-07-23 Robert Millan <rmh@aybabtu.com>
28597
28598 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
28599 define the codes for arrows and lines used for the menu).
28600 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
28601 as well.
28602
28603 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
28604 fonts, because the latter are too slow.
28605
18eeaf04 286062008-07-21 Bean <bean123ch@gmail.com>
28607
28608 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
28609 a20. Run keyboard test last, as it will cause macbook to halt.
28610
b095e2ad 286112008-07-18 Pavel Roskin <proski@gnu.org>
28612
28613 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
28614 load foreign architecture modules correctly anyway. Keep
28615 support for loading host architecture modules, whether we
28616 compile them or not.
28617
737feb35 286182008-07-17 Pavel Roskin <proski@gnu.org>
28619
3f4ce737 28620 * configure.ac: Use -m32 or -m64 regardless of whether we had to
28621 change target_cpu. The compiler default can mismatch target_cpu
28622 in any case.
28623
4ad2d049 28624 * disk/efi/efidisk.c: Fix format warnings on x86_64.
28625 * kern/efi/efi.c: Likewise.
28626
f6130a12 28627 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
28628 target compiler is functional.
28629 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
28630 are set up.
28631
58393a2d 28632 * configure.ac: Default to efi platform for x86_64-apple. Allow
28633 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
28634 adjustments from the rest, only do them if target is not
28635 explicitly given. Merge other adjustments with the final sanity
28636 check. Remove an extraneous check for supported CPU. Be
28637 specific which CPU and which platform is not supported.
28638
737feb35 28639 * configure.ac: Default to pc platform for x86_64.
28640
546f966a 286412008-07-17 Robert Millan <rmh@aybabtu.com>
28642
28643 Partial LinuxBIOS -> Coreboot rename.
28644
28645 * conf/i386-linuxbios.rmk: Renamed to ...
28646 * conf/i386-coreboot.rmk: ... this.
28647 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
28648 * configure.ac: Accept "coreboot" as input platform (but maintain
28649 compatibility with "linuxbios").
28650 * include/grub/i386/linuxbios: Renamed to ...
28651 * include/grub/i386/coreboot: ... this.
28652
20011694 286532008-07-17 Bean <bean123ch@gmail.com>
28654
28655 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 28656 (appleldr_mod_SOURCE): New variable.
20011694 28657 (appleldr_mod_CFLAGS): Likewise.
28658 (appleldr_mod_LDFLAGS): Likewise.
28659 (pci_mod_SOURCES): Likewise.
28660 (pci_mod_CFLAGS): Likewise.
28661 (pci_mod_LDFLAGS): Likewise.
28662 (lspci_mod_SOURCES): Likewise.
28663 (lspci_mod_CFLAGS): Likewise.
28664 (lspci_mod_LDFLAGS): Likewise.
28665
28666 * conf/x86_64-efi.rmk: New file.
28667
28668 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
28669 macro.
28670 (grub_efidisk_write): Likewise.
28671
28672 * include/efi/api.h (efi_call_0): New macro.
28673 (efi_call_1): Likewise.
28674 (efi_call_2): Likewise.
28675 (efi_call_3): Likewise.
28676 (efi_call_4): Likewise.
28677 (efi_call_5): Likewise.
28678 (efi_call_6): Likewise.
28679
28680 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
28681 grub_rescue_cmd_chainloader.
28682
28683 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
28684 (grub_pe32_optional_header): Change some fields based on i386 or
28685 x86_64 platform.
28686 (GRUB_PE32_PE32_MAGIC): Likewise.
28687
28688 * include/grub/efi/uga_draw.h: New file.
28689
28690 * include/grub/elf.h (STN_ABS): New constant.
28691 (R_X86_64_NONE): Relocation constant for x86_64.
28692 (R_X86_64_64): Likewise.
28693 (R_X86_64_PC32): Likewise.
28694 (R_X86_64_GOT32): Likewise.
28695 (R_X86_64_PLT32): Likewise.
28696 (R_X86_64_COPY): Likewise.
28697 (R_X86_64_GLOB_DAT): Likewise.
28698 (R_X86_64_JUMP_SLOT): Likewise.
28699 (R_X86_64_RELATIVE): Likewise.
28700 (R_X86_64_GOTPCREL): Likewise.
28701 (R_X86_64_32): Likewise.
28702 (R_X86_64_32S): Likewise.
28703 (R_X86_64_16): Likewise.
28704 (R_X86_64_PC16): Likewise.
28705 (R_X86_64_8): Likewise.
28706 (R_X86_64_PC8): Likewise.
28707
28708 * include/grub/i386/efi/pci.h: New file.
28709
28710 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
28711 Change it value based on platform.
28712 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
28713 (GRUB_E820_RAM): Likewise.
28714 (GRUB_E820_RESERVED): Likewise.
28715 (GRUB_E820_ACPI): Likewise.
28716 (GRUB_E820_NVS): Likewise.
28717 (GRUB_E820_EXEC_CODE): Likewise.
28718 (GRUB_E820_MAX_ENTRY): Likewise.
28719 (grub_e820_mmap): New structure.
28720 (linux_kernel_header): Change the efi field according to different
28721 kernel version, also field from linux_kernel_header.
28722
28723 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
28724
28725 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
28726 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
28727 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
28728 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
28729 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
28730 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
28731 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
28732 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
28733 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
28734 (GRUB_PCI_ADDR_IO_MASK): Likewise.
28735
28736 * include/grub/x86_64/efi/kernel.h: New file.
28737
28738 * include/grub/x86_64/efi/loader.h: Likewise.
28739
28740 * include/grub/x86_64/efi/machine.h: Likewise.
28741
28742 * include/grub/x86_64/efi/pci.h: Likewise.
28743
28744 * include/grub/x86_64/efi/time.h: Likewise.
28745
28746 * include/grub/x86_64/linux.h: Likewise.
28747
28748 * include/grub/x86_64/setjmp.h: Likewise.
28749
28750 * include/grub/x86_64/time.h: Likewise.
28751
28752 * include/grub/x86_64/types.h: Likewise.
28753
28754 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
28755 GRUB_TARGET_SIZEOF_VOID_P.
28756
28757 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
28758 (grub_efi_locate_handle): Likewise.
28759 (grub_efi_open_protocol): Likewise.
28760 (grub_efi_set_text_mode): Likewise.
28761 (grub_efi_stall): Likewise.
28762 (grub_exit): Likewise.
28763 (grub_reboot): Likewise.
28764 (grub_halt): Likewise.
28765 (grub_efi_exit_boot_services): Likewise.
28766 (grub_get_rtc): Likewise.
28767
28768 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
28769 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
28770 (grub_efi_allocate_pages): Wrap efi calls.
28771 (grub_efi_free_pages): Wrap efi calls.
28772 (grub_efi_get_memory_map): Wrap efi calls.
28773
28774 * kern/x86_64/dl.c: New file.
28775
28776 * kern/x86_64/efi/callwrap.S: Likewise.
28777
28778 * kern/x86_64/efi/startup.S: Likewise.
28779
28780 * loader/efi/appleloader.c: Likewise.
28781
28782 * loader/efi/chainloader.c (cmdline): New variable.
28783 (grub_chainloader_unload): Wrap efi calls.
28784 (grub_chainloader_boot): Likewise.
28785 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
28786 command line.
28787
28788 * loader/efi/chainloader_normal.c (chainloader_command):
28789 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
28790 command line.
28791
28792 * loader/i386/efi/linux.c (allocate_pages): Change allocation
28793 method.
28794 (grub_e820_add_region): New function.
28795 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
28796 booting.
28797 (grub_find_video_card): New function.
28798 (grub_linux_setup_video): New function.
28799 (grub_rescue_cmd_linux): Probe for video information.
28800
28801 * normal/x86_64/setjmp.S: New file.
28802
28803 * term/efi/console.c (map_char): New function.
28804 (grub_console_putchar): Map unicode char.
28805 (grub_console_checkkey): Wrap efi calls.
28806 (grub_console_getkey): Likewise.
28807 (grub_console_getwh): Likewise.
28808 (grub_console_gotoxy): Likewise.
28809 (grub_console_cls): Likewise.
28810 (grub_console_setcolorstate): Likewise.
28811 (grub_console_setcursor): Likewise.
28812
28813 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
28814
59652a20 288152008-07-16 Pavel Roskin <proski@gnu.org>
28816
ef294055 28817 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
28818 format strings.
28819
59652a20 28820 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
28821 pointer, not an integer. This fixes a warning and prevents
28822 precision loss on 64-bit systems.
28823 (relocate_addresses): Remove unneeded cast.
28824
afc3b5d7 288252008-07-15 Pavel Roskin <proski@gnu.org>
28826
506b2b3e 28827 * kern/i386/ieee1275/init.c: Include grub/cache.h.
28828
62ead89c 28829 * term/ieee1275/ofconsole.c: Disable code unused on i386.
28830
c4cd51d7 28831 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
28832 Fix comparison between signed and unsigned.
28833
0d3d8f28 28834 * include/grub/i386/ieee1275/console.h: Declare
28835 grub_console_init() and grub_console_fini().
28836
8804b286 28837 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
28838 It's empty and unused.
28839
ee01cf35 28840 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
28841 beginning to avoid warnings with some compilers.
28842
afc3b5d7 28843 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
28844 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
28845
e4e8eaa5 288462008-07-14 Pavel Roskin <proski@gnu.org>
28847
407aceb4 28848 * kern/env.c (grub_register_variable_hook): Don't copy empty
28849 string, it leaks memory. Pass "" to grub_env_set(), it should
28850 handle constant strings.
28851
e4e8eaa5 28852 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
28853 * commands/cmp.c (grub_cmd_cmp): Likewise.
28854 * kern/dl.c (grub_dl_flush_cache): Likewise.
28855 (grub_dl_load_core): Likewise.
28856 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
28857 (grub_elf64_load_phdrs): Likewise.
28858
d4e2dad3 288592008-07-13 Pavel Roskin <proski@gnu.org>
28860
28861 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
28862 between signed and unsigned.
28863 (LzmaEnc_Finish): Fix warning about an unused parameter.
28864
aa24b516 288652008-07-13 Bean <bean123ch@gmail.com>
28866
28867 * Makefile.in (enable_lzo): New rule.
28868
28869 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
28870
28871 * configure.ac (ENABLE_LZO): New option --enable-lzo.
28872
28873 * boot/i386/pc/lnxboot.S: #include <config.h>.
28874
28875 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 28876 its value according to the compression algorithm used, lzo or lzma.
aa24b516 28877
28878 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
28879 compression algorithm according to configure macro.
28880
28881 * kern/i386/pc/startup.S (codestart): Likewise.
28882
28883 * kern/i386/pc/lzma_decode.S: New file.
28884
28885 * include/grub/lib/LzFind.h: Likewise.
28886
28887 * include/grub/lib/LzHash.h: Likewise.
28888
28889 * include/grub/lib/LzmaDec.h: Likewise.
28890
28891 * include/grub/lib/LzmaEnc.h: Likewise.
28892
28893 * include/grub/lib/LzmaTypes.h: Likewise.
28894
28895 * lib/LzFind.c: Likewise.
28896
28897 * lib/LzmaDec.c: Likewise.
28898
28899 * lib/LzmaEnc.c: Likewise.
28900
4ae821ac 289012008-07-13 Bean <bean123ch@gmail.com>
28902
28903 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
28904 (grub_ext4_extent_header): New structure.
28905 (grub_ext4_extent): Likewise.
28906 (grub_ext4_extent_idx): Likewise.
28907 (grub_ext4_find_leaf): New function.
28908 (grub_ext2_read_block): Handle extents.
28909
9a745147 289102008-07-12 Robert Millan <rmh@aybabtu.com>
28911
28912 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
28913
d49a4cf6 289142008-07-11 Robert Millan <rmh@aybabtu.com>
28915
28916 * util/grub.d/40_custom.in: New file. Example on how to add custom
28917 entries to /etc/grub.d.
28918 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
28919 40_custom (implicitly, by merging all the grub.d rules).
28920
947414b4 289212008-07-11 Pavel Roskin <proski@gnu.org>
28922
0059cf6f 28923 * commands/read.c (grub_getline): Fix invalid memory access.
28924 Don't add newline to the variable value.
28925
947414b4 28926 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
28927 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
28928 (serial_hw_get_port): Check validity of the port number.
28929 (grub_cmd_serial): Check return value of serial_hw_get_port().
28930
62a02d00 289312008-07-07 Pavel Roskin <proski@gnu.org>
28932
28933 * boot/i386/pc/diskboot.S (notification_string): Replace
28934 "Loading kernel" with just "loading". This is shorter, less
28935 confusing and saves a few bytes for possible future changes.
28936
3e5581b0 289372008-07-05 Pavel Roskin <proski@gnu.org>
28938
ea387a48 28939 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
28940 size for ATAPI devices, they are undefined. Output sector
28941 number in decimal form.
28942
3e5581b0 28943 * disk/ata.c: Use named constants for status bits.
28944
fdecb8fd 289452008-07-04 Pavel Roskin <proski@gnu.org>
28946
bcd35b90 28947 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
28948 grub_addr_t before casting it to the void pointer to fix a
28949 warning. Non-addressable regions are discarded earlier.
28950 (grub_arch_modules_addr): Cast _end to grub_addr_t.
28951 * kern/i386/linuxbios/table.c: Include grub/misc.h.
28952 (check_signature): Don't shadow table_header.
28953 (grub_linuxbios_table_iterate): Cast numeric constants to
28954 grub_linuxbios_table_header_t.
28955 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
28956 grub_stop().
28957
af58ab3d 28958 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
28959 prevent warnings.
28960
1759aa57 28961 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
28962 pointer, which can cause warnings. Support 64-bit addresses.
28963
fdecb8fd 28964 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
28965 of sizeof(long). This fixes PowerPC image generation on x86_64.
28966
8516d2a8 289672008-07-04 Robert Millan <rmh@aybabtu.com>
28968
28969 This fixes a performance issue when pc & gpt partmap iterators
28970 didn't abort iteration even after our hook found what it was
fe987087 28971 looking for (often causing expensive probes of non-existent drives).
8516d2a8 28972
28973 Some callers relied on previous buggy behaviour, since they would
34c44600 28974 raise an error when their own hooks caused early abortion of its
8516d2a8 28975 iteration.
28976
28977 * kern/device.c (grub_device_open): Improve error message.
28978 * disk/lvm.c (grub_lvm_open): Likewise.
28979 * disk/raid.c (grub_raid_open): Likewise.
28980
28981 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
28982 when hook requests it, independently of grub_errno.
28983 (pc_partition_map_probe): Do not fail when find_func() caused
28984 early abortion of pc_partition_map_iterate().
28985
28986 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
28987 when hook requests it, independently of grub_errno.
28988 (gpt_partition_map_probe): Do not fail when find_func() caused
28989 early abortion of gpt_partition_map_iterate().
28990
28991 * kern/partition.c (grub_partition_iterate): Abort parent iteration
28992 when hook requests it, independently of grub_errno. Do not fail when
28993 part_map_iterate_hook() caused early abortion of p->iterate().
28994
28995 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
28996 when grub_partition_iterate() returned with non-zero.
28997
277d0de9 289982008-07-03 Pavel Roskin <proski@gnu.org>
28999
29000 * disk/ata.c (grub_ata_pio_write): Check status before writing,
29001 like we do in grub_ata_pio_read().
29002 (grub_ata_readwrite): Always write individual sectors. Fix the
29003 sector count for the remainder.
29004 (grub_ata_write): Enable writing to ATA devices. Correctly
29005 report error for ATAPI devices.
29006
d4c9b428 290072008-07-02 Pavel Roskin <proski@gnu.org>
29008
e43fc690 29009 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
29010 warning.
29011
f707af42 29012 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
29013 for every read sector, we already increment it for the whole
29014 batch. This fixes reading more than 256 sectors at once.
29015
11e16b15 29016 * util/grub-editenv.c (cmd_info): Cast argument to long
29017 explicitly. ptrdiff_t reduces to int on i386.
29018
cbabfdd4 29019 * util/grub-editenv.c (main): Be specific which parameter is
29020 missing.
29021
b8fbce0a 29022 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
29023 (memdisk): Make memdisk_orig_addr a pointer.
29024
c9c8e606 29025 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
29026 for file offsets, use grub_off_t instead. Fix printf format
29027 warnings.
29028
ca62e598 29029 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
29030 there. Real unexpected warnings should not drown in the noise
29031 about known problems.
29032
ce8d1766 29033 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
29034 grub_disk_addr_t for memory addresses.
29035
00c7a56a 29036 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
29037 explicitly to fix a warning.
29038
08d3ef09 29039 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
29040
cb71ba20 29041 * Makefile.in (MODULE_LDFLAGS): New variable.
29042 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
29043 the linker accepts --build-id=none.
29044 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
29045 MODULE_LDFLAGS.
29046 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
29047
d4c9b428 29048 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
29049 those in Linux XFS code. Provide a way to access 64-bit parent
29050 inode.
29051 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
29052 the end of struct grub_xfs_dir_header.
29053
d4156eee 290542008-07-02 Bean <bean123ch@gmail.com>
29055
29056 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
29057 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
29058 and GRUB_IEEE1275_FLAG_NO_ANSI.
29059
29060 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
29061 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
29062 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
29063
29064 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
29065 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
29066
29067 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
29068 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
29069
29070 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
29071 esc sequence on non ANSI terminal.
29072 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
29073
29074 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
29075 beginning of file.
29076
2270f77b 290772008-07-02 Bean <bean123ch@gmail.com>
29078
29079 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
29080 (grub_editenv_SOURCES): New variable.
29081 (pkglib_MODULES): Add loadenv.mod.
29082 (loadenv_mod_SOURCES): New variable.
29083 (loadenv_mod_CFLAGS): Likewise.
29084 (loadenv_mod_LDFLAGS): Likewise.
29085
29086 * include/grub/envblk.h: New file.
29087
29088 * util/envblk.c: New file.
29089
29090 * util/grub-editenv.c: New file.
29091
29092 * commands/loadenv.c: New file.
29093
0e9e51ec 290942008-07-01 Pavel Roskin <proski@gnu.org>
29095
d89b7634 29096 * include/multiboot2.h (struct multiboot_tag_module): Use char,
29097 not unsigned char. This fixes warnings and is consistent with
29098 other tags.
29099
bf1835b1 29100 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
29101
8222a04b 29102 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
29103
6a42d99d 29104 * term/tparm.c (analyze): Always set *popcount.
29105
10b159d1 29106 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
29107 cast to fix a warning.
29108
b8789f6c 29109 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
29110 cast to suppress a warning.
29111
29d7e38a 29112 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
29113 grub_fshelp_read_file() expects.
29114
f341f669 29115 * fs/fat.c: Fix UUID calculation on big-endian systems. We
29116 write uuid as a 32-bit value in CPU byte order, so declare and
29117 use it as such.
29118
0e9e51ec 29119 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
29120 long if the format specifier expects it.
29121 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
29122 * partmap/pc.c (pc_partition_map_iterate): Likewise.
29123 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
29124 long to fix a warning.
29125 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
29126 grub_dprintf() arguments to fix warnings.
29127
3aefa857 291282008-06-30 Pavel Roskin <proski@gnu.org>
29129
56c7668b 29130 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
29131 install_bsd_part immediately before core.img is embedded or
29132 modified on disk. This fixes core.img verification if core.img
29133 cannot be embedded.
29134
3aefa857 29135 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
29136 core_path to calculate the blocklist.
29137 Patch from Javier Martín <lordhabbit@gmail.com>
29138
5444088d 291392008-06-29 Robert Millan <rmh@aybabtu.com>
29140
29141 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
29142 block to disk block.
29143 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
29144 Patch from Niels Böhm <bitbucket@arcor.de>
29145
674835c8 291462008-06-29 Robert Millan <rmh@aybabtu.com>
29147
29148 * util/update-grub_lib.in (font_path): Search for fonts in
29149 /boot/grub first, which is more likely to be readable (we aren't
29150 deciding where fonts live, just looking for them).
29151
f527dbc8 291522008-06-26 Pavel Roskin <proski@gnu.org>
29153
6c2d8df6 29154 * util/biosdisk.c (read_device_map): Don't leave dead map
29155 entries for devices failing stat() check.
29156
f527dbc8 29157 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
29158 core_path_dev for the core.img path on the target device.
29159
aebe3d13 291602008-06-26 Robert Millan <rmh@aybabtu.com>
29161
29162 * disk/fs_uuid.c: New file.
29163 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
29164 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
29165 (fs_uuid_mod_LDFLAGS): New variables.
29166 * include/grub/disk.h (grub_disk_dev_id): Add
29167 `GRUB_DISK_DEVICE_UUID_ID'.
29168 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
29169 implement iterate().
29170
37aaf354 291712008-06-26 Robert Millan <rmh@aybabtu.com>
29172
29173 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
29174 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
29175 Linux image includes no initrd.
29176
25ff262a 291772008-06-21 Javier Martín <lordhabbit@gmail.com>
29178
29179 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
29180 call to resolve the core image location that effectively appended the
29181 name twice.
29182
76a2bd44 291832008-06-21 Robert Millan <rmh@aybabtu.com>
29184
29185 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
29186 call from here ...
29187
29188 * util/grub.d/10_hurd.in: ... to here ...
29189 * util/grub.d/10_linux.in: ... and here.
29190
650e1c79 291912008-06-19 Robert Millan <rmh@aybabtu.com>
29192
fe987087 29193 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 29194 after it has been set by grub_machine_set_prefix().
29195
6ce63911 291962008-06-19 Robert Millan <rmh@aybabtu.com>
29197
29198 * commands/search.c (search_label, search_fs_uuid, search_file): Print
29199 search result when not saving to variable, not the other way around.
29200 When saving to variable, abort iteration as soon as a match is found.
29201
73940cec 292022008-06-19 Robert Millan <rmh@aybabtu.com>
29203
29204 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
29205 check for partition that provides /boot/grub. Its logic is flawed,
29206 as it prevents prepare_grub_to_access_device() from being called
29207 multiple times.
29208
3c62a39d 292092008-06-19 Robert Millan <rmh@aybabtu.com>
29210
29211 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
29212 "insmod" command directly when abstraction modules are needed,
fe987087 29213 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 29214 since it had already been processed).
29215
47395a42 292162008-06-19 Pavel Roskin <proski@gnu.org>
29217
29218 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
29219 changed. This is needed in case GRUB_LIBDIR changes.
29220 * conf/i386-ieee1275.rmk: Likewise.
29221 * conf/i386-linuxbios.rmk: Likewise.
29222 * conf/i386-pc.rmk: Likewise.
29223 * conf/powerpc-ieee1275.rmk: Likewise.
29224
a145ac2d 292252008-06-18 Pavel Roskin <proski@gnu.org>
29226
29227 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
29228 kernel_elf_symlist.c to symlist.c for consistency with other
29229 architectures. Update all users.
29230 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
29231
7847c51e 292322008-06-18 Robert Millan <rmh@aybabtu.com>
29233
29234 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
29235 it in prefix.
29236
29237 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
29238 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
29239 a RAID device, run setup() for all members independently on whether
29240 LVM abstraction is being used.
29241 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
29242 If grub-mkimage has set `*install_dos_part == -2', don't override this
29243 value.
29244 Perform *install_dos_part adjustments independently on whether
29245 we're embedding or not.
29246 Clarify error message when image is too big for embedding.
29247 Remove duplicate *install_dos_part stanza.
29248
b23e5644 292492008-06-17 Robert Millan <rmh@aybabtu.com>
29250
29251 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
29252 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
29253 variables.
29254 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
29255 values in grub_ofconsole_normal_color and
29256 grub_ofconsole_highlight_color (they're not directly related to
29257 background and foreground).
29258 (grub_ofconsole_setcolorstate): Extract background and foreground
29259 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
29260
0aac2f79 292612008-06-17 Robert Millan <rmh@aybabtu.com>
29262
29263 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
29264 /boot/grub for the check in last commit, not /boot (they could be
29265 different partitions).
29266
3cca7ef3 292672008-06-16 Robert Millan <rmh@aybabtu.com>
29268
29269 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
29270 asked to setup access for the same partition that provides /boot,
29271 don't bother using UUIDs since our root already has the value we
29272 want.
29273
347396d8 292742008-06-16 Robert Millan <rmh@aybabtu.com>
29275
29276 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
29277 I2O devices.
29278 Patch from Sven Mueller <sven@debian.org>.
29279
991477f8 292802008-06-16 Robert Millan <rmh@aybabtu.com>
29281
29282 * util/update-grub.in: Check for $EUID instead of $UID.
29283 Reported by Vincent Zweije.
29284
d31a32a1 292852008-06-16 Bean <bean123ch@gmail.com>
29286
fe987087 29287 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 29288 (grub_ext2_read_block): Likewise.
29289 (grub_ext2_read_inode): Likewise.
29290 (grub_ext2_mount): Likewise.
29291 (grub_ext2_close): Likewise.
29292 (grub_ext3_get_journal): Removed.
29293
fe987087 29294 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 29295 (grub_reiserfs_read_symlink): Likewise.
29296 (grub_reiserfs_mount): Likewise.
29297 (grub_reiserfs_open): Likewise.
29298 (grub_reiserfs_read): Likewise.
29299 (grub_reiserfs_close): Likewise.
29300 (grub_reiserfs_get_journal): Removed.
29301
29302 * fs/fshelp.c (grub_fshelp_read): Removed.
29303 (grub_fshelp_map_block): Likewise.
29304
29305 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
29306 (grub_fshelp_journal): Likewise.
29307 (grub_fshelp_read): Likewise.
29308 (grub_fshelp_map_block): Likewise.
29309
3540a760 293102008-06-16 Pavel Roskin <proski@gnu.org>
29311
29312 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
29313 floating point anymore.
29314 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
29315
95614c84 293162008-06-15 Pavel Roskin <proski@gnu.org>
29317
29318 * commands/ls.c (grub_ls_list_files): Use integer calculations
29319 for human readable format, avoid floating point use.
29320 * kern/misc.c (grub_ftoa): Remove.
29321 (grub_vsprintf): Remove floating point support.
29322
50465dd6 293232008-06-15 Robert Millan <rmh@aybabtu.com>
29324
fe6b695a 29325 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 29326 devices.
29327 Reported by Max Vozeler.
29328
a9207284 293292008-06-15 Robert Millan <rmh@aybabtu.com>
29330
29331 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
29332 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
29333 skipped later.
29334 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
29335 the beginning of the prefix.
29336
29337 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
29338 It is assumed that if we have a memdisk, grub-mkimage has set
29339 grub_prefix to include the "(memdisk)" drive in it.
29340
a7cbd45a 293412008-06-15 Robert Millan <rmh@aybabtu.com>
29342
29343 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
29344 Initialize keyboard controller after registering the terminal, so that
29345 grub_printf() can be called from grub_keyboard_controller_init().
29346
21cf716a 293472008-06-15 Robert Millan <rmh@aybabtu.com>
29348
29349 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
29350 extent-btree which is written as big endian on disk.
29351 Reported by Alain Greppin <al@chilibi.org>.
29352
23a64d8e 293532008-06-14 Robert Millan <rmh@aybabtu.com>
29354
29355 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
29356 * util/i386/pc/grub-install.in (modules): Likewise.
29357
d687651c 293582008-06-13 Pavel Roskin <proski@gnu.org>
29359
29360 * commands/ls.c (grub_ls_list_files): Fix format warnings.
29361
dfe9ddd4 293622008-06-13 Bean <bean123ch@gmail.com>
29363
29364 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
29365
29366 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
29367
29368 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
29369 to indicate sparse block.
29370
16ae7781 293712008-06-12 Pavel Roskin <proski@gnu.org>
29372
e6d1a308 29373 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
29374 number, grub_fshelp_read() does it for us.
29375
16ae7781 29376 * fs/fshelp.c (grub_fshelp_read): New function. Implement
29377 linear disk read with journal translation.
29378 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
29379 * include/grub/fshelp.h: Declare grub_fshelp_read().
29380
40fd3a2b 293812008-06-09 Pavel Roskin <proski@gnu.org>
29382
29383 * fs/minix.c (grub_minix_mount): Handle error reading
29384 superblock.
29385
f5679726 293862008-06-08 Robert Millan <rmh@aybabtu.com>
29387
29388 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
29389 don't append the RAID prefix afterwards.
29390 Reported by Clint Adams.
29391
ce525529 293922008-06-08 Robert Millan <rmh@aybabtu.com>
29393
29394 Based on description from Pavel:
29395 * kern/disk.c (grub_disk_check_range): Rename to ...
29396 (grub_disk_adjust_range): ... this. Add a comment explaining the
29397 tasks performed by this function.
29398
ad4936a0 293992008-06-08 Robert Millan <rmh@aybabtu.com>
29400
29401 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
29402 `num_serial' (for consistency with other variables).
29403 (struct grub_ntfs_data): Add `uuid' member.
29404 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
29405 (grub_ntfs_uuid): New function.
29406 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
29407
dc20b0f9 294082008-06-07 Pavel Roskin <proski@gnu.org>
29409
29410 * util/biosdisk.c (open_device): Revert last change to the
29411 function, it broke installation. The sector needs to be
29412 different dependent on which device is opened.
29413
c5e3cfba 294142008-06-06 Robert Millan <rmh@aybabtu.com>
29415
29416 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
29417 rest of GRUB, and breakage doesn't happen if its value were modified.
29418
29419 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
29420 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
29421 a constant (same value).
29422 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
29423 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
29424
26a1f8c4 294252008-06-06 Robert Millan <rmh@aybabtu.com>
29426
29427 * util/biosdisk.c (open_device): Do not modify sector offset when
29428 accessing a partition. kern/disk.c already handles this for us.
29429
25d6b327 294302008-06-06 Robert Millan <rmh@aybabtu.com>
29431
29432 * util/grub-emu.c (grub_machine_init): Move code in this function from
29433 here ...
29434 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
29435 segfault in case grub_printf() is called).
29436
29437 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
29438 grub_probe. Update all users not to explicitly add it again.
29439 (grub_device): New variable; contains corresponding device for grubdir.
29440 (fs_module, partmap_module, devabstraction_module): Pass
29441 `--device ${grub_device}' to grub_probe to avoid traversing /dev
29442 every time.
29443
9ece62fb 294442008-06-05 Robert Millan <rmh@aybabtu.com>
29445
29446 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
29447 is found, print it (same layout as with labels).
29448
1ad36d37 294492008-06-04 Robert Millan <rmh@aybabtu.com>
29450
29451 * util/biosdisk.c (get_drive): Rename to ...
29452 (find_grub_drive): ... this. Update all users.
29453
29454 (get_os_disk): Rename to ...
29455 (convert_system_partition_to_system_disk): ... this. Update all users.
29456
29457 (find_drive): Rename to ...
29458 (find_system_device): ... this. Update all users.
29459
e6a30859 294602008-06-04 Robert Millan <rmh@aybabtu.com>
29461
29462 * util/biosdisk.c (get_os_disk): Handle IDA devices.
29463 * util/grub-mkdevicemap.c (get_mmc_disk_name)
29464 (make_device_map): Likewise.
29465
00c108a4 294662008-06-01 Robert Millan <rmh@aybabtu.com>
29467
29468 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
29469 before dereferencing it.
29470
29471 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
29472 union with fat12/fat16-specific ones. Add some new fields, including
29473 `num_serial' for both versions.
29474 (struct grub_fat_data): Add `uuid' member.
29475 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
29476 names. Initialize `data->uuid' using `num_serial'.
29477 (grub_fat_uuid): New function.
29478 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
29479
29480 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
29481 (grub_reiserfs_uuid): New function.
29482 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
29483 member.
29484
29485 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
29486 (grub_xfs_uuid): New function.
29487 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
29488
1385c5bb 294892008-06-01 Robert Millan <rmh@aybabtu.com>
29490
29491 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
29492 code that is backward compatible with pre-uuid search command.
29493
c682dfd7 294942008-05-31 Robert Millan <rmh@aybabtu.com>
29495
29496 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
29497 floppies after everything else, to ensure floppy drive isn't accessed
29498 unnecessarily (patch from Bean).
29499
b7db5d47 295002008-05-31 Robert Millan <rmh@aybabtu.com>
29501
29502 * commands/search.c (search_label, search_fs_uuid, search_file): Do
29503 not print device names when we were asked to set a variable.
29504
6e037aa9 295052008-05-31 Robert Millan <rmh@aybabtu.com>
29506
29507 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
29508 using "cursor-on" and "cursor-off" commands (understood at least by
29509 the Open Firmware flavour on OLPC).
29510
41305bc8 295112008-05-31 Michael Gorven <michael@gorven.za.net>
29512
29513 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
29514 on and off sequences.
29515
69ba137e 295162008-05-31 Robert Millan <rmh@aybabtu.com>
29517
29518 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
29519 * util/update-grub.in: Likewise.
29520
520ae21b 295212008-05-30 Pavel Roskin <proski@gnu.org>
29522
29523 * util/biosdisk.c (linux_find_partition): Simplify logic and
29524 make the code more universal. Keep special processing for
29525 devfs, but use a simple rule for all other devices. If the
29526 device ends with a number, append 'p' and the partition number.
29527 Otherwise, append only the partition number.
29528
5786569b 295292008-05-30 Robert Millan <rmh@aybabtu.com>
29530
29531 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
29532 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
29533 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
29534 the `root' parameter to Linux.
29535
51500452 295362008-05-30 Robert Millan <rmh@aybabtu.com>
29537
29538 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
29539 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
29540 --fs_uuid with --fs-uuid.
29541 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
29542 all filesystems support them).
29543
811d3878 295442008-05-30 Robert Millan <rmh@aybabtu.com>
29545
29546 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 29547 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 29548
cab63c95 295492008-05-30 Robert Millan <rmh@aybabtu.com>
29550
29551 * util/grub.d/00_header.in: Remove obsolete comment referencing
29552 convert_system_path_to_grub_path().
29553 * util/update-grub.in: Likewise.
29554 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
29555 (convert_system_path_to_grub_path): Add a warning message explaining
29556 that this function is deprecated. Rely on is_path_readable_by_grub()
29557 for the readability checks.
29558 (font_path): Use is_path_readable_by_grub() for the readability
29559 check rather than convert_system_path_to_grub_path().
29560
972e2f7a 295612008-05-30 Robert Millan <rmh@aybabtu.com>
29562
29563 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
29564 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
29565 converting it first.
29566 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
29567 grub.cfg for access to font file, and afterwards call it again to set
29568 the root device.
29569
62191274 295702008-05-30 Robert Millan <rmh@aybabtu.com>
29571
29572 * commands/search.c (options): Add --fs_uuid option.
29573 (search_fs_uuid): New function.
29574 (grub_cmd_search): Fix --set argument passing.
29575 Use search_fs_uuid() when requested via --fs_uuid.
29576 (grub_search_init): Update help message.
29577 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
29578 and redeclare it as an array of 16-bit words.
29579 (grub_ext2_uuid): New function.
29580 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
29581 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
29582 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
29583 (GRUB_DEVICE_BOOT_UUID): New variables.
29584 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
29585 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
29586 whenever possible.
29587 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
29588 just assume `root' variable has the right value.
29589 * util/grub.d/10_linux.in: Likewise.
29590 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
29591 via PRINT_FS_UUID.
29592 (main): Recognise `-t fs_uuid' argument.
29593
01b73ec8 295942008-05-30 Robert Millan <rmh@aybabtu.com>
29595
29596 * util/biosdisk.c (map): Redefine structure to hold information
29597 about GRUB drive name.
fe6b695a 29598 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 29599 drive names.
29600 (call_hook): Remove.
29601 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
29602 member. Assume drive has partitions.
29603 (grub_util_biosdisk_open): Access device names via `.device' struct
29604 member.
29605 (open_device): Likewise.
29606 (find_drive): Likewise.
29607 (read_device_map): Adjust map[] usage to match the new struct
29608 definition. Don't check for duplicates (still possible, but not cheap
29609 anymore).
29610 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
29611 (make_device_name): Remove assumption of BIOS-like drive names.
29612
22f16596 296132008-05-30 Pavel Roskin <proski@gnu.org>
29614
29615 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
29616 compiling execute.c doesn't need grub_script.tab.h anymore.
29617 (normal/command.c_DEPENDENCIES): Likewise.
29618 (normal/function.c_DEPENDENCIES): Likewise.
29619 * conf/i386-ieee1275.rmk: Likewise.
29620 * conf/i386-linuxbios.rmk: Likewise.
29621 * conf/i386-pc.rmk: Likewise.
29622 * conf/powerpc-ieee1275.rmk: Likewise.
29623 * conf/sparc64-ieee1275.rmk: Likewise.
29624
528ad8f2 296252008-05-29 Pavel Roskin <proski@gnu.org>
29626
d1dff95d 29627 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
29628 when scanning metadata for volume group name.
29629
528ad8f2 29630 * include/grub/script.h: Don't include grub_script.tab.h. It's
29631 a generated file, which may only be included from the files with
29632 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
29633 use union YYSTYPE, as the later allows forward declaration.
29634 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
29635
47248e08 296362008-05-29 Robert Millan <rmh@aybabtu.com>
29637
29638 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
29639 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
29640 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
29641 (grub_console_checkkey): Add grub_dprintf() call to report unknown
29642 scan codes.
29643
ee632529 296442008-05-29 Robert Millan <rmh@aybabtu.com>
29645
29646 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
29647 control key combinations.
29648
eee96e08 296492008-05-29 Robert Millan <rmh@aybabtu.com>
29650
29651 * util/powerpc/ieee1275/grub-install.in: Move from here ...
29652 * util/ieee1275/grub-install.in: ... to here.
29653 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
29654 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
29655 (grub_install_SOURCES): Likewise.
29656
da9a6a94 296572008-05-29 Robert Millan <rmh@aybabtu.com>
29658
29659 * fs/affs.c: Update copyright year.
29660 * fs/ext2.c: Likewise.
29661 * fs/fshelp.c: Likewise.
29662 * fs/hfsplus.c: Likewise.
29663 * fs/ntfs.c: Likewise.
29664 * fs/xfs.c: Likewise.
29665 * include/grub/fshelp.h: Likewise.
29666 * util/grub-mkdevicemap.c: Likewise.
29667
12e65f3a 296682008-05-28 Robert Millan <rmh@aybabtu.com>
29669
29670 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
29671 might need to be fatfs to support some firmware implementations
29672 (e.g. OFW or EFI).
29673
23023641 296742008-05-28 Robert Millan <rmh@aybabtu.com>
29675
29676 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
29677 devices.
29678 * util/grub-mkdevicemap.c (get_mmc_disk_name)
29679 (make_device_map): Likewise.
29680
887d2619 296812008-05-20 Bean <bean123ch@gmail.com>
29682
29683 * fs/fshelp.c (grub_fshelp_map_block): New function.
29684 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
29685 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
29686
29687 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
29688 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
29689 (grub_fshelp_journal): New structure.
29690 (grub_fshelp_map_block): New function prototype.
29691 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
29692 (grub_fshelp_map_block): Likewise.
29693
29694 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
29695 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
29696 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
29697 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
29698 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
29699 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
29700 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
29701 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
29702 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
29703 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
29704 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
29705 (grub_ext2_sblock): New members for journal support.
29706 (grub_ext3_journal_header): New structure.
29707 (grub_ext3_journal_revoke_header): Likewise.
29708 (grub_ext3_journal_block_tag): Likewise.
29709 (grub_ext3_journal_sblock): Likewise.
29710 (grub_fshelp_node): New members logfile and journal.
29711 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
29712 grub_fshelp_map_block to get real block number.
29713 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
29714 number.
29715 (grub_ext2_read_inode): Likewise.
29716 (grub_ext3_get_journal): New function.
29717 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
29718 (grub_ext2_close): Release memory used by journal.
29719
29720 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
29721 (REISERFS_MAGIC_DESC_BLOCK): New macro.
29722 (grub_reiserfs_transaction_header): Renamed to
29723 grub_reiserfs_description_block, replace field data with real_blocks.
29724 (grub_reiserfs_commit_block): New structure.
29725 (grub_reiserfs_data): New member journal.
29726 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
29727 number.
29728 (grub_reiserfs_read_symlink): Likewise.
29729 (grub_reiserfs_iterate_dir): Likewise.
29730 (grub_reiserfs_open): Likewise.
29731 (grub_reiserfs_read): Likewise.
29732 (grub_reiserfs_get_journal): New function.
29733 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
29734 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
29735 using grub_reiserfs_get_journal.
29736 (grub_reiserfs_close): Release memory used by journal.
29737
29738 * fs/affs.c (grub_affs_read_block): Change block type to
29739 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
29740
29741 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
29742
29743 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
29744
29745 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
29746
29747 * fs/udf.c (grub_udf_read_block): Change block type to
29748 grub_disk_addr_t. Use type cast to avoid warning.
29749
29750 * fs/xfs.c (grub_xfs_read_block): Likewise.
29751
b7c6bed5 297522008-05-16 Christian Franke <franke@computer.org>
29753
29754 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
29755 to ensure that break with ESC will always work.
29756 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
29757 Remove ESC from keyboard queue.
29758
eedf167f 297592008-05-16 Christian Franke <franke@computer.org>
29760
29761 * util/biosdisk.c: [__CYGWIN__] Add includes.
29762 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
29763 (get_os_disk): Move variable declarations to OS specific
29764 parts to avoid warning.
29765 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
29766 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
29767 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
29768 Cygwin.
29769 * util/getroot.c: [__CYGWIN__] Add includes.
29770 (strip_extra_slashes): Fix "/" case.
29771 [__CYGWIN__] (get_win32_path): New function.
29772 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
29773 [__CYGWIN__] (find_root_device): Disable.
29774 [__CYGWIN__] (get_bootsec_serial): New function.
29775 [__CYGWIN__] (find_cygwin_root_device): Likewise.
29776 [__linux__] (grub_guess_root_device): Add early returns to simplify
29777 structure.
29778 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
29779 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
29780 check for Linux only.
29781
a079699e 297822008-05-15 Bean <bean123ch@gmail.com>
29783
29784 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
29785 keyboard hang problem in apple's intel mac.
29786
1cf4059a 297872008-05-09 Robert Millan <rmh@aybabtu.com>
29788
29789 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
29790 devices.
29791 * util/grub-mkdevicemap.c (get_virtio_disk_name)
29792 (make_device_map): Likewise.
29793 Reported by Aurelien Jarno <aurel32@debian.org>
29794
ed759390 297952008-05-07 Ian Campbell <ijc@hellion.org.uk>
29796
29797 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
29798 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
29799 (make_device_map): Output entries for xvd type disks.
29800
b56c4eaa 298012008-05-07 Robert Millan <rmh@aybabtu.com>
29802
29803 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
29804 devices.
29805 * util/grub-mkdevicemap.c (get_cciss_disk_name)
29806 (make_device_map): Likewise.
29807 Reported by Roland Dreier <rdreier@cisco.com>
29808
7f8866ed 298092008-05-07 Robert Millan <rmh@aybabtu.com>
29810
29811 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
29812 grub_strstr() call. Correct a few mistakes in failure path handling.
29813
b0346e0f 298142008-05-06 Robert Millan <rmh@aybabtu.com>
29815
29816 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
29817 Do not print a trailing slash (therefore, the root directory is an
29818 empty string).
29819 (convert_system_path_to_grub_path): Do not remove trailing slash
29820 from make_system_path_relative_to_its_root() output.
29821
29822 * util/i386/pc/grub-install.in: Add trailing slash to output from
29823 make_system_path_relative_to_its_root().
29824
6cf12cbd 298252008-05-06 Robert Millan <rmh@aybabtu.com>
29826
29827 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
29828 ensures that output lines aren't intermangled with those sent to
29829 stderr (via grub_util_info()).
29830 * util/grub-probe.c (grub_refresh): Likewise.
29831 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
29832
0fbb3117 298332008-05-05 Christian Franke <franke@computer.org>
29834
29835 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
29836 Add Cygwin device names.
29837 (get_ide_disk_name) [__CYGWIN__]: Likewise.
29838 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
29839 (check_device): Return error instead of success on empty name.
29840 (make_device_map): Move label inside linux specific code to
29841 prevent compiler warning.
29842
8124cdb7 298432008-04-30 Robert Millan <rmh@aybabtu.com>
29844
29845 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
29846 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
29847 first boot option.
29848 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
29849
094c01d0 298502008-04-29 Robert Millan <rmh@aybabtu.com>
29851
29852 * docs/grub.cfg: New file (example GRUB configuration).
29853
f4b1fc02 298542008-04-26 Robert Millan <rmh@aybabtu.com>
29855
329ce2a5 29856 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
29857 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
29858 and `disk/ieee1275/nand.c'.
f4b1fc02 29859
25f16ec1 298602008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 29861
25f16ec1 29862 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
29863 i386-linuxbios.
29864
29865 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
29866 change the buffer size to 4096 for cdrom device.
29867
29868 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
29869 and nand.mod.
29870 (_linux_mod_SOURCES): New variable.
29871 (_linux_mod_CFLAGS): Likewise.
29872 (_linux_mod_LDFLAGS): Likewise.
29873 (linux_mod_SOURCES): Likewise.
29874 (linux_mod_CFLAGS): Likewise.
29875 (linux_mod_LDFLAGS): Likewise.
29876 (nand_mod_SOURCES): Likewise.
29877 (nand_mod_CFLAGS): Likewise.
29878 (nand_mod_LDFLAGS): Likewise.
29879
29880 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
29881 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
29882 type property. (nand device in olpc don't have this property)
29883
29884 * include/grub/disk.h (grub_disk_dev_id): New macro
29885 GRUB_DISK_DEVICE_NAND_ID.
29886
29887 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
29888 function prototype.
29889 (grub_rescue_cmd_initrd): Likewise.
29890
29891 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
29892 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
29893 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 29894
25f16ec1 29895 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
29896 GRUB_MACHINE_IEEE1275 is defined.
29897
29898 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
29899 Use NESTED_FUNC_ATTR attribute on the hook parameter.
29900
29901 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
29902 on nested function heap_init.
29903 (grub_upper_mem): New variable for i386-ieee1275.
29904 (grub_get_extended_memory): New function for i386-ieee1275.
29905 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
29906
29907 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
29908 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
29909 property.
f19dbdb7 29910
25f16ec1 29911 * loader/i386/ieee1275/linux.c: New file.
29912
29913 * loader/i386/ieee1275/linux_normal.c: New file.
29914
29915 * disk/ieee1275/nand.c: New file.
29916
e89d61e9 299172008-04-18 Thomas Schwinge <tschwinge@gnu.org>
29918
29919 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
29920 value.
29921 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
29922
602566f6 299232008-04-18 Robert Millan <rmh@aybabtu.com>
29924
29925 Restructures early code path on ieee1275 to unify grub_main() as
29926 the first C function that is executed in every platform.
29927
29928 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
29929 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
29930 cmain().
29931 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
29932 * kern/ieee1275/cmain.c (cmain): Rename to ...
29933 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
29934 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
29935 at the beginning.
29936
57490c2b 299372008-04-18 Robert Millan <rmh@aybabtu.com>
29938
29939 * util/update-grub.in: Fix syntax error when setting
29940 `GRUB_PRELOAD_MODULES'.
29941 Reported by Stephane Chazelas <stephane@artesyncp.com>
29942
1977517d 299432008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
29944
29945 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
29946 section into account, newer toolchains generate unique build ids
29947 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 29948 we want build ids to be preserved
1977517d 29949 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
29950 far from other sections don't cause the raw binary images grow
29951 size
29952
bfb1f1a2 299532008-04-15 Robert Millan <rmh@aybabtu.com>
29954
29955 * disk/lvm.c: Update copyright year.
29956 * kern/misc.c: Likewise.
29957
01979850 299582008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
29959
29960 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 29961 there is no memory left for physical volume name.
01979850 29962
0a1150e2 299632008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
29964
29965 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
29966 volume name mapping to support bigger than 9 character names properly.
29967
82ead3fe 299682008-04-13 Robert Millan <rmh@aybabtu.com>
29969
29970 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
29971 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
29972
e54a72f5 299732008-04-13 Christian Franke <franke@computer.org>
29974
29975 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
29976 to create a floppy emulation boot CD when non emulation mode
29977 does not work.
29978 Enable Joliet CD filesystem extension.
29979
9fe86034 299802008-04-13 Robert Millan <rmh@aybabtu.com>
29981
29982 * kern/misc.c (grub_strncat): Fix off-by-one error.
29983 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
29984
29985 * kern/env.c (grub_env_context_close): Clear current context, not
29986 previous one.
29987 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
29988
29989 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
29990
7ceeee39 299912008-04-13 Robert Millan <rmh@aybabtu.com>
29992
29993 Improve robustness when handling LVM.
29994
29995 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 29996 (and leave `*p' unmodified).
7ceeee39 29997 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
29998 through it.
29999 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
30000 iterating through it.
30001 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
30002 through it.
fe6b695a 30003 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 30004 when due) on each grub_lvm_getvalue() or grub_strstr() call.
30005 Don't assume `vg->pvs != NULL' when iterating through it.
30006
58cd3d85 300072008-04-13 Robert Millan <rmh@aybabtu.com>
30008
30009 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
30010 * genmk.rb (partmap): New variable.
30011 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
30012 (#{partmap}): New target rule.
30013 * genpartmaplist.sh: New file.
30014 * Makefile.in (pkglib_DATA): Add partmap.lst.
30015 (partmap.lst): New target rule.
30016 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
30017 modules (including all partition maps), instead of preloading them.
30018
78b51059 300192007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
30020
30021 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
30022 `linux-boot-prober' (if installed) to detect other operating
30023 systems which are installed on the computer and add them to
30024 the boot menu.
30025 * conf/common.rmk: Build and install 30_os-prober.
30026
a91627b4 300272008-04-12 Robert Millan <rmh@aybabtu.com>
30028
30029 * kern/powerpc/ieee1275/init.c: Move from here ...
30030 * kern/ieee1275/init.c: ... to here. Update all users.
30031
30032 * kern/powerpc/ieee1275/cmain.c: Move from here ...
30033 * kern/ieee1275/cmain.c: ... to here. Update all users.
30034
30035 * kern/powerpc/ieee1275/openfw.c: Move from here ...
30036 * kern/ieee1275/openfw.c: ... to here. Update all users.
30037
30038 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
30039 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
30040
322562ea 300412008-04-10 Pavel Roskin <proski@gnu.org>
30042
30043 * configure.ac: Always use "_cv_" in cache variables for
30044 compatibility with Autoconf 2.62.
30045
a02a73c5 300462008-04-07 Robert Millan <rmh@aybabtu.com>
30047
30048 Revert grub/machine/init.h addition by Pavel (since it breaks on
30049 i386-ieee1275 and others):
30050 * util/i386/pc/misc.c: Remove grub/machine/init.h.
30051 * util/powerpc/ieee1275/misc.c: Likewise.
30052
25c024b1 300532008-04-07 Robert Millan <rmh@aybabtu.com>
30054
30055 * util/grub-probe.c (probe): Improve error message.
30056
3cbd2f98 300572008-04-07 Robert Millan <rmh@aybabtu.com>
30058
30059 * util/biosdisk.c (read_device_map): Skip devices that don't exist
30060 (this prevents the presence of a bogus entry from ruining the whole
30061 thing).
30062
87a297bf 300632008-04-06 Pavel Roskin <proski@gnu.org>
30064
36747a62 30065 * util/biosdisk.c: Include grub/util/biosdisk.h.
30066 * util/grub-fstest.c (execute_command): Make static.
30067 * util/grub-mkdevicemap.c (check_device): Likewise.
30068 * util/i386/pc/misc.c: Include grub/machine/init.h.
30069 * util/powerpc/ieee1275/misc.c: Likewise.
30070 * util/lvm.c: Include grub/util/lvm.h.
30071 * util/misc.c: Include grub/kernel.h, grub/misc.h and
30072 grub/cache.h.
30073 * util/raid.c: Include grub/util/raid.h.
30074 (grub_util_getdiskname): Make static.
30075
87a297bf 30076 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
30077 grub_hostfs_fini(), as they are called from grub_init_all() and
30078 grub_fini_all() respectively. This fixes an infinite loop in
30079 grub-fstest due to double registration of hostfs.
30080 Reported by Christian Franke <Christian.Franke@t-online.de>
30081
f6ce7629 300822008-04-05 Pavel Roskin <proski@gnu.org>
30083
30084 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
30085 all 8 functions. Otherwise, probe function 0 only.
30086
070e49e4 300872008-04-04 Pavel Roskin <proski@gnu.org>
30088
8b088a4c 30089 * commands/lspci.c (grub_lspci_iter): Print the bus number
30090 correctly.
30091
4f657021 30092 * commands/lspci.c (grub_pci_classes): Fix typos.
30093 (grub_lspci_iter): Don't print func twice. Print vendor ID
30094 before device ID, as it's normally done.
30095
070e49e4 30096 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
30097 Fix signedness warnings.
30098 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
30099 Likewise.
30100 * util/ieee1275/get_disk_name.c: Include config.h so that
30101 _GNU_SOURCE is defined and getline() is declared. Mark an
30102 unused argument as such. Fix a signedness warning.
30103
ba7328dc 301042008-04-02 Pavel Roskin <proski@gnu.org>
30105
26887f22 30106 * genkernsyms.sh.in: Use more robust assignments for CC and
30107 srcdir. Quote srcdir.
30108 * gensymlist.sh.in: Likewise. Assert at the compile time that
30109 the symbol table is not empty.
30110
ba7328dc 30111 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
30112 * fs/cpio.c (grub_cpio_read): Likewise.
30113
0f582c6b 301142008-04-01 Pavel Roskin <proski@gnu.org>
30115
4b6e1995 30116 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
30117 * disk/host.c (grub_host_open): Likewise.
30118 * disk/loopback.c (grub_loopback_open): Likewise.
30119 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
30120 disk->id as in disk/host.c, not a multi-character constant.
30121
828a2768 30122 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
30123 later is obsolete, potentially dangerous and sets a bad example.
30124 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
30125 * util/misc.c (grub_util_get_image_size): Likewise.
30126
2bb4fb47 30127 * disk/loopback.c (options): Improve help for "--partitions".
30128
0f582c6b 30129 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
30130 options to align them with the short options, e.g. "echo -e".
30131
a33224e0 301322008-03-31 Bean <bean123ch@gmail.com>
30133
30134 * video/reader/png.c (grub_png_data): New member is_16bit and
30135 image_data.
30136 (grub_png_decode_image_header): Detect 16 bit png image.
30137 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
30138 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
30139 (grub_video_reader_png): Release memory occupied by image_data.
30140
30141 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
30142 4096 bytes.
30143 (grub_nfs_mount): Skip the test for sector per cluster.
30144
30145 * include/grub/ntfs.h (MAX_SPC): Removed.
30146
86cb4f54 301472008-03-31 Bean <bean123ch@gmail.com>
30148
30149 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
30150 (grub_probe_SOURCES): Add fs/afs.c.
30151 (grub_fstest_SOURCES): Likewise.
30152 (afs_mod_SOURCES): New variable.
30153 (afs_mod_CFLAGS): Likewise.
30154 (afs_mod_LDFLAGS): Likewise.
30155
30156 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
30157 (grub_emu_SOURCES): Likewise.
30158
30159 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30160
30161 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30162
30163 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
30164
30165 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30166
30167 * fs/afs.c: New file.
30168
17c74c21 301692008-03-30 Pavel Roskin <proski@gnu.org>
30170
4cb68e89 30171 * disk/host.c: Include grub/misc.h to fix a warning.
30172 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
30173 warnings about implicit declarations.
30174
8790bb04 30175 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
30176 variable.
30177 * include/grub/i386/loader.h: Change declaration of
30178 grub_linux_boot() to match what grub_loader_set() expects.
30179 * util/getroot.c (grub_guess_root_device): Return const char* to
30180 fix a warning.
30181 * util/grub-probe.c (probe): Fix a warning about uninitialized
30182 abstraction_name variable.
30183 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
30184 second argument as unused to fix a warning.
30185
9a3f3296 30186 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
30187 missing grub_error() call.
30188
0ecef90d 30189 * util/update-grub_lib.in: Define datarootdir, since Autoconf
30190 2.60 and newer uses it to define datadir.
30191
0bf6d401 30192 * commands/sleep.c: Fix warning about implicit declaration.
30193 * disk/memdisk.c: Likewise.
30194 * loader/aout.c: Likewise.
30195 * loader/i386/bsd_normal.c: Likewise.
30196 * util/grub-probe.c: Likewise.
30197
7cdacf97 30198 * commands/i386/cpuid.c (has_longmode): Make static.
30199 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
30200 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
30201
17c74c21 30202 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
30203 GDT. This is more robust, as %ds can change.
30204 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
30205 calling real_to_prot().
30206 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
30207
80a3e68b 302082008-03-28 Pavel Roskin <proski@gnu.org>
30209
30210 * kern/i386/pc/startup.S: Assert that uncompressed functions
30211 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
30212 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
30213 code, as they push parts of the code (error handlers) beyond
30214 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
30215 code as correctness and size.
30216
77bcd272 302172008-03-28 Pavel Roskin <proski@gnu.org>
30218
30219 * kern/i386/pc/startup.S
30220 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
30221 data block address to the real mode, keep offset minimal. This
30222 works around a bug in AWARD BIOS on old Athlon systems, which
30223 makes CD detection hang.
30224
c5dfd43b 302252008-03-26 Pavel Roskin <proski@gnu.org>
30226
30227 * normal/color.c (grub_parse_color_name_pair): Make `name' a
30228 const.
30229 * include/grub/normal.h: Add grub_parse_color_name_pair()
30230 declaration.
30231
bf962df2 302322008-03-24 Bean <bean123ch@gmail.com>
30233
30234 * disk/i386/pc/biosdisk.c (cd_start): Removed.
30235 (cd_count): Removed.
30236 (cd_drive): New variable.
30237 (grub_biosdisk_get_drive): Don't check for (cdN) device.
30238 (grub_biosdisk_call_hook): Likewise.
30239 (grub_biosdisk_iterate): Change cdrom detection method.
30240 (grub_biosdisk_open): Replace cd_start with cd_drive.
30241 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
30242 detect cdrom device.
30243
30244 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
30245 Removed.
30246 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
30247 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
30248 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
30249 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
30250 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
30251 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
30252 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
30253 (grub_biosdisk_cdrp): New structure.
30254 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
30255
30256 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
30257
30258 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
30259 device.
30260
30261 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
30262 New function.
30263
68e7fc7a 302642008-03-20 Robert Millan <rmh@aybabtu.com>
30265
30266 Remove 2 TiB limit in ata.mod.
30267 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
30268 (grub_ata_dumpinfo): Print sector count with 0x%llx.
30269 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
30270 grub_uint64_t instead of grub_uint32_t.
30271
38ad2cf5 302722008-03-05 Bean <bean123ch@gmail.com>
30273
30274 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
30275 (grub_multiboot): Set boot device.
30276
30277 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
30278
2b89344e 302792008-03-02 Bean <bean123ch@gmail.com>
30280
30281 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
30282 symlink_buffer.
30283
87a95d1f 302842008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
30285
30286 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
30287 texinfo.tex.
30288
30289 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
30290 modified.
30291
30292 * docs/fdl.texi: New file.
f19dbdb7 30293
87a95d1f 30294 * docs/mdate-sh: New file. Copied from gnulib.
30295 * docs/texinfo.tex: Likewise.
30296
30297 * config.guess: Updated from gnulib.
30298 * install-sh: Likewise.
30299
7dc15d8e 303002008-02-28 Robert Millan <rmh@aybabtu.com>
30301
30302 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
30303 (aout_mod_SOURCES): New variable.
30304 (aout_mod_CFLAGS): Likewise.
30305 (aout_mod_LDFLAGS): Likewise.
30306
30307 * conf/i386-ieee1275.rmk: Likewise.
30308
b00ab696 303092008-02-28 Robert Millan <rmh@aybabtu.com>
30310
30311 * util/update-grub.in: Reorganise terminal validity check. Accept
30312 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
30313 Based on suggestion by Franklin PIAT.
30314
79ca2d78 303152008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
30316
30317 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
30318 function.
30319 * util/getroot.c (grub_util_check_block_device): New function that
30320 returns the given argument if it is a block device and returns NULL else.
30321 * util/grub-probe.c (argument_is_device): New variable.
30322 (probe): Promote device_name from a variable to an argument. Receive
30323 device_name from grub_util_check_block_device() if path is NULL and from
30324 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 30325 (options): Introduce new parameter '-d, --device'.
79ca2d78 30326 (main): Add description of the new parameter to the help screen.
30327 Rename path variable to argument. Set argument_is_device if the '-d'
30328 option is given. Pass argument to probe() depending on
30329 argument_is_device.
30330
0d16e571 303312008-02-24 Bean <bean123ch@gmail.com>
30332
30333 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
30334 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
30335 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
30336 (GRUB_ISO9660_VOLDESC_PART): Likewise.
30337 (GRUB_ISO9660_VOLDESC_END): Likewise.
30338 (grub_iso9660_primary_voldesc): New member escape.
30339 (grub_iso9660_data): New member joliet.
30340 (grub_iso9660_convert_string): New function.
30341 (grub_iso9660_mount): Detect joliet extension.
30342 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
30343 (grub_iso9660_iso9660_label): Likewise.
30344
30345 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
30346 (grub_setup_SOURCES): Add fs/udf.c.
30347 (grub_fstest_SOURCES): Likewise.
30348 (udf_mod_SOURCES): New variable.
30349 (udf_mod_CFLAGS): Likewise.
30350 (udf_mod_LDFLAGS): Likewise.
30351
30352 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
30353 (grub_emu_SOURCES): Likewise.
30354
30355 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30356
30357 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30358
30359 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
30360
30361 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30362
30363 * fs/udf.c: New file.
30364
8a594a17 303652008-02-24 Robert Millan <rmh@aybabtu.com>
30366
30367 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
30368 (normal/lexer.c_DEPENDENCIES): New variables.
30369 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
30370 (normal/lexer.c_DEPENDENCIES): Likewise.
30371 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
30372 (normal/lexer.c_DEPENDENCIES): Likewise.
30373 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
30374 (normal/lexer.c_DEPENDENCIES): Likewise.
30375 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
30376 (normal/lexer.c_DEPENDENCIES): Likewise.
30377 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
30378 (normal/lexer.c_DEPENDENCIES): Likewise.
30379
2dc33c03 303802008-02-23 Robert Millan <rmh@aybabtu.com>
30381
30382 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
30383 since they were intended to be in hex. This didn't break previously
30384 because of a bug in gpt_partition_map_iterate() (see below).
30385
30386 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
30387 when checking the validity of GPT header.
30388 Remove `partno', since it always provides the same information as `i'.
30389
f6f4cfb0 303902008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
30391
30392 * include/grub/efi/time.h: Fix a wrong comment.
30393
79ff665f 303942008-02-19 Pavel Roskin <proski@gnu.org>
30395
30396 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
30397 message.
30398
d38e24c2 303992008-02-19 Bean <bean123ch@gmail.com>
30400
30401 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
30402 (aout_mod_SOURCES): New variable.
30403 (aout_mod_CFLAGS): Likewise.
30404 (aout_mod_LDFLAGS): Likewise.
30405 (_bsd_mod_SOURCES): New variable.
30406 (_bsd_mod_CFLAGS): Likewise.
30407 (_bsd_mod_LDFLAGS): Likewise.
30408 (bsd_mod_SOURCES): New variable.
30409 (bsd_mod_CFLAGS): Likewise.
30410 (bsd_mod_LDFLAGS): Likewise.
30411
30412 * include/grub/aout.h: New file.
30413
30414 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
30415
30416 * include/grub/i386/bsd.h: New file.
30417
30418 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
30419 to make it public.
30420
30421 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
30422 function is called, so that it's possible to change it inside the hook.
30423 (grub_elf64_load): Likewise.
30424 (grub_elf_file): Don't close the file if elf header is not found.
30425 (grub_elf_close): Close the file if grub_elf_file fails (The new
30426 grub_elf_file won't close it).
30427 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
30428 (grub_elf64_size): Likewise.
30429
30430 * kern/i386/loader.S (grub_unix_real_boot): New function.
30431
30432 * loader/aout.c: New file.
30433
30434 * loader/i386/bsd.c: New file.
30435
30436 * loader/i386/bsd_normal.c: New file.
30437
30438 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
30439
30440 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 30441 can test other formats.
d38e24c2 30442
b93bdb0f 304432008-02-19 Robert Millan <rmh@aybabtu.com>
30444
30445 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
30446 (grub_gpt_partition_type_empty): Redefine with macro from
30447 `<grub/gpt_partition.h>'.
30448 (gpt_partition_map_iterate): Adjust partition type comparison.
30449
30450 Export `entry' as partmap-specific `part.data' struct.
30451 (grub_gpt_header, grub_gpt_partentry): Move from here ...
30452
30453 * include/grub/gpt_partition.h (grub_gpt_header)
30454 (grub_gpt_partentry): ... to here (new file).
30455
30456 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
30457
30458 (grub_gpt_partition_type_bios_boot): New const variable, defined
30459 with macro from `<grub/gpt_partition.h>'.
30460
30461 (setup): Replace `first_start' with `embed_region', which keeps
30462 track of the embed region (and is partmap-agnostic).
30463
30464 Replace find_first_partition_start() with find_usable_region(),
30465 which finds a usable region for embedding using partmap-specific
30466 knowledge (supports PC/MSDOS and GPT).
30467
30468 Fix all assumptions that the embed region start at sector 1, using
30469 `embed_region.start' from now on. Similarly, use `embed_region.end'
30470 rather than `first_start' to calculate available size.
30471
30472 In grub_util_info() message, replace "into after the MBR" with an
30473 indication of the specific sector our embed region starts at.
30474
66cb40f6 304752008-02-19 Robert Millan <rmh@aybabtu.com>
30476
30477 * DISTLIST: Replace `commands/ieee1275/halt.c' and
30478 `commands/ieee1275/reboot.c' with `commands/halt.c' and
30479 `commands/reboot.c'.
30480 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
30481 (halt_mod_SOURCES): Likewise.
30482 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
30483 (halt_mod_SOURCES): Likewise.
30484
b7202015 304852008-02-17 Christian Franke <franke@computer.org>
30486
30487 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
30488
32b0fc49 304892008-02-17 Robert Millan <rmh@aybabtu.com>
30490
30491 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
30492 set `first_start' to 0 for non-PC/MSDOS partition maps.
30493
aca63502 304942008-02-16 Robert Millan <rmh@aybabtu.com>
30495
30496 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
30497 do not assume partition map is PC/MSDOS before performing checks that
30498 are specific to that layout.
30499
0de8be86 305002008-02-13 Robert Millan <rmh@aybabtu.com>
30501
30502 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
30503 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
30504 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
30505
c3db8364 305062008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
30507
30508 * configure.ac: Only a cosmetic change on the handling of
30509 -fno-stack-protector.
30510
f714229e 305112008-02-12 Alexandre Boeglin <alex@boeglin.org>
30512
c3db8364 30513 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
30514 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
30515 reboot.c.
f714229e 30516 (grub_install_SOURCES): Add halt.mod and reboot.mod.
30517 (halt_mod_SOURCES): New variable.
30518 (halt_mod_CFLAGS): Likewise.
30519 (halt_mod_LDFLAGS): Likewise.
30520 (reboot_mod_SOURCES): Likewise.
30521 (reboot_mod_CFLAGS): Likewise.
30522 (reboot_mod_LDFLAGS): Likewise.
30523
c3db8364 30524 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
30525 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
30526 reboot.c.
f714229e 30527 (halt_mod_SOURCES): Likewise.
30528 (reboot_mod_SOURCES): Likewise.
30529
c3db8364 30530 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
30531 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 30532 (reboot_mod_SOURCES): Likewise.
30533
30534 * commands/i386/pc/reboot.c: merge this file ...
30535
30536 * commands/ieee1275/reboot.c: ... and this file ...
30537
30538 * commands/reboot.c: ... to this file.
c3db8364 30539 Add some precompiler directive to include the correct header for
30540 each machine.
f714229e 30541
30542 * commands/ieee1275/halt.c: move this file ...
30543
30544 * commands/halt.c: ... to here.
c3db8364 30545 Add some precompiler directive to include the correct header for
30546 each machine.
f714229e 30547
30548 * include/grub/efi/efi.h (grub_reboot): New function declaration.
30549 (grub_halt): Likewise.
30550
30551 * kern/efi/efi.c (grub_reboot): New function.
30552 (grub_halt): Likewise.
30553
c74493e0 305542008-02-12 Robert Millan <rmh@aybabtu.com>
30555
30556 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
30557 /dev (like it is done for /dev/mapper). This doesn't provide support
30558 for EVMS, but at least it is now easy to identify the problem when it
30559 arises.
30560
d0db4b04 305612008-02-11 Robert Millan <rmh@aybabtu.com>
30562
30563 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
30564 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
30565 comparing it with -1, not 0.
30566
bf748642 305672008-02-10 Robert Millan <rmh@aybabtu.com>
30568
30569 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
30570 `disk/lvm.c'.
30571 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30572 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
30573
30574 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
30575 `disk/lvm.c' to the end of the list.
30576 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
30577 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30578
b5db202a 305792008-02-10 Robert Millan <rmh@aybabtu.com>
30580
30581 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
30582 grub_print_error() instead. This will let user know why we're entering
30583 rescue mode.
30584 Based on suggestions from Sam Morris.
30585
83abee31 305862008-02-10 Alexandre Boeglin <alex@boeglin.org>
30587
30588 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
30589 on remaining N args, instead of "--" arg N times.
30590
78d5a08b 305912008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
30592
30593 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
30594 (fill_with_default_glyph): Changed to use unknown_glyph for fill
30595 pattern for unknown glyphs.
30596
68807e5f 305972008-02-09 Robert Millan <rmh@aybabtu.com>
30598
30599 * configure.ac: Probe for `help2man'.
30600 * Makefile.in (builddir): New variable.
30601 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
30602 or otherwise add a few flags/options to it.
30603 (install-local): For every executable utility or script that is
30604 installed, invoke $(HELP2MAN) to install a manpage based on --help
30605 output.
30606
30607 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
30608 that it doesn't prevent --help from working in build tree.
30609
30610 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
30611 with `bug-grub@gnu.org'.
30612 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
30613 * util/update-grub.in (usage): New function.
30614 Implement proper argument check, with support for --help and --version
30615 (as well as existing -y).
30616
306172008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 30618
30619 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
30620 avoid overwriting previous output.
30621 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
30622
c1962162 306232008-02-09 Robert Millan <rmh@aybabtu.com>
30624
30625 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
30626 drawing the menu.
30627
3dac2e3f 306282008-02-09 Robert Millan <rmh@aybabtu.com>
30629
30630 * commands/sleep.c: New file.
30631 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
30632 (sleep_mod_SOURCES): New variable.
30633 (sleep_mod_CFLAGS): Likewise.
30634 (sleep_mod_LDFLAGS): Likewise.
30635
7a634e08 306362008-02-09 Robert Millan <rmh@aybabtu.com>
30637
30638 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
30639 situations in which we can deduce the RAID size and the superblock
30640 doesn't match it.
30641
b92f0c18 306422008-02-09 Robert Millan <rmh@aybabtu.com>
30643
30644 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
30645 and return a grub_diskmemberlist_t composed of LVM physical volumes.
30646 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
30647
30648 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
30649 and return a grub_diskmemberlist_t composed of physical array members.
30650 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
30651
30652 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
30653 prototype.
30654 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
30655 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
30656 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
30657
30658 * util/grub-probe.c (probe): Move partmap probing code from here ...
30659 (probe_partmap): ... to here.
30660 (probe): Use probe_partmap() once for the disk we're probing, and
30661 additionally, when such disk contains a memberlist() struct member,
30662 once for each disk that is contained in the structure returned by
30663 memberlist().
30664
91a4bf68 306652008-02-09 Robert Millan <rmh@aybabtu.com>
30666
30667 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
30668 environment variable to 'all' in order to obtain debug output from
30669 non-util/ code.
30670 * util/i386/pc/grub-setup.c (main): Likewise.
30671
a96f9caa 306722008-02-08 Robert Millan <rmh@aybabtu.com>
30673
30674 * disk/raid.c (grub_raid_scan_device): Check for
30675 `array->device[sb.this_disk.number]' rather than for
30676 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 30677 guaranteed to be accessible.
a96f9caa 30678
b37a9222 306792008-02-08 Robert Millan <rmh@aybabtu.com>
30680
30681 * disk/raid.c: Update copyright.
30682 * fs/cpio.c: Likewise.
30683 * include/grub/raid.h: Likewise.
30684 * loader/i386/pc/multiboot.c: Likewise.
30685 * util/hostfs.c: Likewise.
30686
5626aee1 306872008-02-08 Robert Millan <rmh@aybabtu.com>
30688
30689 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
30690 to a grub_disk_t array.
30691 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
30692 `device[x]'.
30693 (grub_raid_scan_device): Replace `device[x].name' accesses with
30694 `device[x]->name'. Simplify initialization of `array->device[x]'.
30695
554f0187 306962008-02-08 Robert Millan <rmh@aybabtu.com>
30697
30698 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
30699 grub_dprintf() calls.
30700 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
30701 error message.
30702
1ec8425d 307032008-02-07 Christian Franke <franke@computer.org>
30704
30705 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
30706 instead of fseek and ftell to support large files.
30707 (grub_hostfs_read): Likewise.
30708
f2156fda 307092008-02-07 Robert Millan <rmh@aybabtu.com>
30710
30711 Patch from Jeroen Dekkers.
30712 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 30713 failure, since successfully reading all array members might not be
f2156fda 30714 required.
30715
9216e0e7 307162008-02-06 Robert Millan <rmh@aybabtu.com>
30717
30718 * util/grub-probe.c (probe): Simplify partmap probing (with the
30719 assumption that the first word up to the underscore equals to
30720 the module name).
30721
b0dfd29a 307222008-02-06 Christian Franke <franke@computer.org>
30723
30724 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
30725 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
30726 last block of a cpio or tar stream.
30727 Check for "TRAILER!!!" instead of any empty data
30728 block to detect last block of a cpio stream.
30729 (grub_cpio_dir): Fix constness of variable np.
30730 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
30731 cpio or tar trailer is detected. This fixes a crash
30732 on open of a non existing file.
30733
c32865bf 307342008-02-05 Bean <bean123ch@gmail.com>
30735
30736 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
30737 address of entry.
30738 (grub_multiboot_load_elf64): Likewise.
30739 (grub_multiboot): Initialize mbi structure.
30740
30741 * util/grub-fstest.c: Don't include unused header file script.h.
30742
fe6b695a 30743 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 30744 of file.
30745 (grub_fstest_SOURCES): Likewise.
30746
409480b7 307472008-02-05 Robert Millan <rmh@aybabtu.com>
30748
30749 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
30750 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
30751 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
30752 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
30753
30754 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
30755 (translation_table): Replace hardcoded values with macros
30756 provided by `<grub/term.h>'.
30757
30758 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
30759 (keyboard_map): Correct/add a few values, with macros provided
30760 by `<grub/term.h>'.
30761 (keyboard_map_shift): Zero values that don't differ from their
30762 `keyboard_map' equivalents.
30763 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
30764 Discard the second scan code that is always sent by Caps lock.
30765 Only use `keyboard_map_shift' when it provides a non-zero value,
30766 otherwise fallback to `keyboard_map'.
30767
99fadbaa 307682008-02-04 Bean <bean123ch@gmail.com>
30769
30770 * Makefile.in (enable_grub_fstest): New variable.
30771
30772 * conf/common.rmk (grub_fstest_init.lst): New rule.
30773 (grub_fstest_init.h): Likewise.
30774 (grub_fstest_init.c): Likewise.
30775 (util/grub-fstest.c_DEPENDENCIES): New variable.
30776 (grub_fstest_SOURCES): Likewise.
30777
30778 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
30779
30780 * util/grub-fstest.c: New file.
30781
bf567c50 307822008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
30783
30784 Make grub-setup handle a separate root device.
f19dbdb7 30785
bf567c50 30786 * util/i386/pc/grub-setup.c (setup): Always open the root device,
30787 so that the root device can be compared with the destination
30788 device.
30789 When embedding the core image, if the root and destination devices
30790 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
30791 0xFF.
30792 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 30793
9be6b98b 307942008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
30795
30796 Add support for having a grub directory in a different drive. This
30797 is still only the data handling part.
f19dbdb7 30798
9be6b98b 30799 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
30800 (codestart): Save %dh in GRUB_ROOT_DRIVE.
30801 (grub_root_drive): New variable.
30802
30803 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
30804 instead of GRUB_BOOT_DRIVE to construct a device name. Set
30805 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
30806 as it was.
30807
30808 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
30809
30810 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
30811 macro.
30812 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
30813
30814 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
30815 is bogus, because PXE booting does not specify any drive
30816 correctly.
30817
30818 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
30819 am not sure if this is really correct.
30820
30821 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
30822 is always identical to the boot drive when booting from a CD.
30823
30824 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
30825 longer.
30826 (root_drive): New variable.
30827 (real_start): Unconditionally set %dh to ROOT_DRIVE.
30828 (setup_sectors): Push %dx right after popping it, because %dh will
30829 be modified later.
30830 (copy_buffer): Restore %dx.
30831
e0ca0677 308322008-02-03 Robert Millan <rmh@aybabtu.com>
30833
30834 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
30835 use `cdboot.img' for cdrom images.
30836
3b3f6629 308372008-02-03 Robert Millan <rmh@aybabtu.com>
30838
30839 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
30840 only setup gfxterm when `font' command has succeeded.
30841
d42b3672 308422008-02-03 Robert Millan <rmh@aybabtu.com>
30843
30844 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
30845 (grub_rescue_cmd_multiboot_loader)
30846 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
30847
fa370ea6 308482008-02-03 Pavel Roskin <proski@gnu.org>
30849
e0c5dacb 30850 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 30851 %edx and %esi from stack only after grub_gate_a20() is called.
30852 grub_gate_a20() clobbers %edx.
30853
f2a76e1d 308542008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
30855
30856 * configure.ac (AC_INIT): Bumped to 1.96.
30857
30858 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
30859 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
30860 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
30861 video/readers/png.c.
30862
90fd32d1 308632008-02-03 Bean <bean123ch@gmail.com>
9be665dd 30864
30865 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
30866 (cdboot_img_SOURCES): New variable.
30867 (cdboot_img_ASFLAGS): New variable.
30868 (cdboot_img_LDFLAGS): New variable.
30869
30870 * boot/i386/pc/cdboot.S: New file.
30871
30872 * disk/i386/pc/biosdisk.c (cd_start): New variable.
30873 (cd_count): Likewise.
30874 (grub_biosdisk_get_drive): Add support for cd device.
30875 (grub_biosdisk_call_hook): Likewise.
30876 (grub_biosdisk_iterate): Likewise.
30877 (grub_biosdisk_open): Likewise.
30878 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
30879 (grub_biosdisk_rw): Support reading from cd device.
30880 (GRUB_MOD_INIT): Iterate cd devices.
30881
30882 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
30883 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
30884 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
30885
30886 * kern/i386/pc/init.c (make_install_device): Check for cd device.
30887
4020aa53 308882008-02-02 Robert Millan <rmh@aybabtu.com>
30889
30890 * commands/read.c: New file.
30891 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
30892 (read_mod_SOURCES): New variable.
30893 (read_mod_CFLAGS): Likewise.
30894 (read_mod_LDFLAGS): Likewise.
30895
e03a1132 308962008-02-02 Robert Millan <rmh@aybabtu.com>
30897
30898 * normal/main.c (grub_normal_execute): Check for `menu->size' when
30899 determining whether menu has to be displayed.
30900
58c69220 309012008-02-02 Marco Gerards <marco@gnu.org>
30902
30903 * bus/pci.c: New file.
30904
30905 * include/grub/pci.h: Likewise.
30906
30907 * include/grub/i386/pc/pci.h: Likewise.
30908
30909 * commands/lspci.c: Likewise.
30910
30911 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
30912 `lspci.mod'.
30913 (pci_mod_SOURCES): New variable.
30914 (pci_mod_CFLAGS): Likewise.
30915 (pci_mod_LDFLAGS): Likewise.
30916 (lspci_mod_SOURCES): Likewise.
30917 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 30918 (lspci_mod_LDFLAGS): Likewise.
58c69220 30919
c004e1b4 309202008-02-02 Bean <bean123ch@gmail.com>
30921
30922 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
30923 (grub_ufs_get_file_block): Fix indirect block calculation problem.
30924
30925 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
30926 (grub_xfs_btree_node): New structure.
30927 (grub_xfs_btree_root): New structure.
30928 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
30929 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
30930 (GRUB_XFS_EXTENT_BLOCK): Likewise.
30931 (GRUB_XFS_EXTENT_SIZE): Likewise.
30932 (grub_xfs_read_block): Support btree format type.
30933 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
30934 Use directory block as basic unit.
30935
30936 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
30937
30938 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
30939 __attribute__ ((__regparm__ (1))).
30940
f95562bf 309412008-02-01 Robert Millan <rmh@aybabtu.com>
30942
30943 Correct a mistake in previous commit.
30944
30945 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
30946 top.
30947 (normal/command.c_DEPENDENCIES): New variable.
30948
7d31f41f 309492008-02-01 Robert Millan <rmh@aybabtu.com>
30950
30951 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
30952 top.
30953 (normal/command.c_DEPENDENCIES): New variable.
30954 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
30955 * conf/i386-ieee1275.rmk: Likewise.
30956 * conf/i386-linuxbios.rmk: Likewise.
30957 * conf/i386-pc.rmk: Likewise.
30958 * conf/sparc64-ieee1275.rmk: Likewise.
30959 * conf/powerpc-ieee1275.rmk: Likewise.
30960 (grub_emu_SOURCES): Add `fs/fshelp.c'.
30961
30962 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
30963
60b6be74 309642008-02-01 Robert Millan <rmh@aybabtu.com>
30965
30966 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
30967 call at beginning of function.
30968
078522ab 309692008-01-31 Pavel Roskin <proski@gnu.org>
30970
30971 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 30972 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
30973 (grub_mkrescue_SOURCES): Likewise.
078522ab 30974 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
30975
ccaa8a5f 309762008-01-30 Robert Millan <rmh@aybabtu.com>
30977
30978 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
30979 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
30980 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
30981 (grub_probe_SOURCES): ... to here.
30982
30983 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
30984 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
30985 * conf/i386-ieee1275.rmk: Likewise.
30986 * conf/i386-linuxbios.rmk: Likewise.
30987 * conf/powerpc-ieee1275.rmk: Likewise.
30988
ae5a9cd7 309892008-01-30 Tristan Gingold <gingold@free.fr>
30990
30991 * kern/rescue.c: Silently accept empty lines.
30992
70bc2ef2 309932008-01-29 Bean <bean123ch@gmail.com>
30994
30995 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
30996 (real_code_2): Code cleanup and change comment style.
30997 (move_memory): Avoid using 32-bit address mode.
30998
6a4d50ea 309992008-01-29 Bean <bean123ch@gmail.com>
31000
31001 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
31002 (png_mod_SOURCES): New variable.
31003 (png_mod_CFLAGS): Likewise.
31004 (png_mod_LDFLAGS): Likewise.
31005
31006 * video/readers/png.c: New file.
31007
11cc30ac 310082008-01-28 Robert Millan <rmh@aybabtu.com>
31009
31010 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
31011 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
31012 `ifndef GRUB_MOD_GAP' hack.
31013 * util/elf/grub-mkimage.c (add_segments): Likewise.
31014
3abc589f 310152008-01-27 Robert Millan <rmh@aybabtu.com>
31016
31017 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
31018 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 31019 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 31020
e1907778 310212008-01-27 Robert Millan <rmh@aybabtu.com>
31022
31023 Get grub-emu to build again (including parallel builds).
31024
31025 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
31026 Split into ...
31027 (util/grub-emu.c_DEPENDENCIES): ... this, ...
31028 (normal/execute.c_DEPENDENCIES): ... this, ...
31029 (grub-emu_DEPENDENCIES): ... and this.
31030
31031 * conf/i386-efi.rmk: Likewise.
31032 * conf/i386-linuxbios.rmk: Likewise.
31033 * conf/i386-ieee1275.rmk: Likewise.
31034 * conf/powerpc-ieee1275.rmk: Likewise.
31035 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
31036
2216b101 310372008-01-27 Robert Millan <rmh@aybabtu.com>
31038
31039 * NEWS: Add a few items.
31040
f75172d9 310412008-01-27 Robert Millan <rmh@aybabtu.com>
31042
31043 Fix parallel builds with grub-emu. Based on earlier commit for
31044 grub-probe and grub-setup.
31045
31046 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31047 (util/grub-emu.c_DEPENDENCIES): ... this.
31048 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31049 (util/grub-emu.c_DEPENDENCIES): ... this.
31050 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31051 (util/grub-emu.c_DEPENDENCIES): ... this.
31052 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31053 (util/grub-emu.c_DEPENDENCIES): ... this.
31054 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31055 (util/grub-emu.c_DEPENDENCIES): ... this.
31056
3f51de77 310572008-01-27 Pavel Roskin <proski@gnu.org>
31058
31059 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
31060 to create a gap between _end and the modules added to the image
31061 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
31062 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
31063 * util/elf/grub-mkimage.c (add_segments): Likewise.
31064
2033f53e 310652008-01-26 Pavel Roskin <proski@gnu.org>
31066
31067 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
31068 just return an error.
31069
22da1f6f 310702008-01-26 Bean <bean123ch@gmail.com>
31071
31072 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
31073 (grub_reiserfs_get_item): Save offset of the next item.
31074 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
31075
2a9525e6 310762008-01-25 Robert Millan <rmh@aybabtu.com>
31077
31078 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
31079 make all filesystem sources appear together (possibly fixing omissions
31080 while at it).
31081 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31082 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31083 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
31084 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31085
31086 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
31087 add `kern/file.c'.
31088 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
31089 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
31090 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
31091 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
31092
31093 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
31094 (probe): Add a sanity check to make sure of our ability to read
31095 requested files when probing for filesystem type.
31096
31097 * genmk.rb: Update copyright year (2007).
31098
31099 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
31100 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
31101 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
31102 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
31103 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
31104 : Remove function prototypes.
31105
b95f71b5 311062008-01-25 Robert Millan <rmh@aybabtu.com>
31107
31108 Revert my previous commits (based on wrong assumption of how grub_errno
31109 works).
31110
fe6b695a 31111 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 31112 * kern/file.c (grub_file_open): Likewise.
31113
d08bbb49 311142008-01-24 Pavel Roskin <proski@gnu.org>
31115
31116 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
31117 that hang if GRUB tries to setup colors.
31118 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
31119 colors for firmwares that don't support it.
31120 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
31121 Recognize Open Hack'Ware, set flags to work around its
31122 limitations.
31123
605e36ed 311242008-01-24 Robert Millan <rmh@aybabtu.com>
31125
31126 * kern/file.c (grub_file_open): Do not account previous failures of
31127 unrelated functions when grub_errno is checked for.
31128 Reported by Oleg Strikov.
31129
bac332a1 311302008-01-24 Bean <bean123ch@gmail.com>
31131
31132 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
31133 (grub_ufs_sblock): New member volume name.
31134 (grub_ufs_find_file): Fix string copy bug.
31135 (grub_ufs_label): Implement this function properly.
31136
31137 * fs/hfs.c (grub_hfs_cnid_type): New enum.
31138 (grub_hfs_iterate_records): Use the correct file number for extents
31139 and catalog file. Fix problem in next index calculation.
31140 (grub_hfs_find_node): Replace recursive function call with loop.
31141 (grub_hfs_iterate_dir): Replace recursive function call with loop.
31142
15c80c09 311432008-01-23 Robert Millan <rmh@aybabtu.com>
31144
31145 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
31146 `<grub/symbol.h>' and `<grub/multiboot.h>'.
31147 (grub_multiboot2_real_boot): New function prototype.
31148
31149 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
31150 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
31151
31152 * kern/i386/ieee1275/init.c (grub_os_area_addr)
31153 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
31154
305338fd 311552008-01-23 Robert Millan <rmh@aybabtu.com>
31156
31157 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
31158 #ifdef'ed out grub_printf().
31159
3ea52685 311602008-01-23 Robert Millan <rmh@aybabtu.com>
31161
31162 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
31163 grub_dprintf calls, since they make "debug=all" mode unusable.
31164 (grub_console_checkkey): Likewise.
31165
5882ae4b 311662008-01-23 Robert Millan <rmh@aybabtu.com>
31167
31168 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
31169 `term/i386/pc/at_keyboard.c'.
31170 (pkglib_MODULES): Add `serial.mod'.
31171 (serial_mod_SOURCES): New variable.
31172 (serial_mod_CFLAGS): Likewise.
31173 (serial_mod_LDFLAGS): Likewise.
31174
31175 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
31176 `<grub/powerpc/ieee1275/console.h>'.
31177 (grub_keyboard_controller_init): New function prototype.
31178 (grub_console_checkkey): Likewise.
31179 (grub_console_getkey): Likewise.
31180
31181 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
31182 keyboard on i386.
31183
31184 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
31185 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
31186
06ab5303 311872008-01-23 Robert Millan <rmh@aybabtu.com>
31188
31189 * kern/i386/pc/init.c (make_install_device): When memdisk image is
31190 present, "(memdisk)/boot/grub" becomes the default prefix.
31191
31192 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
31193 a memdisk tarball with all the modules. Add --overlay=DIR option that
31194 allows users to overlay additional files into the image.
31195
dbb475a4 311962008-01-23 Robert Millan <rmh@aybabtu.com>
31197
31198 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
31199 and `machine/memory.h'.
31200 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
31201 (_multiboot_mod_SOURCES): New variable.
31202 (_multiboot_mod_CFLAGS): Likewise.
31203 (_multiboot_mod_LDFLAGS): Likewise.
31204 (multiboot_mod_SOURCES): Likewise.
31205 (multiboot_mod_CFLAGS): Likewise.
31206 (multiboot_mod_LDFLAGS): Likewise.
31207
31208 * include/grub/i386/ieee1275/loader.h: New file.
31209
31210 * include/grub/i386/ieee1275/machine.h: Likewise.
31211
31212 * include/grub/i386/ieee1275/memory.h: Likewise.
31213
31214 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
31215 variable declaration.
31216 (grub_os_area_size): Likewise.
31217
31218 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
31219 (grub_lower_mem, grub_upper_mem): New variables.
31220 (grub_stop_floppy): New function (just to make
31221 grub_multiboot2_real_boot() happy).
31222
31223 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
31224 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
31225 (grub_stop): New function.
31226 Include `"../realmode.S"' and `"../loader.S"'.
31227
31228 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
31229 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
31230
31231 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
31232 rely on grub_multiboot2_real_boot() for final boot.
31233
25638629 312342008-01-22 Robert Millan <rmh@aybabtu.com>
31235
31236 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
31237 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
31238 device that doesn't look like an SD card.
31239 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
31240 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
31241 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
31242 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
31243 found.
31244
9dad816d 312452008-01-22 Robert Millan <rmh@aybabtu.com>
31246
31247 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
31248 avoid claiming over our own code.
31249
34842f2d 312502008-01-22 Bean <bean123ch@gmail.com>
31251
31252 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
31253 (jpeg_mod_SOURCES): New variable.
31254 (jpeg_mod_CFLAGS): Likewise.
31255 (jpeg_mod_LDFLAGS): Likewise.
31256
31257 * video/readers/jpeg.c : New file.
31258
44023a28 312592008-01-22 Bean <bean123ch@gmail.com>
31260
31261 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
31262 there are no more items.
31263
bc2d8ac6 312642008-01-21 Robert Millan <rmh@aybabtu.com>
31265
31266 * kern/mm.c (grub_mm_init_region): Improve debug message.
31267
261bd4bc 312682008-01-21 Robert Millan <rmh@aybabtu.com>
31269
31270 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
31271 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
31272 address.
31273 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
31274 a C macro.
31275 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
31276 Indicates start of upper memory.
31277 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
31278 (generate_image): Abort when image size is big enough to corrupt
31279 upper memory.
31280
31281 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
31282 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
31283 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
31284 instead of hardcoding 0xA0000.
31285 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
31286 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
31287 instead of hardcoding 0xA0000.
31288
f970b55e 312892008-01-21 Robert Millan <rmh@aybabtu.com>
31290
31291 * disk/memdisk.c (memdisk_size): New variable.
31292 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
31293 `memdisk_size'.
31294 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
31295 image to dynamic memory.
31296 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
31297 `memdisk_size'. Free memdisk block.
31298
1a8b0526 312992008-01-21 Robert Millan <rmh@aybabtu.com>
31300
31301 Fix detection of very small filesystems (like tar).
31302
31303 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
31304 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
31305 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
31306 a problem with this disk).
31307
6e9b4aab 313082008-01-21 Robert Millan <rmh@aybabtu.com>
31309
31310 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
31311 on grub_biosdisk_rw_standard() error.
31312
0d8837b2 313132008-01-21 Robert Millan <rmh@aybabtu.com>
31314
31315 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
31316 recent changes.
31317 * kern/elf.c: Likewise.
31318 * kern/ieee1275/ieee1275.c: Likewise.
31319 * kern/powerpc/ieee1275/openfw.c: Likewise.
31320 * term/ieee1275/ofconsole.c: Likewise.
31321
ffd36e34 313222008-01-21 Robert Millan <rmh@aybabtu.com>
31323
31324 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
31325
3f0093d0 31326 * include/grub/kernel.h (grub_arch_memdisk_addr)
31327 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 31328
3f0093d0 31329 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
31330 (grub_arch_memdisk_size): ... to here.
ffd36e34 31331
6c391b21 313322008-01-21 Robert Millan <rmh@aybabtu.com>
31333
31334 Mostly based on bugfix from Bean.
31335
31336 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
31337 attribute with hook() parameter.
31338 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
31339 declaration.
31340 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
31341 attribute with hook() parameter.
31342 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
31343 declaration.
31344
55a581dc 313452008-01-21 Robert Millan <rmh@aybabtu.com>
31346
31347 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
31348 (pkglib_MODULES): Add `memdisk.mod'.
31349 (memdisk_mod_SOURCES): New variable.
31350 (memdisk_mod_CFLAGS): Likewise.
31351 (memdisk_mod_LDFLAGS): Likewise.
31352
31353 * disk/memdisk.c: New file.
31354
31355 * include/grub/disk.h (grub_disk_dev_id): Add
31356 `GRUB_DISK_DEVICE_MEMDISK_ID'.
31357
31358 * include/grub/i386/pc/kernel.h
31359 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
31360 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
31361 (grub_kernel_image_size): New variable declaration.
31362 (grub_total_module_size): Likewise.
31363 (grub_memdisk_image_size): Likewise.
31364
31365 * include/grub/i386/pc/memory.h
31366 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
31367
31368 * include/grub/kernel.h: Include `<grub/symbol.h>'.
31369 (grub_arch_memdisk_addr): New variable declaration.
31370 (grub_arch_memdisk_size): Likewise.
31371
31372 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
31373 (grub_arch_memdisk_size): Likewise.
31374
31375 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
31376 (codestart): Replace hardcoded `0x100000' with
31377 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
31378
31379 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
31380 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
31381 not NULL, append the contents of the file it refers to, at the end of
31382 the compressed kernel image. Initialize `grub_memdisk_image_size'
31383 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
31384 (options): Add "memdisk"|'m' option.
31385 (main): Parse --memdisk|-m option, and pass user-provided path as
31386 parameter to generate_image().
31387
3d7f54c9 313882008-01-20 Robert Millan <rmh@aybabtu.com>
31389
31390 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
31391 grub_dprintf() calls from here ...
31392 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
31393
0bf74728 313942008-01-20 Robert Millan <rmh@aybabtu.com>
31395
31396 Fix detection of "real mode" when /options/real-mode? doesn't exist.
31397
31398 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
31399 declaration.
31400 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
31401 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
31402 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 31403 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 31404 property).
31405 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
31406 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
31407
33bf70a7 314082008-01-19 Robert Millan <rmh@aybabtu.com>
31409
fe6b695a 31410 Get rid of confusing function (superseded by
33bf70a7 31411 `grub_ieee1275_get_integer_property')
31412 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
31413 prototype.
31414 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
31415 function.
31416 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
31417 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 31418 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 31419
e2da7d26 314202008-01-19 Robert Millan <rmh@aybabtu.com>
31421
31422 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
31423 command after "shut-down", since implementations differ on which
31424 the command for halt is.
31425
59f1fd8d 314262008-01-19 Robert Millan <rmh@aybabtu.com>
31427
31428 * include/grub/i386/linuxbios/console.h: Add header protection.
31429 (grub_keyboard_controller_init): New function prototype.
31430 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
31431 (KEYBOARD_COMMAND_READ): Likewise.
31432 (KEYBOARD_COMMAND_WRITE): Likewise.
31433 (KEYBOARD_SCANCODE_SET1): Likewise.
31434 (grub_keyboard_controller_write): New function.
31435 (grub_keyboard_controller_read): Likewise.
31436 (grub_keyboard_controller_init): Likewise.
31437
31438 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
31439 (grub_console_init): On coreboot/LinuxBIOS, call
31440 grub_keyboard_controller_init().
31441
5f5a7c15 314422008-01-19 Robert Millan <rmh@aybabtu.com>
31443
31444 PowerPC changes provided by Pavel Roskin.
31445
31446 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
31447 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
31448 don't rely on cmain() doing it.
31449 * kern/i386/ieee1275/startup.S (_start): Store %eax in
31450 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
31451
1210e168 314522008-01-16 Robert Millan <rmh@aybabtu.com>
31453
31454 * include/grub/i386/linuxbios/memory.h
31455 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
31456 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
31457 receive `table_header' as argument. Instead, probe for it in the
31458 known memory ranges where it can be present.
31459 (grub_available_iterate): Do not pass a fixed `table_header' address
31460 to grub_linuxbios_table_iterate().
31461
3d04eab8 314622008-01-15 Robert Millan <rmh@aybabtu.com>
31463
31464 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
31465 * conf/i386-ieee1275.rmk: New file.
31466 * include/grub/i386/ieee1275/console.h: Likewise.
31467 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
31468 * include/grub/i386/ieee1275/kernel.h: Likewise.
31469 * include/grub/i386/ieee1275/time.h: Likewise.
31470 * kern/i386/ieee1275/init.c: Likewise.
31471 * kern/i386/ieee1275/startup.S: Likewise.
31472
d1bc1b73 314732008-01-15 Robert Millan <rmh@aybabtu.com>
31474
31475 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
31476 when pointers are 32-bit (but still do set it to one when they are
31477 64-bit).
31478
66a65807 314792008-01-15 Robert Millan <rmh@aybabtu.com>
31480
31481 * include/grub/ieee1275/ieee1275.h
31482 (grub_ieee1275_get_integer_property): New function prototype.
31483
31484 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
31485 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 31486 grub_ieee1275_get_property() to handle endianness.
66a65807 31487
31488 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
31489 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 31490 where appropriate.
66a65807 31491 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
31492 (grub_map): Likewise.
31493 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
31494
a83ccafd 314952008-01-15 Bean <bean123ch@gmail.com>
31496
31497 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
31498 (grub_script_execute_cmdline): Reset grub_errno.
31499
31500 * normal/main.c (read_config_file): Reset grub_errno.
31501
31502 * normal/parse.y (script_init): New.
31503 (script): Move function and menuentry here.
31504 (delimiter): New.
31505 (command): Add delimiter at the end of command.
31506 (commands): Adjust to match the new command.
31507 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 31508 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 31509 (if): Use the new commands.
31510
31511 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
31512
df6ecfc6 315132008-01-15 Robert Millan <rmh@aybabtu.com>
31514
31515 * normal/menu.c (run_menu): Move timeout message from here ...
31516 (print_timeout): ... to here.
31517 (run_menu): Use print_timeout() once during initial draw to print
31518 the whole message, and again in every clock tick to update only
31519 the number of seconds.
31520
87ae25eb 315212008-01-15 Robert Millan <rmh@aybabtu.com>
31522
31523 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
31524 actual size of `available' from grub_ieee1275_get_property(), and
31525 restrict parsing to that bound.
31526
47bf09a4 315272008-01-15 Christian Franke <franke@computer.org>
31528
31529 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
31530 (argp_program_version): Remove variable.
31531 (argp_program_bug_address): Likewise.
31532 (options): Convert from struct argp_option to struct option.
31533 (struct arguments): Remove.
31534 (parse_opt): Remove.
31535 (usage): New function.
31536 (main): Replace struct args members by simple variables.
31537 Replace argp_parse() by getopt_long().
31538 Add switch to evaluate options.
31539 Add missing "(...)" around root_dev in prefix string.
31540
c86f1469 315412008-01-14 Robert Millan <rmh@aybabtu.com>
31542
31543 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
31544 for grub_ieee1275_exit(), in order to improve portability.
31545
e622c559 315462008-01-14 Robert Millan <rmh@aybabtu.com>
31547
31548 * util/grub.d/10_linux.in (prefix): Define.
31549 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
31550
44cb1ec8 315512008-01-13 Pavel Roskin <proski@gnu.org>
31552
31553 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
31554 grub_errno if no errors have been detected.
31555
1eb8c802 315562008-01-12 Robert Millan <rmh@aybabtu.com>
31557
31558 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
31559 (grub_util_get_dev_abstraction): New function prototype.
31560
31561 * util/getroot.c: Include `<grub/util/getroot.h>'
31562 (grub_util_get_grub_dev): Move detection of abstraction type to ...
31563 (grub_util_get_dev_abstraction): ... here (new function).
31564
31565 * util/grub-probe.c: Convert PRINT_* to an enum. Add
31566 `PRINT_ABSTRACTION'.
31567 (probe): Probe for abstraction type when requested.
31568 (main): Understand `--target=abstraction'.
31569
31570 * util/i386/efi/grub-install.in: Add abstraction module to core
31571 image when it is found to be necessary.
31572 * util/i386/pc/grub-install.in: Likewise.
31573 * util/powerpc/ieee1275/grub-install.in: Likewise.
31574
31575 * util/update-grub_lib.in (font_path): Return system path without
31576 converting to GRUB path.
31577 * util/update-grub.in: Convert system path returned by font_path()
31578 to a GRUB path. Use `grub-probe -t abstraction' to determine what
31579 abstraction module is needed for loading fonts (if any). Export
31580 that as `GRUB_PRELOAD_MODULES'.
31581 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
31582 insmod commands).
31583
52bd3de9 315842008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
31585
31586 Remove some unused code from reiserfs.
f19dbdb7 31587
52bd3de9 31588 * fs/reiserfs.c (struct grub_reiserfs_key)
31589 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
31590 (struct grub_reiserfs_node_body): Removed.
31591 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
31592 Likewise.
31593 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
31594 Likewise.
31595 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
31596 Likewise.
31597 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
31598 Likewise.
31599 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
31600 Likewise.
31601 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
31602 Likewise.
31603 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
31604 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
31605 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
31606
2f80039d 316072008-01-10 Robert Millan <rmh@aybabtu.com>
31608
31609 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
31610 Determines if a file is garbage left by packaging systems, etc.
31611 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
31612 for processing /etc/grub.d scripts.
31613 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
31614 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
31615 as a condition for processing Linux images.
31616
87888032 316172008-01-10 Pavel Roskin <proski@gnu.org>
31618
31619 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
31620 to compile reiserfs.c on PowerPC.
31621
7e54fced 316222008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 31623
31624 * kern/device.c (grub_device_iterate): Do not abort device iteration
31625 when one of the devices cannot be opened.
31626 * kern/disk.c (grub_disk_open): Do not account previous failures of
31627 unrelated functions when grub_errno is checked for.
31628
5aa541e6 316292008-01-08 Robert Millan <rmh@aybabtu.com>
31630
31631 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
31632 `! grub_linux_is_bzimage', change order of address comparison to make
31633 it more intuitive, and improve "too big zImage" error message.
31634
7076340d 316352008-01-08 Robert Millan <rmh@aybabtu.com>
31636
31637 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
31638 `$(update-grub_DATA)'.
31639 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
31640 targets.
31641
9ca70333 316422008-01-07 Robert Millan <rmh@aybabtu.com>
31643
31644 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
31645 which instruction is modified by grub-setup during installation
31646 (since it wasn't obvious by only looking at this file).
31647
38ccf575 316482008-01-07 Robert Millan <rmh@aybabtu.com>
31649
31650 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
31651 listing actual TODO items.
31652
f5db4291 316532008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
31654
868967cf 31655 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
31656 correctly.
31657 (grub_reiserfs_get_key_offset): Likewise.
31658 (grub_reiserfs_set_key_offset): Likewise.
31659 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 31660 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 31661
31662 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
31663 better to remove the bitfield version completely.
f19dbdb7 31664
868967cf 316652008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 31666
f5db4291 31667 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
31668 allocated from the heap, due to the fshelp implementation.
31669 (grub_reiserfs_dir): Free NODE, due to the same reason.
31670
492e6d9d 316712008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
31672
31673 Mostly from Vincent Pelletier:
f19dbdb7 31674
492e6d9d 31675 * fs/reiserfs.c: New file.
f19dbdb7 31676
492e6d9d 31677 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
31678 (reiserfs_mod_SOURCES): New variable.
31679 (reiserfs_mod_CFLAGS): Likewise.
31680 (reiserfs_mod_LDFLAGS): Likewise.
31681
31682 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
31683 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
31684 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
31685 normal/color.c.
31686
9ce3e7c1 316872008-01-06 Robert Millan <rmh@aybabtu.com>
31688
31689 * normal/color.c: Remove `<grub/env.h>'.
31690
f3b58148 316912008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
31692
31693 * include/grub/normal.h: Include <grub/env.h>.
31694
7ac3bcfa 316952008-01-05 Robert Millan <rmh@aybabtu.com>
31696
31697 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
31698 usage example with `(hd0,1)'.
fb358190 31699 Reported by Samuel Thibault.
7ac3bcfa 31700
c8ee99d7 317012008-01-05 Robert Millan <rmh@aybabtu.com>
31702
31703 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
31704 (grub_linux_boot_zimage): Rename to ...
31705 (grub_linux_boot): ... this.
31706 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
31707 (grub_linux_boot_zimage): Conditionalize zImage copy.
31708
31709 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
31710 (grub_linux_boot_bzimage): Remove prototype.
31711 (grub_linux_boot_zimage): Rename to ...
31712 (grub_linux_boot): ... this.
31713
31714 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
31715 (grub_linux_boot): Remove function.
31716
0ece25b1 317172008-01-05 Robert Millan <rmh@aybabtu.com>
31718
31719 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
31720 (grub_env_write_color_highlight): Likewise.
31721 (grub_wait_after_message): Likewise.
31722
31723 * normal/color.c: New file.
31724
31725 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
31726 (normal_mod_DEPENDENCIES): Likewise.
31727
31728 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
31729 (normal_mod_DEPENDENCIES): Likewise.
31730
31731 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
31732 (normal_mod_DEPENDENCIES): Likewise.
31733
31734 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
31735 (normal_mod_DEPENDENCIES): Likewise.
31736
31737 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
31738 for waiting after a message is printed.
31739 * normal/main.c (read_config_file): Likewise.
31740 (grub_normal_init): Register grub_env_write_color_normal() and
31741 grub_env_write_color_highlight() hooks. Mark `color_normal' and
31742 `color_highlight' variables as global.
31743
31744 * normal/menu.c (grub_wait_after_message): New function.
31745 (grub_color_menu_normal): New variable. Replaces ...
31746 (GRUB_COLOR_MENU_NORMAL): ... this macro.
31747 (grub_color_menu_highlight): New variable. Replaces ...
31748 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
31749 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
31750 `GRUB_TERM_COLOR_STANDARD'.
31751 (print_message): Use `grub_setcolorstate' to reload colors. Rename
31752 `normal_code' and `highlight_code' to `old_color_normal' and
31753 `old_color_highlight', respectively.
31754 (grub_menu_init_page): Update colors when drawing the menu, based on
31755 `menu_color_normal' and `menu_color_highlight' variables.
31756 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
31757 a message is printed.
31758
182dd4e5 317592008-01-05 Robert Millan <rmh@aybabtu.com>
31760
31761 * kern/env.c (grub_env_context_open): Propagate hooks for global
31762 variables to new context.
31763
31764 * kern/main.c (grub_set_root_dev): Export `root' variable.
31765
ddf8f6ad 317662008-01-05 Robert Millan <rmh@aybabtu.com>
31767
31768 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 31769 discs unconditionally, since udev and others have options to provide
ddf8f6ad 31770 them.
31771
d8b43d9b 317722008-01-05 Robert Millan <rmh@aybabtu.com>
31773
31774 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
31775
2bff2de3 317762008-01-04 Christian Franke <franke@computer.org>
31777
31778 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
31779 of eisa_mmap.
31780
97eab917 317812008-01-03 Pavel Roskin <proski@gnu.org>
31782
31783 * kern/i386/linuxbios/init.c: Put "void" to all function
31784 declarations with no arguments.
31785 * kern/powerpc/ieee1275/init.c: Likewise.
31786 * term/i386/pc/at_keyboard.c: Likewise.
31787 * term/i386/pc/vga_text.c: Likewise.
31788 * util/grub-mkdevicemap.c: Likewise.
31789
b9416d00 317902008-01-02 Robert Millan <rmh@aybabtu.com>
31791
31792 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
31793 message when loaded image is out of bounds.
31794 (grub_multiboot_load_elf64): Likewise.
31795
92695df9 317962008-01-02 Pavel Roskin <proski@gnu.org>
31797
31798 * util/grub.d/10_linux.in: Try version without ".old" when
31799 looking for initrd. It's better to use initrd from the newer
31800 kernel of the same version than no initrd at all.
31801
d98d9cad 318022008-01-01 Robert Millan <rmh@aybabtu.com>
31803
31804 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
31805
dbfdce36 318062008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
31807
f19dbdb7 31808 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 31809 grub_video_get_active_render_target.
31810 (grub_video_adapter): Added unmap_color and get_active_render_target.
31811
f19dbdb7 31812 * video/video.c: Added grub_video_unmap_color and
dbfdce36 31813 grub_video_get_active_render_target.
31814 (grub_video_get_info): Changed method to accept NULL pointer as an
31815 argument to allow detection of active video adapter.
31816
31817 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
31818 grub_video_vbe_unmap_color_int.
31819 Added grub_video_vbe_unmap_color and
31820 grub_video_vbe_get_active_render_target.
31821 (grub_video_vbe_adapter): Added unmap_color and
31822 get_active_render_target.
31823
f19dbdb7 31824 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 31825 with grub_video_vbe_unmap_color_int.
31826
31827 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
31828 (DEFAULT_NORMAL_COLOR): Likewise.
31829 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
31830 (DEFAULT_FG_COLOR): Removed.
31831 (DEFAULT_BG_COLOR): Likewise.
31832 (DEFAULT_CURSOR_COLOR): Changed value.
31833 (grub_virtual_screen): Added standard_color_setting,
31834 normal_color_setting, highlight_color_setting and term_color.
31835 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
31836 (bitmap_width): Added.
31837 (bitmap_height): Likewise.
31838 (bitmap): Likewise.
31839 (set_term_color): Likewise.
31840 (grub_virtual_screen_setup): Changed to use new terminal coloring
31841 settings.
31842 (grub_gfxterm_init): Added init for bitmap.
31843 (grub_gfxterm_fini): Added destroy for bitmap.
31844 (redraw_screen_rect): Updated to use background bitmap and new
31845 terminal coloring.
31846 (scroll_up): Added optimization for case when there is no bitmap.
31847 (grub_gfxterm_cls): Fixed to use correct background color.
31848 (grub_virtual_screen_setcolorstate): Changed to use new terminal
31849 coloring.
31850 (grub_virtual_screen_setcolor): Likewise.
31851 (grub_virtual_screen_getcolor): Added.
31852 (grub_gfxterm_background_image_cmd): Likewise.
31853 (grub_video_term): Added setcolor and getcolor.
31854 (MOD_INIT): Added registration of background_image command.
31855 (MOD_TERM): Added unregistration for background_image command.
31856
c3c20931 318572007-12-30 Pavel Roskin <proski@gnu.org>
31858
31859 * loader/multiboot_loader.c: Fix multiboot command
31860 unregistration. Fix all typos in the word "multiboot".
31861
df266716 318622007-12-29 Pavel Roskin <proski@gnu.org>
94239199 31863
31864 * util/grub.d/10_linux.in: Refactor search for initrd. Add
31865 support for initrd names used in Fedora.
31866
fc6e896c 318672007-12-26 Bean <bean123ch@gmail.com>
31868
31869 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
31870 (cpio_mod_SOURCES): New variable.
31871 (cpio_mod_CFLAGS): Likewise.
31872 (cpio_mod_LDFLAGS): Likewise.
31873
31874 * fs/cpio.c: New file.
31875
31876 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
31877
31878 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31879
31880 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
31881
31882 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31883
533110ad 318842007-12-25 Robert Millan <rmh@aybabtu.com>
31885
31886 * include/grub/term.h (struct grub_term): Add `getcolor' function.
31887 (grub_getcolor): New function.
31888
31889 * kern/term.c (grub_getcolor): New function.
31890 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
31891 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
31892 (print_entry): Set normal and highlight colors to
31893 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
31894 respectively, before printing and restore them to old
31895 values afterwards.
31896 (grub_menu_init_page): Likewise. Fill an additional colored space
31897 that would otherwise be left blank.
31898
31899 * term/efi/console.c (grub_console_getcolor): New function.
31900 (struct grub_console_term.getcolor): New variable.
31901 * term/i386/pc/console.c (grub_console_getcolor): New function.
31902 (struct grub_console_term.getcolor): New variable.
31903 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
31904 (struct grub_console_term.getcolor): New variable.
31905
31906 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
31907 (struct grub_console_term.setcolor): Remove variable.
31908 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
31909 (struct grub_console_term.setcolor): Remove variable.
31910 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
31911 (struct grub_console_term.setcolor): Remove variable.
31912 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
31913 (struct grub_console_term.setcolor): Remove variable.
31914
4931827f 319152007-12-25 Robert Millan <rmh@aybabtu.com>
31916
31917 * configure.ac: Search for possible unifont.hex locations, and
31918 define UNIFONT_HEX if found.
31919
31920 * Makefile.in (UNIFONT_HEX): Define variable.
31921 (DATA): Rename to ...
31922 (PKGLIB): ... this. Update all users.
31923 (PKGDATA): New variable.
31924 (pkgdata_IMAGES): Rename to ...
31925 (pkglib_IMAGES): ... this. Update all users.
31926 (pkgdata_MODULES): Rename to ...
31927 (pkglib_MODULES): ... this. Update all users.
31928 (pkgdata_PROGRAMS): Rename to ...
31929 (pkglib_PROGRAMS): ... this. Update all users.
31930 (pkgdata_DATA): Rename to ...
31931 (pkglib_DATA): ... this. Update all users.
31932 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
31933 (unicode.pff, ascii.pff): New rules.
31934 (all-local): Add `$(PKGDATA)' dependency.
31935 (install-local): Process `$(PKGDATA)'.
31936
31937 * util/update-grub_lib.in (font_path): Search for *.pff files in
31938 a few more locations, including `${pkgdata}'.
31939
57e57e31 319402007-12-23 Robert Millan <rmh@aybabtu.com>
31941
31942 Patch from Bean <bean123ch@gmail.com>:
31943 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
31944 `size'.
31945
4bc72aa9 319462007-12-21 Bean <bean123ch@gmail.com>
31947
31948 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
31949 (ntfscomp_mod_SOURCES): New variable.
31950 (ntfscomp_mod_CFLAGS): Likewise.
31951 (ntfscomp_mod_LDFLAGS): Likewise.
31952
31953 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
31954 (grub_probe_SOURCES): Likewise.
31955 (grub_emu_SOURCES): Likewise.
31956
31957 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
31958 (grub_emu_SOURCES): Likewise.
31959
31960 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
31961 (grub_emu_SOURCES): Likewise.
31962
31963 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
31964 (grub_emu_SOURCES): Likewise.
31965
31966 * fs/ntfs.c (grub_ntfscomp_func): New variable.
31967 (read_run_list): Renamed to grub_ntfs_read_run_list.
31968 (decomp_nextvcn): Moved to ntfscomp.c.
31969 (decomp_getch): Likewise.
31970 (decomp_get16): Likewise.
31971 (decomp_block): Likewise.
31972 (read_block): Likewise.
31973 (read_data): Partially moved to ntfscomp.c.
31974 (fixup): Change unsigned to grub_uint16_t.
31975 (read_mft): Change unsigned long to grub_uint32_t.
31976 (read_attr): Likewise.
31977 (read_data): Likewise.
31978 (read_run_data): Likewise.
31979 (read_run_list): Likewise.
31980 (read_mft): Likewise.
31981
31982 * fs/ntfscomp.c: New file.
31983
31984 * include/grub/ntfs.h: New file.
31985
af680a87 319862007-12-16 Robert Millan <rmh@aybabtu.com>
31987
31988 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
31989 IDE disk check, since Linux is known to support 20 IDE disks.
31990 Reported by Colin Watson.
31991
84be7599 319922007-12-15 Bean <bean123ch@gmail.com>
31993
31994 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
31995 (lnxboot_img_SOURCES): New variable.
31996 (lnxboot_img_ASFLAGS): Likewise.
31997 (lnxboot_img_LDFLAGS): Likewise.
31998
31999 * boot/i386/pc/lnxboot.S: New file.
32000
6af9db01 320012007-11-24 Pavel Roskin <proski@gnu.org>
32002
32003 * configure.ac: Test if '--build-id=none' is supported by the
32004 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
32005 objcopy to generate incorrect binary files (binutils
32006 2.17.50.0.18-1 as shipped by Fedora 8).
32007 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
32008 linking, so that build ID doesn't break the test.
32009
7361cfe6 320102007-11-24 Pavel Roskin <proski@gnu.org>
32011
32012 * include/grub/i386/time.h: use "void" in the argument list
32013 of grub_cpu_idle().
32014 * include/grub/powerpc/time.h: Likewise.
32015 * include/grub/sparc64/time.h: Likewise.
32016
1593e10c 320172007-11-18 Christian Franke <franke@computer.org>
32018
32019 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
32020 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
32021 This fixes the problem that function keys did not work in grub-emu.
32022
3b8db1a8 320232007-11-18 Christian Franke <franke@computer.org>
32024
32025 * disk/host.c (grub_host_open): Remove attribute unused from
32026 name parameter. Add check for "host". This fixes the problem
32027 that grub-emu does not find partitions.
32028
2e29408d 320292007-11-18 Christian Franke <franke@computer.org>
32030
32031 * util/hostfs.c (is_dir): New function.
32032 (grub_hostfs_dir): Handle missing dirent.d_type case.
32033 (grub_hostfs_read): Add missing fseek().
32034 (grub_hostfs_label): Clear label pointer. This fixes a crash
32035 of grub-emu on "ls (host)".
32036
398cd047 320372007-11-18 Christian Franke <franke@computer.org>
32038
32039 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
32040 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
32041 to 64 bit boundary by default.
32042
c405c391 320432007-11-18 Bean <bean123ch@gmail.com>
32044
32045 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
32046 (hexdump_mod_SOURCES): New variable.
32047 (hexdump_mod_CFLAGS): Likewise.
32048 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 32049
c405c391 32050 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32051
32052 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32053
32054 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32055
32056 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32057
32058 * include/grub/hexdump.h: New file.
32059
32060 * commands/hexdump.c: New file.
32061
5cced7fd 320622007-11-10 Robert Millan <rmh@aybabtu.com>
32063
32064 * commands/i386/pc/play.c (beep_off): Switch order of arguments
32065 in grub_outb() calls.
32066 (beep_on): Likewise.
32067
8b714eb0 320682007-11-10 Christian Franke <franke@computer.org>
32069
32070 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
32071 (grub_menu_run): Likewise.
32072
ce0f1839 320732007-11-10 Robert Millan <rmh@aybabtu.com>
32074
32075 * include/grub/i386/efi/machine.h: New file.
32076 * include/grub/i386/linuxbios/machine.h: Likewise.
32077 * include/grub/i386/pc/machine.h: Likewise.
32078 * include/grub/powerpc/ieee1275/machine.h: Likewise.
32079 * include/grub/sparc64/ieee1275/machine.h: Likewise.
32080
32081 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
32082 (serial_hw_io_addr): New variable.
32083 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
32084 instead of `(unsigned short *) 0x400'.
32085
270c237d 320862007-11-10 Bean <bean123ch@gmail.com>
32087
32088 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
32089
a87783bf 320902007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
32091
32092 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
32093 (vga_mod_SOURCES): Added.
32094 (vga_mod_CFLAGS): Likewise.
32095 (vga_mod_LDFLAGS): Likewise.
32096
32097 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
32098 grub_outb() calls.
32099 (set_map_mask): Likewise.
32100 (set_read_map): Likewise.
32101 (set_read_address): Likewise.
32102 (vga_font): Removed variable.
32103 (get_vga_glyph): Removed function.
32104 (invalidate_char): Likewise.
32105 (write_char): Changed to use grub_font_get_glyph() for font
32106 information.
32107 (grub_vga_putchar): Likewise.
32108 (grub_vga_getcharwidth): Likewise.
32109
6433b448 321102007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
32111
32112 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
32113 flags.
32114 (pxeboot_img_LDFLAGS): Likewise.
32115 (diskboot_img_LDFLAGS): Likewise.
32116 (kernel_img_LDFLAGS): Likewise.
32117
49178511 321182007-11-06 Robert Millan <rmh@aybabtu.com>
32119
32120 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
32121 in grub_outb() calls.
32122 (serial_hw_init): Likewise.
32123
53b052de 321242007-11-05 Robert Millan <rmh@aybabtu.com>
32125
32126 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
32127 spaces. Skip non-regular files.
32128
5ab33bba 321292007-11-05 Robert Millan <rmh@aybabtu.com>
32130
32131 * kern/disk.c (grub_disk_firmware_fini)
32132 (grub_disk_firmware_is_tainted): New variables.
32133
32134 * include/grub/disk.h (grub_disk_firmware_fini)
32135 (grub_disk_firmware_is_tainted): Likewise.
32136
32137 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
32138 (grub_disk_biosdisk_fini): ... to here.
32139 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
32140 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
32141 is set. Register grub_disk_biosdisk_fini() in
32142 `grub_disk_firmware_fini'.
32143
32144 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
32145 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
32146 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
32147 to finish existing firmware disk interface.
32148
32149 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
32150 (ata_mod_SOURCES): New variable.
32151 (ata_mod_CFLAGS): Likewise.
32152 (ata_mod_LDFLAGS): Likewise.
32153
0149ab7c 321542007-11-05 Robert Millan <rmh@aybabtu.com>
32155
32156 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
32157 (grub_ata_wait): Reimplement using grub_millisleep().
32158
32159 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
32160 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
32161
be7ac41e 321622007-11-03 Marco Gerards <marco@gnu.org>
32163
32164 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
32165 (CRTC_ADDR_PORT): New macro.
32166 (CRTC_DATA_PORT): Likewise.
32167 (CRTC_CURSOR): Likewise.
32168 (CRTC_CURSOR_ADDR_HIGH): Likewise.
32169 (CRTC_CURSOR_ADDR_LOW): Likewise.
32170 (update_cursor): New function.
32171 (grub_console_real_putchar): Call `update_cursor'.
32172 (grub_console_gotoxy): Likewise.
32173 (grub_console_cls): Set the default color when clearing the
32174 screen.
32175 (grub_console_setcursor): Implemented.
32176
bb06ab2e 321772007-11-03 Marco Gerards <marco@gnu.org>
32178
32179 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
32180 become activate.
32181 (grub_ata_pio_write): Likewise.
32182
32183 (grub_atapi_identify): Wait after issuing an ATA command.
32184 (grub_atapi_packet): Likewise.
32185 (grub_ata_identify): Likewise.
32186 (grub_ata_readwrite): Likewise.
32187
cf8f780b 321882007-11-03 Marco Gerards <marco@gnu.org>
32189
32190 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
32191 (grub_ata_pio_write): Likewise.
32192 (grub_ata_readwrite): Use `grub_error', instead of
32193 returning `grub_errno'.
32194
ed649e54 321952007-11-03 Marco Gerards <marco@gnu.org>
32196
32197 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
32198 grub_ata_pio_write once for every single sector, instead of for
32199 multiple sectors.
32200
ca25d8f0 322012007-10-31 Robert Millan <rmh@aybabtu.com>
32202
32203 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
32204
32205 * conf/i386-linuxbios.rmk: New file.
32206
32207 * kern/i386/pc/hardware.c: Likewise.
32208 * term/i386/pc/at_keyboard.c: Likewise.
32209 * term/i386/pc/vga_text.c: Likewise.
32210
32211 * include/grub/i386/linuxbios/boot.h: Likewise.
32212 * include/grub/i386/linuxbios/console.h: Likewise.
32213 * include/grub/i386/linuxbios/init.h: Likewise.
32214 * include/grub/i386/linuxbios/kernel.h: Likewise.
32215 * include/grub/i386/linuxbios/loader.h: Likewise.
32216 * include/grub/i386/linuxbios/memory.h: Likewise.
32217 * include/grub/i386/linuxbios/serial.h: Likewise.
32218 * include/grub/i386/linuxbios/time.h: Likewise.
32219
32220 * kern/i386/linuxbios/init.c: Likewise.
32221 * kern/i386/linuxbios/startup.S: Likewise.
32222 * kern/i386/linuxbios/table.c: Likewise.
32223
e911ecc1 322242007-10-31 Marco Gerards <marco@gnu.org>
32225
32226 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
32227 (ata_mod_SOURCES): New variable.
32228 (ata_mod_CFLAGS): Likewise.
32229 (ata_mod_LDFLAGS): Likewise.
32230
32231 * disk/ata.c: New file.
32232
32233 * include/grub/disk.h (grub_disk_dev_id): Add
32234 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 32235
7f66d0e0 322362007-10-31 Robert Millan <rmh@aybabtu.com>
32237
32238 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
32239 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
32240
32241 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
32242 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
32243
32244 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
32245 `<grub/types.h>'.
32246
32247 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
32248
5cd7dd46 322492007-10-27 Robert Millan <rmh@aybabtu.com>
32250
3236ca65 32251 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 32252
2ebfc90f 322532007-10-22 Robert Millan <rmh@aybabtu.com>
32254
32255 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
32256 `"../realmode.S"'.
32257 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
32258
73fcb0f3 322592007-10-22 Robert Millan <rmh@aybabtu.com>
32260
32261 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
32262 (pkgdata_MODULES): Add `biosdisk.mod'.
32263 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
32264 variables.
32265
32266 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
32267 (grub_biosdisk_init): Replace with ...
32268 (GRUB_MOD_INIT(biosdisk)): ... this.
32269 (grub_biosdisk_fini): Replace with ...
32270 (GRUB_MOD_FINI(biosdisk)): ... this.
32271
32272 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
32273 (grub_machine_init): Remove call to grub_biosdisk_init().
32274 (grub_machine_fini): Remove call to grub_machine_fini().
32275
32276 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
32277
3381d274 322782007-10-22 Robert Millan <rmh@aybabtu.com>
32279
32280 * include/grub/time.h: New file.
32281 * include/grub/i386/time.h: Likewise.
32282 * include/grub/powerpc/time.h: Likewise.
32283 * include/grub/sparc64/time.h: Likewise.
32284
32285 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
32286 instances to ...
32287 (KERNEL_MACHINE_TIME_HEADER): ... this.
32288 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
32289 instances to ...
32290 (KERNEL_MACHINE_TIME_HEADER): ... this.
32291 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
32292 instances to ...
32293 (KERNEL_MACHINE_TIME_HEADER): ... this.
32294
32295 * kern/i386/efi/init.c: Include `<grub/time.h>'.
32296 (grub_millisleep): New function.
32297 * kern/i386/pc/init.c: Include `<grub/time.h>'.
32298 (grub_millisleep): New function.
32299 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
32300 Remove `grub/machine/time.h' include.
32301 (grub_millisleep): New function.
32302 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
32303 Remove `grub/machine/time.h' include.
32304 (grub_millisleep): New function.
32305
32306 * include/grub/misc.h (grub_div_roundup): New function.
32307
32308 * kern/misc.c: Include `<grub/time.h>'.
32309 (grub_millisleep_generic): New function.
32310
32311 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
32312 Add `time.h'.
32313 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
32314 Add `time.h'.
32315 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
32316 `machine/time.h'. Add `time.h'.
32317 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
32318
a39a0312 323192007-10-21 Robert Millan <rmh@aybabtu.com>
32320
32321 * include/grub/misc.h (grub_max): New function.
32322
2aad70e2 323232007-10-21 Robert Millan <rmh@aybabtu.com>
32324
32325 * util/misc.c (grub_util_info): Call fflush() before returning.
32326
54b71c4b 323272007-10-20 Robert Millan <rmh@aybabtu.com>
32328
32329 * genmk.rb (Image): Copy `extra_flags' from here ...
32330 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
32331
32332 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
32333 to `argc' and `args' arguments.
32334
a979f513 323352007-10-17 Robert Millan <rmh@aybabtu.com>
32336
32337 * kern/i386/loader.S: New file.
32338
32339 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
32340 * kern/i386/loader.S (grub_linux_prot_size)... to here.
32341 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
32342 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
32343 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
32344 * kern/i386/loader.S (grub_linux_real_addr)... to here.
32345 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
32346 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
32347 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
32348 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
32349 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
32350 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
32351 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
32352 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
32353
32354 * kern/i386/realmode.S: New file.
32355
32356 * kern/i386/pc/startup.S (protstack): Moved from here ...
32357 * kern/i386/realmode.S (protstack)... to here.
32358 * kern/i386/pc/startup.S (gdt): Moved from here ...
32359 * kern/i386/realmode.S (gdt)... to here.
32360 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
32361 * kern/i386/realmode.S (prot_to_real)... to here.
32362
32363 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
32364 `kern/i386/realmode.S'.
32365
825fc8fd 323662007-10-17 Robert Millan <rmh@aybabtu.com>
32367
32368 * include/grub/i386/loader.h: New file.
32369
32370 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
32371 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
32372 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
32373 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
32374 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
32375 * include/grub/i386/loader.h (grub_linux_prot_size)
32376 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
32377 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
32378 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
32379 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
32380
32381 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
32382
e179b2f4 323832007-10-15 Robert Millan <rmh@aybabtu.com>
32384
32385 * normal/misc.c (grub_normal_print_device_info): Do not probe for
32386 filesystem when dev->disk is unset.
32387 Do probe for filesystem even when dev->disk->has_partitions is set.
32388 In case a filesystem is found, always report it.
32389 In case it isn't, if dev->disk->has_partitions is set, report that
32390 a partition table was found instead of reporting that no filesystem
32391 could be identified.
32392
5db82af6 323932007-10-12 Robert Millan <rmh@aybabtu.com>
32394
32395 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
32396 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
32397
68f6ac74 32398 * include/grub/types.h (grub_host_to_target16): New macro.
32399 (grub_host_to_target32): Likewise.
32400 (grub_host_to_target64): Likewise.
32401 (grub_target_to_host16): Likewise.
32402 (grub_target_to_host32): Likewise.
32403 (grub_target_to_host64): Likewise.
5db82af6 32404
32405 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
32406 Renamed from to ...
32407 (GRUB_MOD_ALIGN): ...this. Update all users.
32408
68f6ac74 32409 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
32410 grub_host_to_target32.
32411 Replace grub_be_to_cpu32 with grub_target_to_host32.
32412 (load_modules): Likewise.
32413 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
32414 Replace grub_be_to_cpu32 with grub_target_to_host32.
32415 Replace grub_cpu_to_be16 with grub_host_to_target16.
32416 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 32417
3cf497cc 324182007-10-12 Robert Millan <rmh@aybabtu.com>
32419
32420 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
32421 * util/elf/grub-mkimage.c: ... here.
32422
32423 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
32424 `util/powerpc/ieee1275/grub-mkimage.c'.
32425
c8cc3692 324262007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 32427
c8cc3692 32428 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
32429 and make it easier to figure out.
32430 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
32431 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
32432 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
32433 leave us with less than HEAP_MIN_SIZE total heap.
32434 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 32435
5c58b791 324362007-10-03 Robert Millan <rmh@aybabtu.com>
32437
32438 * include/grub/i386/io.h: New file.
32439 * commands/i386/pc/play.c (inb): Removed.
32440 (outb): Removed.
32441 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
32442 with grub_outb().
afcd2ef8 32443 * term/i386/pc/serial.c (inb): Removed.
32444 (outb): Removed.
32445 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
32446 with grub_outb().
32447 * term/i386/pc/vga.c (inb): Removed.
32448 (outb): Removed.
32449 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
32450 with grub_outb().
5c58b791 32451
1a477ed6 324522007-10-02 Robert Millan <rmh@aybabtu.com>
32453
32454 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
32455 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32456 Reported by Marcin Kurek.
32457
6b5d80fa 324582007-09-07 Robert Millan <rmh@aybabtu.com>
32459
32460 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
32461 SmartFirmware version updates (as released by Sven Luther), and avoid
32462 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
32463 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
32464 known broken.
32465
5618afbf 324662007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
32467
32468 From Hitoshi Ozeki:
32469 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
32470 when merging two regions.
32471
6139dcd9 324722007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
32473
508e39ee 32474 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
32475 * normal/completion.c (grub_normal_do_completion): Likewise.
32476 Reported by Hitoshi Ozeki.
32477
324782007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 32479
6139dcd9 32480 Do not use devices at boot in chainloading.
f19dbdb7 32481
6139dcd9 32482 * loader/i386/pc/chainloader.c (boot_drive): New variable.
32483 (boot_part_addr): Likewise.
32484 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
32485 with BOOT_DRIVE and BOOT_PART_ADDR.
32486 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
32487 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
32488
38da6516 324892007-08-29 Robert Millan <rmh@aybabtu.com>
32490
32491 Patch from Simon Peter <dn.tlp@gmx.net>:
32492 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
32493 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
32494 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
32495 util/i386/pc/grub-setup.c_DEPENDENCIES.
32496 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
32497 util/grub-probe.c_DEPENDENCIES.
32498 * conf/powerpc-ieee1275.rmk: Likewise.
32499
29d0928c 325002007-08-28 Robert Millan <rmh@aybabtu.com>
32501
32502 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
32503 to tell grub-mkdevicemap how to name devices.
32504 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
32505 feature).
32506
32507 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
32508 util/i386/get_disk_name.c.
32509 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
32510 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
32511 util/ieee1275/get_disk_name.c.
32512
32513 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
32514
32515 * DISTLIST: Add util/i386/get_disk_name.c and
32516 util/ieee1275/get_disk_name.c.
32517
32518 * util/grub-mkdevicemap.c: Replace device naming logic with
32519 grub_util_get_disk_name() calls.
32520
5a0d3cca 325212007-08-20 Robert Millan <rmh@aybabtu.com>
32522
32523 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
32524 (so that it works for both plural and singular quantities).
32525
8b72db2f 325262007-08-05 Robert Millan <rmh@aybabtu.com>
32527
32528 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
32529 so that [xz] isn't taken into account when determining order.
32530
352466bf 325312007-08-02 Marco Gerards <marco@gnu.org>
32532
32533 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
32534 `include/multiboot2.h', `include/grub/elfload.h',
32535 `include/multiboot.h', `include/grub/multiboot.h',
32536 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
32537 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
32538 `kern/elf.c', `loader/multiboot_loader.c',
32539 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
32540 `loader/i386/pc/multiboot2.c',
32541 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
32542 `util/i386/pc/grub-mkrescue.in'. Remove
32543 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
32544 `include/grub/i386/pc/util/biosdisk.h' and
32545 `include/grub/powerpc/ieee1275/multiboot.h'.
32546
8f096014 325472007-08-02 Bean <bean123ch@gmail.com>
32548
32549 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
32550 (ntfs_mod_SOURCES): New variable.
32551 (ntfs_mod_CFLAGS): Likewise.
32552 (ntfs_mod_LDFLAGS): Likewise.
32553
32554 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
32555 (grub_probe_SOURCES): Likewise.
32556 (grub_emu_SOURCES): Likewise.
32557
32558 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
32559 (grub_emu_SOURCES): Likewise.
32560
32561 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
32562 (grub_emu_SOURCES): Likewise.
f19dbdb7 32563
8f096014 32564 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
32565
32566 * fs/ntfs.c: New file.
32567
9959f7db 325682007-08-02 Bean <bean123ch@gmail.com>
32569
32570 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
32571
32572 * file.h (grub_file): Likewise.
32573
32574 * fshelp.h (grub_fshelp_read_file): Likewise.
32575
32576 * util/i386/pc/grub-setup.c (setup): Likewise.
32577 (save_first_sector): Likewise.
32578 (save_blocklists): Likewise.
f19dbdb7 32579
9959f7db 32580 * fs/affs.c (grub_affs_read_file): Likewise.
32581
32582 * fs/ext2.c (grub_ext2_read_file): Likewise.
32583
32584 * fs/fat.c (grub_fat_read_data): Likewise.
32585
32586 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
32587
32588 * fs/hfs.c (grub_hfs_read_file): Likewise.
32589
32590 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
32591
32592 * fs/jfs.c (grub_jfs_read_file): Likewise.
32593
32594 * fs/minix.c (grub_minix_read_file): Likewise.
32595
32596 * fs/sfs.c (grub_sfs_read_file): Likewise.
32597
32598 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 32599
9959f7db 32600 * fs/xfs.c (grub_xfs_read_file): Likewise.
32601
32602 * command/blocklist.c (read_blocklist): Likewise.
32603 (print_blocklist): Likewise.
32604
0a203f83 326052007-08-02 Marco Gerards <marco@gnu.org>
32606
32607 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
32608 `util/hostfs.c'.
32609
32610 * disk/host.c: New file.
32611
32612 * util/hostfs.c: Likewise.
32613
32614 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
32615 return `GRUB_ERR_BAD_FS'.
32616 * fs/sfs.c (grub_sfs_mount): Likewise.
32617 * fs/xfs.c (grub_xfs_mount): Likewise.
32618
32619 * include/grub/disk.h (enum grub_disk_dev_id): Add
32620 `GRUB_DISK_DEVICE_HOST_ID'.
32621
32622 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
32623
e5dfe777 326242007-07-24 Jerone Young <jerone@gmail.com>
32625
f19dbdb7 32626 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 32627 modules for compilation.
32628 * conf/powerpc-ieee1275.rmk: Likewise.
32629
32630 * include/multiboot.h: Move multiboot definitions to one file. Rename
32631 many definitions to not get grub specific.
32632 * include/multiboot2.h: Create header with multiboot 2 definitions.
32633 * include/grub/multiboot.h: Header for grub specific function
32634 prototypes and definitions.
32635 * include/grub/multiboot2.h: Likewise.
32636 * include/grub/multiboot_loader.h: Likewise.
32637 * include/grub/i386/pc/multiboot.h: Removed.
32638 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
32639
32640 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
32641 and 2 to allow for one multiboot and module commands.
32642 * loader/multiboot2.c: Add multiboot2 functionality.
32643 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
32644 and definition names.
32645 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
32646 2 functions.
32647 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
32648 ieee1275 specific multiboot2 code.
32649
32650 * kern/i386/pc/startup.S: Change headers and definition names for
32651 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
32652
daf0f0ba 326532007-07-22 Robert Millan <rmh@aybabtu.com>
32654
32655 * geninitheader.sh: Process file specified in first parameter rather
32656 than hardcoding grub_modules_init.lst.
fe6b695a 32657 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 32658 than hardcoding grub_modules_init.h.
32659
32660 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
32661 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
32662 grub_probe_init.[ch] and grub_setup_init.[ch].
32663
32664 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
32665 grub_modules_init.h with grub_emu_init.h.
32666 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
32667 grub_probe_init.[ch] files.
32668 * conf/i386-efi.rmk: Likewise.
32669 * conf/i386-pc.rmk: Likewise.
32670 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
32671 grub_setup_init.[ch] files.
32672
32673 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
32674 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
32675 to initialize modules rather than a list of hardcoded functions.
32676 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
32677 grub_init_all() to initialize modules rather than a list of hardcoded
32678 functions.
32679
54cdc1cc 326802007-07-22 Robert Millan <rmh@aybabtu.com>
32681
32682 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
32683 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
32684
ad0686cc 326852007-07-22 Robert Millan <rmh@aybabtu.com>
32686
32687 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
32688 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
32689 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
32690 flag when running on SmartFirmware.
32691 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
32692 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
32693 was set.
32694
32695 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
32696 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
32697 rather than decreasing it.
32698
32699 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
32700 there's not enough space to do it, fail in the same way as when it
32701 can't be done because there are no partitions.
32702
32703 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
32704 when nvsetenv failed.
32705
969c02ec 327062007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
32707
32708 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
32709 because this rule is automatically generated.
32710 (grub-mkrescue): Removed for the same reason as above.
32711
5a79f472 327122007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
32713
32714 Migrate to GNU General Public License Version 3.
f19dbdb7 32715
5a79f472 32716 * COPYING: Replaced with the plain text version of GPLv3.
32717
32718 * config.guess: Updated from gnulib.
32719 * config.sub: Likewise.
32720
32721 * geninit.sh: Output a GPLv3 copyright notice.
32722 * geninitheader.sh: Likewise.
32723 * genmodsrc.sh: Likewise.
32724 * gensymlist.sh.in: Likewise.
32725
32726 * boot/i386/pc/boot.S: Upgraded to GPLv3.
32727 * boot/i386/pc/diskboot.S: Likewise.
32728 * boot/i386/pc/pxeboot.S: Likewise.
32729 * commands/blocklist.c: Likewise.
32730 * commands/boot.c: Likewise.
32731 * commands/cat.c: Likewise.
32732 * commands/cmp.c: Likewise.
32733 * commands/configfile.c: Likewise.
32734 * commands/echo.c: Likewise.
32735 * commands/help.c: Likewise.
32736 * commands/ls.c: Likewise.
32737 * commands/search.c: Likewise.
32738 * commands/terminal.c: Likewise.
32739 * commands/test.c: Likewise.
32740 * commands/videotest.c: Likewise.
32741 * commands/i386/cpuid.c: Likewise.
32742 * commands/i386/pc/halt.c: Likewise.
32743 * commands/i386/pc/play.c: Likewise.
32744 * commands/i386/pc/reboot.c: Likewise.
32745 * commands/i386/pc/vbeinfo.c: Likewise.
32746 * commands/i386/pc/vbetest.c: Likewise.
32747 * commands/ieee1275/halt.c: Likewise.
32748 * commands/ieee1275/reboot.c: Likewise.
32749 * commands/ieee1275/suspend.c: Likewise.
32750 * disk/loopback.c: Likewise.
32751 * disk/lvm.c: Likewise.
32752 * disk/raid.c: Likewise.
32753 * disk/efi/efidisk.c: Likewise.
32754 * disk/i386/pc/biosdisk.c: Likewise.
32755 * disk/ieee1275/ofdisk.c: Likewise.
32756 * font/manager.c: Likewise.
32757 * fs/affs.c: Likewise.
32758 * fs/ext2.c: Likewise.
32759 * fs/fat.c: Likewise.
32760 * fs/fshelp.c: Likewise.
32761 * fs/hfs.c: Likewise.
32762 * fs/hfsplus.c: Likewise.
32763 * fs/iso9660.c: Likewise.
32764 * fs/jfs.c: Likewise.
32765 * fs/minix.c: Likewise.
32766 * fs/sfs.c: Likewise.
32767 * fs/ufs.c: Likewise.
32768 * fs/xfs.c: Likewise.
32769 * hello/hello.c: Likewise.
32770 * include/grub/acorn_filecore.h: Likewise.
32771 * include/grub/arg.h: Likewise.
32772 * include/grub/bitmap.h: Likewise.
32773 * include/grub/boot.h: Likewise.
32774 * include/grub/cache.h: Likewise.
32775 * include/grub/device.h: Likewise.
32776 * include/grub/disk.h: Likewise.
32777 * include/grub/dl.h: Likewise.
32778 * include/grub/elfload.h: Likewise.
32779 * include/grub/env.h: Likewise.
32780 * include/grub/err.h: Likewise.
32781 * include/grub/file.h: Likewise.
32782 * include/grub/font.h: Likewise.
32783 * include/grub/fs.h: Likewise.
32784 * include/grub/fshelp.h: Likewise.
32785 * include/grub/gzio.h: Likewise.
32786 * include/grub/hfs.h: Likewise.
32787 * include/grub/kernel.h: Likewise.
32788 * include/grub/loader.h: Likewise.
32789 * include/grub/lvm.h: Likewise.
32790 * include/grub/misc.h: Likewise.
32791 * include/grub/mm.h: Likewise.
32792 * include/grub/net.h: Likewise.
32793 * include/grub/normal.h: Likewise.
32794 * include/grub/parser.h: Likewise.
32795 * include/grub/partition.h: Likewise.
32796 * include/grub/pc_partition.h: Likewise.
32797 * include/grub/raid.h: Likewise.
32798 * include/grub/rescue.h: Likewise.
32799 * include/grub/script.h: Likewise.
32800 * include/grub/setjmp.h: Likewise.
32801 * include/grub/symbol.h: Likewise.
32802 * include/grub/term.h: Likewise.
32803 * include/grub/terminfo.h: Likewise.
32804 * include/grub/tparm.h: Likewise.
32805 * include/grub/types.h: Likewise.
32806 * include/grub/video.h: Likewise.
32807 * include/grub/efi/api.h: Likewise.
32808 * include/grub/efi/chainloader.h: Likewise.
32809 * include/grub/efi/console.h: Likewise.
32810 * include/grub/efi/console_control.h: Likewise.
32811 * include/grub/efi/disk.h: Likewise.
32812 * include/grub/efi/efi.h: Likewise.
32813 * include/grub/efi/pe32.h: Likewise.
32814 * include/grub/efi/time.h: Likewise.
32815 * include/grub/i386/linux.h: Likewise.
32816 * include/grub/i386/setjmp.h: Likewise.
32817 * include/grub/i386/types.h: Likewise.
32818 * include/grub/i386/efi/kernel.h: Likewise.
32819 * include/grub/i386/efi/loader.h: Likewise.
32820 * include/grub/i386/efi/time.h: Likewise.
32821 * include/grub/i386/pc/biosdisk.h: Likewise.
32822 * include/grub/i386/pc/boot.h: Likewise.
32823 * include/grub/i386/pc/chainloader.h: Likewise.
32824 * include/grub/i386/pc/console.h: Likewise.
32825 * include/grub/i386/pc/init.h: Likewise.
32826 * include/grub/i386/pc/kernel.h: Likewise.
32827 * include/grub/i386/pc/loader.h: Likewise.
32828 * include/grub/i386/pc/memory.h: Likewise.
32829 * include/grub/i386/pc/multiboot.h: Likewise.
32830 * include/grub/i386/pc/serial.h: Likewise.
32831 * include/grub/i386/pc/time.h: Likewise.
32832 * include/grub/i386/pc/vbe.h: Likewise.
32833 * include/grub/i386/pc/vbeblit.h: Likewise.
32834 * include/grub/i386/pc/vbefill.h: Likewise.
32835 * include/grub/i386/pc/vbeutil.h: Likewise.
32836 * include/grub/i386/pc/vga.h: Likewise.
32837 * include/grub/ieee1275/ieee1275.h: Likewise.
32838 * include/grub/ieee1275/ofdisk.h: Likewise.
32839 * include/grub/powerpc/libgcc.h: Likewise.
32840 * include/grub/powerpc/setjmp.h: Likewise.
32841 * include/grub/powerpc/types.h: Likewise.
32842 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
32843 * include/grub/powerpc/ieee1275/console.h: Likewise.
32844 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
32845 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
32846 * include/grub/powerpc/ieee1275/loader.h: Likewise.
32847 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
32848 * include/grub/powerpc/ieee1275/time.h: Likewise.
32849 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
32850 * include/grub/sparc64/libgcc.h: Likewise.
32851 * include/grub/sparc64/setjmp.h: Likewise.
32852 * include/grub/sparc64/types.h: Likewise.
32853 * include/grub/sparc64/ieee1275/console.h: Likewise.
32854 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
32855 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
32856 * include/grub/sparc64/ieee1275/time.h: Likewise.
32857 * include/grub/util/biosdisk.h: Likewise.
32858 * include/grub/util/getroot.h: Likewise.
32859 * include/grub/util/lvm.h: Likewise.
32860 * include/grub/util/misc.h: Likewise.
32861 * include/grub/util/raid.h: Likewise.
32862 * include/grub/util/resolve.h: Likewise.
32863 * io/gzio.c: Likewise.
32864 * kern/device.c: Likewise.
32865 * kern/disk.c: Likewise.
32866 * kern/dl.c: Likewise.
32867 * kern/elf.c: Likewise.
32868 * kern/env.c: Likewise.
32869 * kern/err.c: Likewise.
32870 * kern/file.c: Likewise.
32871 * kern/fs.c: Likewise.
32872 * kern/loader.c: Likewise.
32873 * kern/main.c: Likewise.
32874 * kern/misc.c: Likewise.
32875 * kern/mm.c: Likewise.
32876 * kern/parser.c: Likewise.
32877 * kern/partition.c: Likewise.
32878 * kern/rescue.c: Likewise.
32879 * kern/term.c: Likewise.
32880 * kern/efi/efi.c: Likewise.
32881 * kern/efi/init.c: Likewise.
32882 * kern/efi/mm.c: Likewise.
32883 * kern/i386/dl.c: Likewise.
32884 * kern/i386/efi/init.c: Likewise.
32885 * kern/i386/efi/startup.S: Likewise.
32886 * kern/i386/pc/init.c: Likewise.
32887 * kern/i386/pc/lzo1x.S: Likewise.
32888 * kern/i386/pc/startup.S: Likewise.
32889 * kern/ieee1275/ieee1275.c: Likewise.
32890 * kern/powerpc/cache.S: Likewise.
32891 * kern/powerpc/dl.c: Likewise.
32892 * kern/powerpc/ieee1275/cmain.c: Likewise.
32893 * kern/powerpc/ieee1275/crt0.S: Likewise.
32894 * kern/powerpc/ieee1275/init.c: Likewise.
32895 * kern/powerpc/ieee1275/openfw.c: Likewise.
32896 * kern/sparc64/cache.S: Likewise.
32897 * kern/sparc64/dl.c: Likewise.
32898 * kern/sparc64/ieee1275/init.c: Likewise.
32899 * kern/sparc64/ieee1275/openfw.c: Likewise.
32900 * loader/efi/chainloader.c: Likewise.
32901 * loader/efi/chainloader_normal.c: Likewise.
32902 * loader/i386/efi/linux.c: Likewise.
32903 * loader/i386/efi/linux_normal.c: Likewise.
32904 * loader/i386/pc/chainloader.c: Likewise.
32905 * loader/i386/pc/chainloader_normal.c: Likewise.
32906 * loader/i386/pc/linux.c: Likewise.
32907 * loader/i386/pc/linux_normal.c: Likewise.
32908 * loader/i386/pc/multiboot.c: Likewise.
32909 * loader/i386/pc/multiboot_normal.c: Likewise.
32910 * loader/powerpc/ieee1275/linux.c: Likewise.
32911 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
32912 * normal/arg.c: Likewise.
32913 * normal/cmdline.c: Likewise.
32914 * normal/command.c: Likewise.
32915 * normal/completion.c: Likewise.
32916 * normal/execute.c: Likewise.
32917 * normal/function.c: Likewise.
32918 * normal/lexer.c: Likewise.
32919 * normal/main.c: Likewise.
32920 * normal/menu.c: Likewise.
32921 * normal/menu_entry.c: Likewise.
32922 * normal/misc.c: Likewise.
32923 * normal/parser.y: Likewise.
32924 * normal/script.c: Likewise.
32925 * normal/i386/setjmp.S: Likewise.
32926 * normal/powerpc/setjmp.S: Likewise.
32927 * normal/sparc64/setjmp.S: Likewise.
32928 * partmap/acorn.c: Likewise.
32929 * partmap/amiga.c: Likewise.
32930 * partmap/apple.c: Likewise.
32931 * partmap/gpt.c: Likewise.
32932 * partmap/pc.c: Likewise.
32933 * partmap/sun.c: Likewise.
32934 * term/gfxterm.c: Likewise.
32935 * term/terminfo.c: Likewise.
32936 * term/efi/console.c: Likewise.
32937 * term/i386/pc/console.c: Likewise.
32938 * term/i386/pc/serial.c: Likewise.
32939 * term/i386/pc/vesafb.c: Likewise.
32940 * term/i386/pc/vga.c: Likewise.
32941 * term/ieee1275/ofconsole.c: Likewise.
32942 * util/biosdisk.c: Likewise.
32943 * util/console.c: Likewise.
32944 * util/genmoddep.c: Likewise.
32945 * util/getroot.c: Likewise.
32946 * util/grub-emu.c: Likewise.
32947 * util/grub-mkdevicemap.c: Likewise.
32948 * util/grub-probe.c: Likewise.
32949 * util/lvm.c: Likewise.
32950 * util/misc.c: Likewise.
32951 * util/raid.c: Likewise.
32952 * util/resolve.c: Likewise.
32953 * util/update-grub.in: Likewise.
32954 * util/update-grub_lib.in: Likewise.
32955 * util/grub.d/00_header.in: Likewise.
32956 * util/grub.d/10_hurd.in: Likewise.
32957 * util/grub.d/10_linux.in: Likewise.
32958 * util/i386/efi/grub-install.in: Likewise.
32959 * util/i386/efi/grub-mkimage.c: Likewise.
32960 * util/i386/pc/grub-install.in: Likewise.
32961 * util/i386/pc/grub-mkimage.c: Likewise.
32962 * util/i386/pc/grub-mkrescue.in: Likewise.
32963 * util/i386/pc/grub-setup.c: Likewise.
32964 * util/i386/pc/misc.c: Likewise.
32965 * util/powerpc/ieee1275/grub-install.in: Likewise.
32966 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
32967 * util/powerpc/ieee1275/misc.c: Likewise.
32968 * video/bitmap.c: Likewise.
32969 * video/video.c: Likewise.
32970 * video/i386/pc/vbe.c: Likewise.
32971 * video/i386/pc/vbeblit.c: Likewise.
32972 * video/i386/pc/vbefill.c: Likewise.
32973 * video/i386/pc/vbeutil.c: Likewise.
32974 * video/readers/tga.c: Likewise.
32975
3572d015 329762007-07-02 Robert Millan <rmh@aybabtu.com>
32977
32978 * conf/i386-efi.rmk: Replace obsolete reference to
32979 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
32980 with util/getroot.c.
32981 * conf/powerpc-ieee1275.rmk: Likewise.
32982 * conf/sparc64-ieee1275.rmk: Likewise.
32983
32984 * util/grub-emu.c (main): Fix unchecked pointer handling.
32985
2c2a681b 329862007-07-02 Robert Millan <rmh@aybabtu.com>
32987
32988 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
32989 invocation to fail, in order to support partition-less media.
32990
32991 * util/i386/pc/grub-install.in: Likewise.
32992
32993 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
32994 which fs or partmap modules are needed (akin to its sister scripts).
32995
32996 Also use grub-probe to get rid of unportable /proc/mounts check.
32997
32998 Print the same informational message that the other scripts do, before
fe6b695a 32999 exiting.
2c2a681b 33000
6193defe 330012007-06-23 Robert Millan <rmh@aybabtu.com>
33002
fe6b695a 33003 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 33004 a font file can be found and, if so, echo the GRUB path to it.
33005
33006 * util/update-grub.in: Handle multiple terminals depending on user
33007 input, platform availability and font file presence. Propagate
33008 variables of our findings to /etc/grub.d/ children.
33009
33010 * util/grub.d/00_header.in: Handle multiple terminals, based on
33011 environment setup by update-grub.
33012
eface1dc 330132007-06-23 Robert Millan <rmh@aybabtu.com>
33014
ba50d28f 33015 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 33016
bf697e28 330172007-06-21 Robert Millan <rmh@aybabtu.com>
33018
33019 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
33020 indicate end of data section in kernel image.
33021 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
33022 GRUB_KERNEL_MACHINE_DATA_END.
33023
33024 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
33025 space for it.
33026 * kern/i386/efi/startup.S: Likewise.
33027
33028 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
33029 during image generation. Implement --prefix option to override this
33030 patch.
33031 * util/i386/efi/grub-mkimage.c: Likewise.
33032
33033 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
33034 code to make path relative to its root into a separate function.
33035
33036 * util/i386/pc/grub-install.in: Use newly provided
33037 make_system_path_relative_to_its_root() to convert ${grubdir}, then
33038 pass the result to grub-install --prefix.
33039
baa574b4 330402007-06-13 Robert Millan <rmh@aybabtu.com>
33041
33042 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
33043 DEFAULT_DEVICE_MAP.
33044 * util/grub-emu.c: Use above definitions from misc.h instead of
33045 defining them.
33046 * util/grub-mkdevicemap.c: Likewise.
33047 * util/i386/pc/grub-setup.c: Likewise.
33048 * util/grub-probe.c: Likewise.
33049 (probe): Abort with grub_util_error() when either
33050 grub_guess_root_device or grub_util_get_grub_dev fails.
33051
0215dcbf 330522007-06-12 Robert Millan <rmh@aybabtu.com>
33053
33054 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
33055 "pager" assignment.
33056 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
33057 "pcdata".
33058 * util/grub-probe.c (probe): Likewise for "drive_name".
33059
8af2ab7b 330602007-06-11 Robert Millan <rmh@aybabtu.com>
33061
33062 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
33063 not just the cdrom one.
33064
59d31694 330652007-06-11 Robert Millan <rmh@aybabtu.com>
33066
33067 * util/i386/pc/grub-mkrescue.in: Add "set -e".
33068 Add --pkglibdir=DIR option to override pkglibdir.
33069 Mention --image-type=TYPE in help output.
33070 Fix --grub-mkimage (it was a no-op).
fe6b695a 33071 Abort gracefully when no parameter is given.
59d31694 33072
7ee367e4 330732007-06-11 Robert Millan <rmh@aybabtu.com>
33074
33075 * util/i386/pc/grub-mkrescue.in: New file.
33076 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
33077 * Makefile.in: Handle bin_SCRIPTS.
33078
29b0ed46 330792007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
33080
33081 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
33082 list of video modes.
33083
c0f90770 330842007-06-06 Robert Millan <rmh@aybabtu.com>
33085
33086 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
33087 file doesn't exist, or if it is in a filesystem grub can't read.
33088
33089 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
33090 not abort if GRUB_DRIVE could not be defined. Rearrange generated
33091 header comment to fit in 80 columns when the variables are resolved.
33092
33093 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
33094 could be identified by update-grub. Remove redundant check for
fe6b695a 33095 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 33096 handles that).
33097
fb36dc26 330982007-06-04 Robert Millan <rmh@aybabtu.com>
33099
33100 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
33101
33102 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
33103
33104 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
33105
0c68c93e 331062007-06-04 Robert Millan <rmh@aybabtu.com>
33107
33108 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
33109
33110 * include/grub/partition.h: Declare grub_apple_partition_map_init and
33111 grub_apple_partition_map_fini.
33112
33113 * util/biosdisk.c
33114 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
33115 to access >2 TiB disks).
33116
33117 Print disk->total_sectors with %llu instead of %lu, since this
33118 variable is always 64-bit (prevents wrong disk size from being displayed
33119 on either >2 TiB disk or big-endian CPU).
33120
33121 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
33122 into a generic case that supports all (sane) partition maps.
33123
33124 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
33125 breaks big-endian.
33126
33127 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
33128 and grub_apple_partition_map_fini() after that.
33129
0f23eb74 331302007-06-01 Robert Millan <rmh@aybabtu.com>
33131
33132 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
33133
33134 * util/grub.d/00_header.in: Only enable gfxterm when
33135 convert_system_path_to_grub_path() succeeds.
33136
42c71976 331372007-05-20 Robert Millan <rmh@aybabtu.com>
33138
33139 * util/update-grub_lib.in: New file.
33140 * DISTLIST: Add update-grub_lib.in.
33141 * conf/common.rmk: Generate update-grub_lib and install it in
33142 $(lib_DATA).
33143 * Makefile.in: Add install routine for $(lib_DATA).
33144
33145 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
33146 function provided by update-grub_lib to support arbitrary paths of
33147 unifont.pff.
33148 * util/update-grub.in: Use convert_system_path_to_grub_path() to
33149 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
33150
5beb2291 331512007-05-19 Robert Millan <rmh@aybabtu.com>
33152
33153 * commands/i386/cpuid.c: New module.
33154 * DISTLIST: Add it.
33155 * conf/i386-efi.rmk: Enable cpuid.mod.
33156 * conf/i386-pc.rmk: Likewise.
33157
7262eca1 331582007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
33159
33160 * kern/disk.c (grub_disk_read): Check return value of
33161 grub_realloc().
33162
260ba823 331632007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
33164
33165 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
33166 arrays.
33167 * disk/raid.c (grub_raid_open): Likewise.
33168
1ecb6cf2 331692007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
33170
33171 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
33172 stack instead of on the heap.
33173
33174 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
33175 before doing a read on it.
33176
33177 * configure.ac: Only use -fno-stack-protector for the target
33178 environment.
f19dbdb7 33179
21c8cbb1 331802007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
33181
33182 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
33183 __attribute_ ((unused)) to mode_type argument.
33184
33185 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 33186
21c8cbb1 33187 * kern/misc.c (memcmp): Fix prototype.
33188
33189 * include/grub/partition.h [GRUB_UTIL]
33190 (grub_gpt_partition_map_init): Add prototype.
33191 (grub_gpt_partition_map_fini): Likewise.
33192
33193 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
33194 at the right place.
33195
33196 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
33197 (grub_fat_read_data): Likewise.
33198 (grub_fat_find_dir): Likewise.
33199
33200 * font/manager.c (find_glyph): Make table a const.
33201 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 33202
849d55d3 332032007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
33204
33205 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
33206 code, first search for device in /dev/mapper, then in /dev.
33207 (grub_util_get_grub_dev): New function.
33208 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
33209 prototype.
33210 * util/grub-probe.c (probe): Remove check for RAID, call
33211 grub_util_get_grub_dev() instead of
33212 grub_util_biosdisk_get_grub_dev().
33213 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
33214 grub_util_biosdisk_get_grub_dev().
33215 * util/i386/pc/grub-setup.c (main): Likewise.
33216
8fff7c2f 332172007-05-16 Robert Millan <rmh@aybabtu.com>
33218
33219 * DISTLIST: Update for the latest changes.
33220 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
33221 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
33222 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
33223 grub/util/biosdisk.h.
33224 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
33225 grub/util/biosdisk.h.
33226
48e12b52 332272007-05-16 Robert Millan <rmh@aybabtu.com>
33228
33229 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
33230
46b9d128 332312007-05-16 Robert Millan <rmh@aybabtu.com>
33232
33233 * util/i386/efi/grub-install.in: New.
33234 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
33235 newly added grub-install.
33236 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
33237 include.
33238 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
33239 grub/util/biosdisk.h.
33240 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
33241 grub/util/biosdisk.h.
33242
2d1a40a9 332432007-05-16 Robert Millan <rmh@aybabtu.com>
33244
33245 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
33246 * include/grub/util/biosdisk.h: ... here.
33247 * util/i386/pc/biosdisk.c: Moved to ...
33248 * util/biosdisk.c: ... here.
33249 * util/i386/pc/getroot.c: Moved to ...
33250 * util/getroot.c: ... here.
33251 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
33252 * util/grub-mkdevicemap.c: ... here.
33253 * util/i386/pc/grub-probe.c: Moved to ...
33254 * util/grub-probe.c: ... here.
33255
9e26e3bc 332562007-05-15 Robert Millan <rmh@aybabtu.com>
33257
33258 * util/update-grub.in: Remove duplicated line in grub.cfg header
33259 message.
33260
57f96397 332612007-05-13 Robert Millan <rmh@aybabtu.com>
33262
33263 * util/update-grub.in: Fix a few assumptions about the devices holding
33264 /, /boot and /boot/grub being the same.
33265 * util/grub.d/00_header.in: Likewise.
33266 * util/grub.d/10_hurd.in: Likewise.
33267 * util/grub.d/10_linux.in: Likewise.
33268
33269 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
33270 patterns. Use that to define the `.old' suffix as older than `'.
33271
33272 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
33273
33274 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
33275 the grub.cfg header message.
33276
2e610d62 332772007-05-11 Robert Millan <rmh@aybabtu.com>
33278
33279 * util/update-grub.in: Create device.map if it doesn't already exist,
33280 before attempting to run grub-probe.
33281 Check for grub-probe and grub-mkdevicemap with the same code
33282 grub-install is using.
33283 Remove test mode.
33284
3f6a10ef 332852007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
33286
33287 * Makefile.in: Add the datarootdir autoconf variable.
33288
02e7b75e 332892007-05-09 Robert Millan <rmh@aybabtu.com>
33290
33291 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 33292 fail gracefully if dev->disk->partition == NULL.
02e7b75e 33293
75f396cc 332942007-05-07 Robert Millan <rmh@aybabtu.com>
33295
33296 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
33297 determine partition map module.
33298 * util/i386/pc/grub-install.in: Use this feature to decide which
33299 partition module to load, instead of hardcoding pc and gpt.
33300
da65cb36 333012007-05-07 Robert Millan <rmh@aybabtu.com>
33302
33303 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
33304 source directory differs from build directory.
33305
b57d6a91 333062007-05-05 Robert Millan <rmh@aybabtu.com>
33307
33308 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
33309 initialisation.
33310
509d00f1 333112007-05-05 Robert Millan <rmh@aybabtu.com>
33312
33313 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
33314
c48f23ef 333152007-05-05 Robert Millan <rmh@aybabtu.com>
33316
33317 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
33318 command-line arguments via ${GRUB_CMDLINE_LINUX}.
33319
20b97658 333202007-05-05 Robert Millan <rmh@aybabtu.com>
33321
33322 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
33323 (grub_probe_SOURCES): Likewise.
33324 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
33325 GPT and initialize dos_part and bsd_part accordingly.
33326 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
33327 install_bsd_part.
33328 (main): Activate gpt module for use during partition identification,
33329 and deactivate it afterwards.
33330 * util/i386/pc/grub-install.in: Add gpt module to core.img.
33331 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
33332 partition identification, and deactivate it afterwards.
33333
99123174 333342007-05-05 Robert Millan <rmh@aybabtu.com>
33335
33336 * term/i386/pc/console.c (grub_console_fini): Call
33337 grub_term_set_current() before grub_term_unregister().
33338
ebd97f6e 333392007-05-04 Robert Millan <rmh@aybabtu.com>
33340
33341 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
33342 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
33343 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
33344 and update-grub_DATA.
33345 * conf/common.rmk: Build and install update-grub components.
33346 * conf/common.mk: Regenerate.
33347 * util/update-grub.in: New. Core of update-grub.
33348 * util/grub.d/00_header.in: New. Generates grub.cfg header.
33349 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
33350 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
33351 * util/grub.d/README: New. Document grub.d directory layout.
33352
b06a264d 333532007-05-01 Robert Millan <rmh@aybabtu.com>
33354
33355 * util/grub-emu.c: Move initialization functions
33356 grub_util_biosdisk_init() and grub_init_all() before
33357 grub_util_biosdisk_get_grub_dev(), which relies on them.
33358
41f0050e 333592007-04-19 Robert Millan <rmh@aybabtu.com>
33360
33361 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
33362 it is used later.
33363
04582bb3 333642007-04-18 Jerone Young <jerone@gmail.com>
33365
f19dbdb7 33366 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 33367 stanza.
33368
08db4632 333692007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 33370
08db4632 33371 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
33372 continue on and look for device node with real device name.
33373
801b76be 333742007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 33375
fe6b695a 33376 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 33377 ability.
33378 * Makefile.in: Add autoconf package transformation code.
33379 * util/i386/pc/grub-install.in: Likewise.
33380 * util/powerpc/ieee1275/grub-install.in: Likewise.
33381
6795c4e1 333822007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
33383
33384 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
33385 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
33386 (EXT2_REVISION): Likewise.
33387 (EXT2_INODE_SIZE): Likewise.
33388 (struct grub_ext2_block_group): Added a missing member
33389 "used_dirs".
33390 (grub_ext2_read_inode): Divide by the inode size in a superblock
33391 instead of 128 to obtain INODES_PER_BLOCK.
33392 Use the macro EXT2_INODE_SIZE instead of directly using
33393 SBLOCK->INODE_SIZE.
33394
d70af616 333952007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
33396
33397 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
33398 superblock instead of the structure size to compute an
33399 offset. This fixes the problem that GRUB could not read a
33400 filesystem when inode size is different from 128-byte.
33401
3b801603 334022007-03-05 Marco Gerards <marco@gnu.org>
33403
33404 * normal/main.c (read_config_file): When "menu" is not set, create
33405 an initial context.
33406
4785bfe4 334072007-02-21 Hollis Blanchard <hollis@penguinppc.org>
33408
33409 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
33410 (HEAP_LIMIT): New macro.
33411 (grub_claim_heap): Claim memory up to `heaplimit'.
33412
a0cbb023 334132007-02-21 Hollis Blanchard <hollis@penguinppc.org>
33414
33415 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
33416 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
33417 (_start): Likewise.
33418 (grub_arch_modules_addr): Return address after `_end'.
33419 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
33420 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
33421 (add_segments): Calculate `_end' from phdr size and location.
33422 (ALIGN_UP): Moved to ...
33423 * include/grub/misc.h: here.
33424 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
33425 New macro.
33426 (GRUB_IEEE1275_MODULE_BASE): Removed.
33427
fd7d8eba 334282007-02-20 Hollis Blanchard <hollis@penguinppc.org>
33429
33430 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
33431 loop boundary.
33432
9b09e6fc 334332007-02-20 Hollis Blanchard <hollis@penguinppc.org>
33434
33435 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
33436 All users updated.
33437 (grub_elf64_load_hook_t): Likewise.
33438 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
33439 debug output.
33440
3ce27299 334412007-02-20 Hollis Blanchard <hollis@penguinppc.org>
33442
33443 * kern/mm.c: Update copyright.
33444 (grub_mm_debug): Correct syntax error.
33445 (grub_mm_dump_free): New function.
33446 (grub_debug_free): Call `grub_free'.
33447 * include/grub/mm.h: Update copyright.
33448 (grub_mm_dump_free): Add declaration.
33449
077d5fee 334502007-02-12 Hollis Blanchard <hollis@penguinppc.org>
33451
33452 * include/grub/ieee1275/ieee1275.h: Update copyright.
33453 * kern/powerpc/ieee1275/init.c: Likewise.
33454 * kern/powerpc/ieee1275/openfw.c: Likewise.
33455
33456 * loader/powerpc/ieee1275/linux.c: Likewise.
33457 * include/grub/elfload.h: Likewise.
33458 * kern/elf.c: Likewise.
33459 (grub_elf32_load): Pass `base' and `size' parameters. Update all
33460 callers.
33461 (grub_elf64_load): Likewise.
33462 (grub_elf32_load_segment): Move to a nested function.
33463 (grub_elf64_load_segment): Likewise.
33464
dc946850 334652007-02-12 Hollis Blanchard <hollis@penguinppc.org>
33466
33467 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
33468 prototype.
33469 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
33470 (grub_heap_len): Likewise.
33471 (HEAP_SIZE): New macro.
33472 (grub_claim_heap): New function.
33473 (grub_machine_init): Don't claim heap directly. Call
33474 `grub_claim_heap'.
33475 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
33476 (grub_available_iterate): New function.
33477
baa2a121 334782007-02-03 Thomas Schwinge <tschwinge@gnu.org>
33479
33480 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
33481 * configure.ac: Use it for testing the HOST and TARGET compilers.
33482
4fe9862e 334832006-12-13 Thomas Schwinge <tschwinge@gnu.org>
33484
33485 * Makefile.in (enable_grub_emu): New variable.
33486 * configure.ac (--enable-grub-emu): New option.
33487 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
33488 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
33489 * conf/i386-pc.rmk: Likewise.
33490 * conf/powerpc-ieee1275.rmk: Likewise.
33491 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
33492
a8aa5762 334932006-12-12 Marco Gerards <marco@gnu.org>
33494
33495 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
33496
33497 * kern/env.c (grub_env_unset): Don't free the member `value' when
33498 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
33499 pointer.
33500
33501 * normal/main.c (current_menu): Removed.
33502 (free_menu): Unset the `menu' environment variable.
33503 (grub_normal_menu_addentry): Make use of the environment variable
33504 `menu', instead of using the global `current_menu'. Allocate
33505 memory for the sourcecode of this entry.
33506 (read_config_file): New argument `nested', changed all callers.
33507 Only in the case of a new context, initialize a new menu. Set the
33508 `menu' environment variable.
33509 (grub_normal_execute): Don't set and unset the environment
33510 variable `menu' here anymore. Only free the menu when leaving the
33511 context.
33512
33513 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
33514 leak.
33515
957b3a3e 335162006-12-11 Marco Gerards <marco@gnu.org>
33517
33518 * normal/menu_entry.c (run): Fix off by one bug so the last line
33519 is executed. Move the loader check to outside the loop.
33520
ef875714 335212006-12-08 Hollis Blanchard <hollis@penguinppc.org>
33522
33523 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
33524
4e739985 335252006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
33526
33527 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
33528 the number of sectors. Reported by Andrey Shuvikov
33529 <mr_hyro@yahoo.com>.
f19dbdb7 33530
790707f2 335312006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
33532
33533 * kern/disk.c (grub_disk_read): When there is a read error, always
33534 try to read only the necessary data.
f19dbdb7 33535
790707f2 33536 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
33537 disk/raid.c.
33538 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
33539 prototype.
33540 [GRUB_UTIL] (grub_raid_fini): Likewise.
33541 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 33542 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 33543 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
33544 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
33545 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
33546 and grub_raid_fini().
f19dbdb7 33547
03e58196 335482006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
33549
33550 * include/grub/types.h (__unused): Rename to UNUSED.
33551 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
33552 (grub_elf64_size): Likewise.
f19dbdb7 33553
ae4f23bf 335542006-11-03 Hollis Blanchard <hollis@penguinppc.org>
33555
33556 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
33557 grub_error_push and grub_error_pop in the error-handling path.
33558 (grub_elf32_load_segment): Only call grub_file_read with non-zero
33559 length.
33560
2166cc83 335612006-11-03 Hollis Blanchard <hollis@penguinppc.org>
33562
33563 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
33564 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33565 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33566 (kernel_elf_SOURCES): Likewise.
33567 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
33568 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
33569 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
33570 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
33571 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
33572 (elf_mod_SOURCES): New variable.
33573 (elf_mod_CFLAGS): Likewise.
33574 (elf_mod_LDFLAGS): Likewise.
33575 * include/grub/types.h (__unused): New macro.
33576 * include/grub/elfload.h: New file.
33577 * kern/elf.c: Likewise.
33578 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
33579 (ELF32_LOADMASK): New macro.
33580 (ELF64_LOADMASK): Likewise.
33581 (vmlinux): Removed.
33582 (grub_linux_load32): New function.
33583 (grub_linux_load64): Likewise.
33584 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
33585 Use grub_elf_t instead of grub_file_t.
33586
a09d5aa5 335872006-11-02 Hollis Blanchard <hollis@penguinppc.org>
33588
33589 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
33590 `catch_result' to struct set_color_args.
33591
d976fc51 335922006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
33593
33594 * normal/menu.c: Include grub/script.h.
33595 * normal/menu_entry.c: Likewise.
33596 * include/grub/normal.h: Do not include grub/script.h.
33597
67507549 335982006-10-27 Hollis Blanchard <hollis@penguinppc.org>
33599
33600 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
33601
69203a99 336022006-10-27 Hollis Blanchard <hollis@penguinppc.org>
33603
33604 * kern/disk.c (grub_disk_open): Print debug messages when opening a
33605 disk.
33606 (grub_disk_close): Print debug messages when closing a disk.
33607 (grub_disk_read): Print debug messages when disk read fails.
33608 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
33609 filesystem type.
33610 * kern/partition.c: Include misc.h.
33611 (grub_partition_iterate): Print debug messages when detecting
33612 partition type.
33613
e2b8278c 336142006-10-27 Hollis Blanchard <hollis@penguinppc.org>
33615
33616 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
33617 is negative.
33618 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
33619
97b2f2ff 336202006-10-26 Hollis Blanchard <hollis@penguinppc.org>
33621
33622 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
33623 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
33624
6555d655 336252006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
33626
33627 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
33628 instead of sizeof(lv). Patch by Michael Guntsche.
33629
4d42b77f 336302006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
33631
33632 * disk/lvm.c: Rename VGS to VG_LIST.
33633 (grub_lvm_iterate): Change VGS->LV to VG-LV.
33634 (grub_lvm_open): Likewise.
33635 Thanks to Michael Guntsche for finding this bug.
33636
5d74d927 336372006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
33638
33639 * configure.ac (AC_INIT): Bumped to 1.95.
33640
a1bb27e4 336412006-10-14 Robert Millan <rmh@aybabtu.com>
33642
33643 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
33644 with "/dev/.static/dev/md".
33645
e0994b8b 336462006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
33647
33648 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
33649 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
33650 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
33651 DRIVE_NAME are always freed.
33652
33653 * util/i386/pc/biosdisk.c (make_device_name): Add one into
33654 DOS_PART, as a DOS partition is counted from one instead of zero
33655 now. Reported by Robert Millan.
33656
ddd5cee9 336572006-10-14 Robert Millan <rmh@aybabtu.com>
33658
33659 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
33660 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
33661 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
33662 string returned by grub_guess_root_device.
33663 * util/i386/pc/grub-setup.c: Likewise.
33664 * util/i386/pc/grub-probefs.c: Likewise.
33665
33666 * util/i386/pc/grub-probefs.c: Rename to ...
33667 * util/i386/pc/grub-probe.c: ... this.
33668 * DISTLIST: Remove grub-probefs, add grub-probe.
33669 * conf/i386-efi.rmk: Likewise.
33670 * conf/i386-pc.rmk: Likewise.
33671 * util/i386/pc/grub-install.in: Likewise.
33672
33673 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
33674 choose which information we want to print.
33675
2b002173 336762006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
33677
33678 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
33679 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
33680 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
33681 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
33682 video/readers/tga.c and video/i386/pc/vbeutil.c.
33683
336842006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
33685
33686 Added support for RAID and LVM.
f19dbdb7 33687
2b002173 33688 * disk/lvm.c: New file.
33689 * disk/raid.c: Likewise.
33690 * include/grub/lvm.h: Likewise.
f19dbdb7 33691 * include/grub/raid.h: Likewise.
2b002173 33692 * include/grub/util/lvm.h: Likewise.
33693 * include/grub/util/raid.h: Likewise.
33694 * util/lvm.c: Likewise.
33695 * util/raid.c: Likewise.
33696
33697 * include/grub/disk.h (grub_disk_dev_id): Add
33698 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
33699 (grub_disk_get_size): New prototype.
33700 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
33701 returns a partition.
33702 (grub_disk_get_size): New function.
f19dbdb7 33703
2b002173 33704 * kern/i386/pc/init.c (make_install_device): Copy the prefix
33705 verbatim if grub_install_dos_part is -2.
33706
33707 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
33708 and LVM devices.
33709
33710 * util/i386/pc/grub-setup.c (setup): New argument
33711 MUST_EMBED. Force embedding of GRUB when the argument is
33712 true. Close FILE before returning.
33713 (main): Add support for RAID and LVM.
f19dbdb7 33714
2b002173 33715 * conf/common.rmk: Add RAID and LVM modules.
33716 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
33717 util/lvm.c.
33718 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
33719
33720 * kern/misc.c (grub_strstr): New function.
33721 * include/grub/misc.h (grub_strstr): New prototype.
33722
050548d0 337232006-10-10 Tristan Gingold <tristan.gingold@bull.net>
33724
33725 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
33726
da849d2d 337272006-10-05 Tristan Gingold <tristan.gingold@bull.net>
33728
33729 * kern/misc.c (grub_strtoull): Guess the base only if not
33730 specified.
33731
97b2f2ff 337322006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 33733
33734 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
33735 PowerMac support.
33736
97b2f2ff 337372006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 33738
33739 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
33740
33741 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
33742 Remove `flags' argument. All callers changed.
33743 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
33744 (IEEE1275_IHANDLE_INVALID): New variable.
33745 (IEEE1275_CELL_INVALID): New variable.
33746 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
33747 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
33748 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
33749 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
33750 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
33751 codes from Open Firmware. All callers updated.
33752 (grub_ieee1275_next_property): Directly return Open Firmware return
33753 code.
33754 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
33755 Standardize error checking from `grub_ieee1275_get_property'.
33756 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
33757 `devalias' to `aliases'. Correct comments. Consolidate error paths.
33758
97b2f2ff 337592006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 33760
33761 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
33762 `instance_to_package_args' to `instance_to_path_args'.
33763
33764 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
33765 `grub_ieee1275_chosen'.
33766
33767 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
33768 `grub_ieee1275_interpret'.
33769
97b2f2ff 337702006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 33771
33772 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
33773
97b2f2ff 337742006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 33775
33776 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
33777 (__cmpdi): Likewise.
33778
33779 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
33780 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
33781 `grub_ssize_t'.
33782
02bb8acc 33783 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 33784
33785 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
33786 to type `grub_ssize_t'.
33787 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
33788
7f9a8531 337892006-09-22 Marco Gerards <marco@gnu.org>
33790
33791 * normal/script.c (grub_script_create_cmdmenu): Skip leading
33792 newlines.
33793
b5ef1102 337942006-09-22 Marco Gerards <marco@gnu.org>
33795
33796 * commands/echo.c: New file.
33797
33798 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
33799
33800 * conf/common.rmk (echo_mod_SOURCES): New variable.
33801 (echo_mod_CFLAGS): Likewise.
33802 (echo_mod_LDFLAGS): Likewise.
33803
2cff3677 338042006-09-22 Marco Gerards <marco@gnu.org>
33805
33806 * normal/main.c (get_line): Malloc memory instead of using
33807 preallocated memory. Removed the arguments `cmdline' and
33808 `max_len'. Updated all callers.
33809
6ba4688b 338102006-09-22 Marco Gerards <marco@gnu.org>
33811
33812 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
33813 (normal_mod_DEPENDENCIES): Likewise.
33814
33815 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
33816 (normal_mod_DEPENDENCIES): Likewise.
33817
33818 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
33819
e02ac02c 338202006-09-22 Johan Rydberg <jrydberg@gnu.org>
33821
33822 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
33823 programs.
33824 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
33825 (normal_mod_DEPENDENCIES): Likewise.
33826 * conf/i386-pc.mk: Regenerate.
33827 * conf/i386-efi.mk: Likewise
33828 * conf/common.mk: Likewise.
33829 * conf/powerpc-ieee1275.mk: Likewise.
33830 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 33831
8d252e44 338322006-09-22 Robert Millan <rmh@aybabtu.com>
33833
33834 Sync with i386 version.
33835 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
33836 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
33837
209bf7ac 338382006-09-21 Robert Millan <rmh@aybabtu.com>
33839
33840 Import from GRUB Legacy (lib/device.c):
33841 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
33842 (init_device_map) [__linux__]: Add support for I2O devices.
33843
6b146090 338442006-09-14 Marco Gerards <marco@gnu.org>
33845
33846 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
33847 `-melf_i386'.
33848
e38600a8 338492006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 33850
33851 * util/i386/pc/grub-install.in: Skip menu.lst when removing
33852 /boot/grub/*.lst.
78fa1790 33853
2952da5d 33854 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 33855
2952da5d 33856 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
33857 before adding it to device.map.
33858
01b82a64 338592006-08-15 Johan Rydberg <jrydberg@gnu.org>
33860
fe6b695a 33861 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 33862 compiles a file; using the -MD option.
33863 * conf/common.mk: Regenerate.
33864 * conf/i386-pc.mk: Likewise.
33865 * conf/i386-efi.mk: Likewise.
33866 * conf/powerpc-ieee1275.mk: Likewise.
33867 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 33868
1064790d 338692006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
33870
33871 Move the prototypes of grub_setjmp and grub_longjmp to
33872 cpu/setjmp.h, so that each architecture may specify different
33873 attributes.
f19dbdb7 33874
1064790d 33875 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
33876 (grub_longjmp): Likewise.
33877 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
33878 (grub_longjmp): Likewise.
33879 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
33880 (grub_longjmp): Likewise.
33881
33882 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
33883 [!GRUB_UTIL] (grub_longjmp): Removed.
33884
29dda3ed 338852006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
33886
33887 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
33888 "color!" method does not return any value.
33889
ad2a06ed 338902006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
33891
33892 * include/grub/bitmap.h: New file.
33893
33894 * include/grub/i386/pc/vbeutil.h: Likewise.
33895
33896 * video/bitmap.c: Likewise.
33897
33898 * video/readers/tga.c: Likewise.
33899
33900 * video/i386/pc/vbeutil.c: Likewise.
33901
33902 * commands/videotest.c: Code cleanup and updated to reflect to new
33903 video API.
33904
33905 * term/gfxterm.c: Likewise.
33906
33907 * video/video.c: Likewise.
33908
33909 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
33910 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
33911 (bitmap_mod_SOURCES): New entry.
33912 (bitmap_mod_CFLAGS): Likewise.
33913 (bitmap_mod_LDFLAGS): Likewise.
33914 (tga_mod_SOURCES): Likewise.
33915 (tga_mod_CFLAGS): Likewise.
33916 (tga_mod_LDFLAGS): Likewise.
33917
33918 * include/grub/video.h (grub_video_blit_operators): New enum type.
33919 (grub_video_render_target): Changed as forward declaration and moved
33920 actual definition to be video driver specific.
33921 (grub_video_adapter.blit_bitmap): Added blitting operator.
33922 (grub_video_adapter.blit_render_target): Likewise.
33923 (grub_video_blit_bitmap): Likewise.
33924 (grub_video_blit_render_target): Likewise.
33925
33926 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
33927 driver specific render target definition.
33928 (grub_video_vbe_map_rgba): Added driver internal helper.
33929 (grub_video_vbe_unmap_color): Updated to use
33930 grub_video_i386_vbeblit_info.
33931 (grub_video_vbe_get_video_ptr): Likewise.
33932
33933 * include/grub/i386/pc/vbeblit.h
33934 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
33935 grub_video_i386_vbeblit_info.
33936 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
33937 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
33938 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
33939 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
33940 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
33941 (grub_video_i386_vbeblit_index_index): Likewise.
33942 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
33943 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
33944 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
33945 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
33946 operator.
33947 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
33948 operator.
33949
33950 * video/i386/pc/vbeblit.c: Updated to reflect changes on
33951 include/grub/i386/pc/vbeblit.h.
33952
33953 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
33954 Updated to use grub_video_i386_vbeblit_info.
33955 (grub_video_i386_vbefill_R8G8B8): Likewise.
33956 (grub_video_i386_vbefill_index): Likewise.
33957 (grub_video_i386_vbefill): Added generic filler.
33958
33959 * video/i386/pc/vbefill.c: Updated to reflect changes on
33960 include/grub/i386/pc/vbefill.h.
33961
33962 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
33963 grub_video_i386_vbeblit_info.
33964 (grub_video_vbe_unmap_color): Likewise.
33965 (grub_video_vbe_blit_glyph): Likewise.
33966 (grub_video_vbe_scroll): Likewise.
33967 (grub_video_vbe_draw_pixel): Removed function.
33968 (grub_video_vbe_get_pixel): Likewise.
33969 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
33970 updated code to use it.
33971 (common_blitter): Added common blitter for render target and bitmap.
33972 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
33973 (grub_video_vbe_blit_render_target): Likewise.
33974
bc8c036d 339752006-07-30 Johan Rydberg <jrydberg@gnu.org>
33976
33977 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
33978 is in text mode if there is no console control protocol instance
33979 available.
33980
684a8eff 339812006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
33982
33983 * include/grub/video.h: Code cleanup.
33984
33985 * include/grub/i386/pc/vbe.h: Likewise.
33986
33987 * video/i386/pc/vbe.c: Likewise.
33988
33989 * video/i386/pc/vbeblit.c: Likewise.
33990
33991 * video/i386/pc/vbefill.c: Likewise.
33992
33993 * video/video.c: Likewise. Also added more comments.
33994
5915059b 339952006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
33996
33997 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
33998 (struct grub_biosdisk_dap): Likewise.
33999
34000 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
34001 linkage settings for all functions.
34002
90ce5d56 340032006-07-12 Marco Gerards <marco@gnu.org>
34004
34005 * configure.ac (--enable-mm-debug): Fix typo.
34006
34007 * genkernsyms.sh.in: Use proper quoting for `CC'.
34008
43e7f879 340092006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
34010
34011 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
34012 (normal_mod_ASFLAGS): Remove "-m32".
34013
4889bdec 340142006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
34015
34016 * util/misc.c: Include config.h.
34017 [!HAVE_MEMALIGN]: Do not include malloc.h.
34018 (grub_memalign): Use posix_memalign, if present. Then, use
34019 memalign, if present. Otherwise, emit an error.
34020
34021 * util/grub-emu.c: Do not include malloc.h.
34022
34023 * include/grub/util/misc.h: Include unistd.h. This is required for
34024 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
34025 D. Eades III <hde@foobar-qux.org>.
34026
34027 * configure.ac (AC_GNU_SOURCE): Added.
34028 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
34029 type.
34030
fd39d4da 340312006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
34032
34033 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
34034 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
34035
b786f3b5 340362006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
34037
34038 * include/grub/types.h (grub_host_addr_t): Rename to
34039 grub_target_addr_t.
34040 (grub_host_off_t): Rename to grub_target_off_t.
34041 (grub_host_size_t): Rename to grub_target_size_t.
34042 (grub_host_ssize_t): Rename to grub_target_ssize_t.
34043 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
34044
34045 * include/grub/kernel.h (struct grub_module_header): Change type
34046 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
34047 (grub_module_info): Likewise.
f19dbdb7 34048
051988bb 340492006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
34050
34051 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
34052 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
34053 Velazquez <jesus.velazquez@gmail.com>.
34054
deae281b 340552006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
34056
34057 Count partitions from 1 instead of 0 in the string representation
34058 of partitions. Still use 0-based internally.
f19dbdb7 34059
deae281b 34060 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
34061 (sun_partition_map_iterate): Use grub_partition_t instead of
34062 struct grub_partition *. Cast DESC->START_CYLINDER to
34063 grub_uint64_t after converting the endian.
34064 (sun_partition_map_probe): Subtract 1 for PARTNUM.
34065 (sun_partition_map_get_name): Add 1 to P->INDEX.
34066
34067 * partmap/pc.c (grub_partition_parse): Subtract 1 for
34068 PCDATA->DOS_PART.
34069 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
34070
34071 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
34072 zero instead of one.
34073 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
34074 (gpt_partition_map_get_name): Add 1 into P->INDEX.
34075
34076 * partmap/apple.c (apple_partition_map_iterate): Change the type
34077 of POS to unsigned.
34078 (apple_partition_map_probe): Subtract 1 for PARTNUM.
34079 (apple_partition_map_get_name): Add 1 into P->INDEX.
34080
34081 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
34082 of POS to unsigned.
34083 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
34084 calculate the offset of a partition.
34085 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
34086 (amiga_partition_map_get_name): Add 1 into P->INDEX.
34087
34088 * partmap/acorn.c (acorn_partition_map_find): Change the type of
34089 SECTOR to grub_disk_addr_t.
34090 (acorn_partition_map_iterate): Likewise.
34091 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
34092 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
34093 top.
34094 (acorn_partition_map_get_name): Add 1 into P->INDEX.
34095
34096 * kern/i386/pc/init.c (make_install_device): Add 1 into
34097 GRUB_INSTALL_DOS_PART.
34098
34099 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
34100 conditional.
34101
524a1e6a 341022006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
34103
34104 Clean up the code to support 64-bit addressing in disks and
34105 files. This change is not enough for filesystems yet.
f19dbdb7 34106
524a1e6a 34107 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
34108 type of "start" to grub_uint64_t.
34109 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
34110 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
34111 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
34112 convert addresses.
34113
34114 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
34115 to grub_disk_addr_t.
34116
34117 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
34118 string.
34119
34120 * partmap/pc.c (pc_partition_map_iterate): Likewise.
34121
34122 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
34123 to char *.
34124
34125 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
34126
34127 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
34128
34129 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
34130
34131 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
34132 to grub_off_t, to detect an error from grub_file_seek.
34133 (grub_multiboot_load_elf32): Likewise.
34134
34135 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
34136 maximum unsigned long value when an overflow is detected.
34137 (grub_strtoull): New function.
34138 (grub_divmod64): Likewise.
34139 (grub_lltoa): use grub_divmod64.
34140
34141 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
34142 grub_disk_addr_t.
34143 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
34144 the pointer to next character. Use grub_strtoull instead of
34145 grub_strtoul.
34146 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
34147 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
34148 respectively.
34149
fe6b695a 34150 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 34151 return value is signed.
34152 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
34153 test if OFFSET is less than zero, as OFFSET is unsigned now.
34154
34155 * kern/disk.c (struct grub_disk_cache): Change the type of
34156 "sector" to grub_disk_addr_t.
34157 (grub_disk_cache_get_index): Change the type of SECTOR to
34158 grub_disk_addr_t. Calculate the hash with SECTOR casted to
34159 unsigned after shifting.
34160 (grub_disk_cache_invalidate): Change the type of SECTOR to
34161 grub_disk_addr_t.
34162 (grub_disk_cache_unlock): Likewise.
34163 (grub_disk_cache_store): Likewise.
34164 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
34165 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
34166 grub_disk_addr_t and grub_uint64_t, respectively.
34167 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
34168 body, as the value of OFFSET is tweaked by
34169 grub_disk_check_range. Change the types of START_SECTOR, LEN and
34170 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
34171 respectively.
34172 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
34173 body, as the value of OFFSET is tweaked by
34174 grub_disk_check_range. Change the types of LEN and N to
34175 grub_size_t.
34176
34177 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
34178 and "saved_offset" to grub_off_t.
34179 (test_header): Cast BUF to char *.
34180 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
34181 to char *.
34182 (grub_gzio_read): Change the types of OFFSET and SIZE to
34183 grub_off_t and grub_size_t, respectively.
34184
34185 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
34186 Removed.
34187 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
34188 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
34189 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
34190 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
34191 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
34192
34193 * include/grub/types.h (grub_off_t): Unconditionally set to
34194 grub_uint64_t.
34195 (grub_disk_addr_t): Changed to grub_uint64_t.
34196
34197 * include/grub/partition.h (struct grub_partition): Change the
34198 types of "start", "len" and "offset" to grub_disk_addr_t,
34199 grub_uint64_t and grub_disk_addr_t, respectively.
34200 (grub_partition_get_start): Return grub_disk_addr_t.
34201 (grub_partition_get_len): Return grub_uint64_t.
34202
34203 * include/grub/misc.h (grub_strtoull): New prototype.
34204 (grub_divmod64): Likewise.
34205
34206 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
34207 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
34208 grub_off_t, respectively.
34209 All callers and references changed.
34210
34211 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
34212 grub_size_t in "read".
34213 All callers and references changed.
34214
34215 * include/grub/file.h (struct grub_file): Change the types of
34216 "offset" and "size" to grub_off_t and grub_off_t,
34217 respectively. Change the type of SECTOR to grub_disk_addr_t in
34218 "read_hook".
34219 (grub_file_read): Change the type of LEN to grub_size_t.
34220 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
34221 grub_off_t.
34222 (grub_file_size): Return grub_off_t.
34223 (grub_file_tell): Likewise.
34224 All callers and references changed.
34225
34226 * include/grub/disk.h (struct grub_disk_dev): Change the types of
34227 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
34228 "write".
34229 (struct grub_disk): Change the type of "total_sectors" to
34230 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 34231 "read_hook".
524a1e6a 34232 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
34233 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
34234 (grub_disk_write): Likewise.
34235 All callers and references changed.
34236
34237 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
34238 char * for grub_strncmp to silence gcc.
34239 (grub_iso9660_mount): Likewise.
34240 (grub_iso9660_mount): Likewise.
34241 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
34242 return statement.
34243 (grub_iso9660_iterate_dir): Likewise.
34244 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
34245
34246 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
34247 LEN to grub_disk_addr_t and grub_size_t, respectively.
34248
34249 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
34250
34251 * fs/jfs.c (grub_jfs_read_file): Likewise.
34252
34253 * fs/minix.c (grub_jfs_read_file): Likewise.
34254
34255 * fs/sfs.c (grub_jfs_read_file): Likewise.
34256
34257 * fs/ufs.c (grub_jfs_read_file): Likewise.
34258
34259 * fs/xfs.c (grub_jfs_read_file): Likewise.
34260
34261 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
34262 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
34263 respectively.
34264
34265 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
34266 BLKNR to -1 instead of returning GRUB_ERRNO.
34267 (grub_ext2_read_file): Change the types of SECTOR and
34268 LEN to grub_disk_addr_t and grub_size_t, respectively.
34269
34270 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
34271 LEN to grub_disk_addr_t and grub_size_t, respectively.
34272
34273 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
34274 grub_file_read.
34275
34276 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
34277 string. Do not cast SECTOR explicitly.
34278
34279 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
34280 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
34281 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
34282 grub_disk_addr_t and grub_size_t, respectively. If the sector is
34283 over 2TB and LBA mode is not supported, raise an error.
34284 (get_safe_sectors): New function.
34285 (grub_biosdisk_read): Use get_safe_sectors.
34286 (grub_biosdisk_write): Likewise.
34287
34288 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
34289 (grub_efidisk_write): Likewise.
34290
34291 * disk/loopback.c (delete_loopback): Cosmetic changes.
34292 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
34293 correctly.
34294 (grub_loopback_open): Likewise.
34295 (grub_loopback_read): Likewise. Also, change the type of POS to
34296 grub_off_t, and fix the usage of grub_memset.
34297
34298 * commands/i386/pc/play.c: Include grub/machine/time.h.
34299
34300 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
34301 print FILE->SIZE.
34302
34303 * commands/configfile.c: Include grub/env.h.
34304
34305 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
34306 GRUB_ERRNO directly instead. Change the type of POS to
34307 grub_off_t. Follow the coding standard.
34308
34309 * commands/blocklist.c: Include grub/partition.h.
34310 (grub_cmd_blocklist): Return an error if the underlying device is
34311 not a disk. Take the starting sector of a partition into account,
34312 if a partition is used.
34313
34314 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
34315 a length field.
34316 (lba_mode): Support 64-bit addresses.
34317 (chs_mode): Likewise.
34318 (copy_buffer): Adapted to the new offsets of a length field and a
34319 segment field.
34320 (blocklist_default_start): Allocate 64-bit space.
34321
34322 * boot/i386/pc/boot.S (force_lba): Removed.
34323 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 34324 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 34325 space.
34326 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
34327 is useless.
34328 (lba_mode): Refactored to support a 64-bit address. More size
34329 optimization.
34330 (setup_sectors): Likewise.
34331
53af98ad 343322006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
34333
34334 * DISTLIST: Added include/grub/i386/linux.h. Removed
34335 include/grub/i386/pc/linux.h
34336
34337 * configure.ac (AC_INIT): Bumped to 1.94.
34338
34339 * config.guess: Updated from gnulib.
34340 * config.sub: Likewise.
34341 * install-sh: Likewise.
34342 * mkinstalldirs: Likewise.
34343
b4c1940a 343442006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
34345
34346 * conf/common.rmk (grub_modules_init.lst): Depended on
34347 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
34348 MODSRCFILES.
34349
34350 * genmk.rb (PModule::rule): Reverted the previous change.
34351
cfca1cfd 343522006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
34353
34354 * conf/common.rmk (grub_modules_init.lst): Depends on
34355 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
34356 that the target does not exist before producing.
34357 (grub_modules_init.h): Remove the target before generating.
34358 (grub_emu_init.c): Likewise.
34359
34360 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
34361
aa6d7826 343622006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
34363
34364 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
34365 for the target-specific tests. Make sure that we also have the
34366 up-to-date target variables for those tests.
34367
26c607b9 343682006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
34369
34370 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
34371 (PModule::rule): Likewise.
34372
0162321a 343732006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
34374
34375 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
34376 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
34377 target-specific flags should be prefixed.
34378 (PModule::rule): Likewise.
34379
6c826348 343802006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
34381
34382 * configure.ac (CMP): Check if cmp is available explicitly.
34383
b977bf01 343842006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
34385
34386 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
34387 (target_cpu): New variable.
34388 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 34389
b977bf01 34390 * util/i386/pc/grub-install.in (host_cpu): Removed.
34391 (target_cpu): New variable.
34392 (pkglibdir): Use target_cpu instead of host_cpu.
34393
34394 * util/genmoddep.c: Removed.
f19dbdb7 34395
b977bf01 34396 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
34397 instead of GRUB_HOST_SIZEOF_VOID_P.
34398 * kern/dl.c: Likewise.
34399
34400 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
34401 ...
34402 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
34403 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
34404 (GRUB_TARGET_SIZEOF_LONG): ... this.
34405 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
34406 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
34407 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
34408 to ...
34409 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
34410 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
34411 (GRUB_TARGET_SIZEOF_LONG): ... this.
34412 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
34413 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
34414 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
34415 to ...
34416 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
34417 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
34418 (GRUB_TARGET_SIZEOF_LONG): ... this.
34419 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
34420 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
34421
34422 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
34423 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
34424 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
34425 instead of GRUB_HOST_SIZEOF_LONG.
34426 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
34427 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
34428 GRUB_CPU_WORDS_BIGENDIAN.
34429 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
34430 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
34431 grub_host_ssize_t.
34432
34433 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
34434 (genmoddep_SOURCES): Likewise.
34435 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
34436 (genmoddep_SOURCES): Likewise.
34437 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
34438 (genmoddep_SOURCES): Likewise.
34439 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
34440 Likewise.
34441 (genmoddep_SOURCES): Likewise.
34442
34443 * genmoddep.awk: New file.
34444
34445 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
34446 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
34447 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
34448 (PModule::rule): Likewise.
34449 (Program::rule): Likewise.
34450 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
34451 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
34452 respectively.
34453
34454 * configure.ac: Rewritten intensively to use host and target
34455 instead of build and host, respectively.
34456
34457 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
34458 (host_cpu): Removed.
34459 (target_cpu): New variable.
34460 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
34461 (BUILD_CC): Removed.
34462 (BUILD_CFLAGS): Likewise.
34463 (BUILD_CPPFLAGS): Likewise.
34464 (TARGET_CC): New variable.
34465 (TARGET_CFLAGS): Likewise.
34466 (TARGET_CPPFLAGS): Likewise.
34467 (TARGET_LDFLAGS): Likewise.
34468 (AWK): Likewise.
34469 (include): Use target_cpu instead of host_cpu.
34470 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 34471
b977bf01 34472 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
34473
f09771a1 344742006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
34475
34476 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
34477 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
34478 field 'false' to 'exec_on_false'.
34479 (grub_script_create_cmdif): Renamed argument names to reflect above
34480 changes.
34481
34482 * normal/execute.c (grub_script_execute_cmdif): Likewise.
34483
34484 * normal/script.c (grub_script_create_cmdif): Likewise.
34485
118f4fb3 344862006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
34487
34488 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
34489 top.
34490 (grub_hfsplus_btree_recptr): Likewise.
34491 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
34492 FILEBLOCK both to pass a block number and store next block
34493 number.
34494 (grub_hfsplus_read_block): Rewritten heavily to support an extent
34495 overflow file correctly. Specify errors appropriately, because
34496 fshelp expects that GRUB_ERRNO is set when fails. Reuse
34497 grub_hfsplus_btree_recptr to get the pointer to a found key.
34498 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
34499 is found.
34500
34501 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
34502 linux.mod.
34503 (_linux_mod_SOURCES): New variable.
34504 (_linux_mod_CFLAGS): Likewise.
34505 (_linux_mod_LDFLAGS): Likewise.
34506 (linux_mod_SOURCES): Likewise.
34507 (linux_mod_CFLAGS): Likewise.
34508 (linux_mod_LDFLAGS): Likewise.
34509
34510 * DISTLIST: Added loader/i386/efi/linux.c,
34511 loader/i386/efi/linux_normal.c and
34512 include/grub/i386/efi/loader.h.
34513
34514 * loader/i386/efi/linux.c: New file.
34515 * loader/i386/efi/linux_normal.c: Likewise.
34516 * include/grub/i386/efi/loader.h: Likewise.
34517
89a7d726 345182006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
34519
34520 * commands/blocklist.c: New file.
34521
34522 * DISTLIST: Added commands/blocklist.c.
34523
34524 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 34525 color for the background, and a darker color for the foreground.
89a7d726 34526 (grub_console_checkkey): Return READ_KEY.
34527 (grub_console_cls): Set the background to
34528 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
34529
34530 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
34531
34532 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
34533 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
34534
34535 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
34536 prototype.
34537
34538 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
34539 BG. The spec is wrong again.
34540
34541 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
34542 prototype.
34543 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
34544
34545 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
34546 commands/blocklist.c.
34547 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 34548
89a7d726 34549 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
34550 (blocklist_mod_SOURCES): New variable.
34551 (blocklist_mod_CFLAGS): Likewise.
34552 (blocklist_mod_LDFLAGS): Likewise.
34553
75c8f258 345542006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
34555
34556 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
34557 duplication.
34558 (lba_mode): Use %eax more intensively to reduce the code size.
34559
da2eb181 345602006-05-20 Marco Gerards <marco@gnu.org>
34561
34562 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
34563
34564 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
34565 for `menuentry'.
34566 (script): Accept leading newlines.
34567 (newlines): New rule to describe 0 or more newlines.
34568 (commands): Accept `command' with trailing newline. Fixed the
34569 order in which arguments were passed to `grub_script_add_cmd'.
34570 Accept commands separated by newlines.
34571 (function): Changed to accept newlines.
34572 (menuentry) Rewritten.
34573
34574 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
34575 front of the list, instead of to the end.
34576
577b4050 345772006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
34578
34579 * util/i386/pc/grub-install.in (bindir): New variable.
34580 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
34581 Shaver <lbgwjl@gmail.com>.
34582
0d6e1189 345832006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
34584
34585 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
34586 grub/machine/linux.h
34587 * loader/i386/pc/linux.c: Likewise.
34588
34589 * include/grub/i386/pc/linux.h: Moved to ...
34590 * include/grub/i386/linux.h: ... here.
34591
34592 * include/grub/i386/linux.h (struct linux_kernel_params): New
34593 struct.
f19dbdb7 34594
31b86e9f 345952006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
34596
34597 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
34598 checking.
34599 (grub_video_vbe_blit_glyph): Likewise.
34600 (grub_video_vbe_blit_bitmap): Likewise.
34601 (grub_video_vbe_blit_render_target): Likewise.
34602
83b984de 346032006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
34604
34605 * configure.ac (--with-platform): Properly quote the square
34606 brackets.
34607
5f0413bd 346082006-05-08 Marco Gerards <marco@gnu.org>
34609
34610 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
34611 this...
34612 (kernel_elf_HEADERS): ...to this. Updated all users.
34613 (grubof_symlist.c): Renamed from this...
34614 (kernel_elf_symlist.c): ...to this. Updated all users.
34615 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
34616 (grubof_SOURCES): Renamed from this...
34617 (kernel_elf_SOURCES): ...to this.
34618 (grubof_HEADERS): Renamed from this...
34619 (kernel_elf_HEADERS): ...to this.
34620 (grubof_CFLAGS): Renamed from this...
34621 (kernel_elf_CFLAGS): ...to this.
34622 (grubof_ASFLAGS): Renamed from this...
34623 (kernel_elf_ASFLAGS): ...to this.
34624 (grubof_LDFLAGS): Renamed from this...
34625 (kernel_elf_LDFLAGS): ...to this.
34626
34627 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
34628 this...
34629 (kernel_elf_HEADERS): ...to this. Updated all users.
34630 (grubof_symlist.c): Renamed from this...
34631 (kernel_elf_symlist.c): ...to this. Updated all users.
34632 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
34633 (grubof_SOURCES): Renamed from this...
34634 (kernel_elf_SOURCES): ...to this.
34635 (grubof_HEADERS): Renamed from this...
34636 (kernel_elf_HEADERS): ...to this.
34637 (grubof_CFLAGS): Renamed from this...
34638 (kernel_elf_CFLAGS): ...to this.
34639 (grubof_ASFLAGS): Renamed from this...
34640 (kernel_elf_ASFLAGS): ...to this.
34641 (grubof_LDFLAGS): Renamed from this...
34642 (kernel_elf_LDFLAGS): ...to this.
34643
34644 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
34645 `kernel.elf' instead of `grubof'.
34646
05568c2e 346472006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
34648
34649 Add --with-platform to configure. Use pkglibdir instead of
34650 pkgdatadir. This is reported by Roger Leigh.
34651
34652 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
34653 (host_vendor): Likewise.
34654 (host_os): Likewise.
34655 (pkgdatadir): Likewise.
34656 (platform): New variable.
34657 (pkglibdir): Likewise.
34658 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 34659
05568c2e 34660 * util/i386/pc/grub-install.in (datadir): Removed.
34661 (host_vendor): Likewise.
34662 (host_os): Likewise.
34663 (pkgdatadir): Likewise.
34664 (platform): New variable.
34665 (pkglibdir): Likewise.
34666 Use PKGLIBDIR instead of PKGDATADIR.
34667
34668 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
34669 instead of GRUB_DATADIR.
34670 (main): Likewise.
34671 * util/i386/pc/grub-mkimage.c (usage): Likewise.
34672 (main): Likewise.
34673 * util/i386/efi/grub-mkimage.c (usage): Likewise.
34674 (main): Likewise.
34675
34676 * configure.ac (--with-platform): New option.
34677 Use PLATFORM instead of HOST_VENDOR to specify a platform.
34678
34679 * Makefile.in: Include a makefile based on PLATFORM instead of
34680 HOST_VENDOR.
34681 (pkgdatadir): Not appended by the machine type.
34682 (pkglibdir): Appended by the machine type.
34683 (host_vendor): Removed.
34684 (platform): New variable.
34685 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
34686 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
34687 (uninstall): Likewise.
34688
4e93851c 346892006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
34690
34691 Use the environment context in the menu. Remove the commands
34692 "default" and "timeout", and use variables instead.
f19dbdb7 34693
4e93851c 34694 * normal/menu.c: Include grub/env.h.
34695 (print_entry): Cast TITLE to silence gcc.
34696 (get_timeout): New function.
34697 (set_timeout): Likewise.
34698 (get_entry_number): Likewise.
34699 (run_menu): Use a default entry, a fallback entry and a timeout
34700 in the environment variables "default", "fallback" and
34701 "timeout". Also, tweak the default entry if it is not within the
34702 current menu entries.
34703 (grub_menu_run): Use a fallback entry in the environment variable
34704 "fallback".
34705
34706 * normal/main.c (read_config_file): Do not initialize
34707 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
34708 NEWMENU->TIMEOUT.
34709 (grub_normal_execute): Use a data slot to store the menu.
34710
34711 * include/grub/normal.h (struct grub_menu): Removed default_entry,
34712 fallback_entry and timeout.
34713 (struct grub_menu_list): Removed.
34714 (grub_menu_list_t): Likewise.
34715 (struct grub_context): Likewise.
34716 (grub_context_t): Likewise.
34717 (grub_context_get): Likewise.
34718 (grub_context_get_current_menu): Likewise.
34719 (grub_context_push_menu): Likewise.
34720 (grub_context_pop_menu): Likewise.
34721 (grub_default_init): Likewise.
34722 (grub_default_fini): Likewise.
34723 (grub_timeout_init): Likewise.
34724 (grub_timeout_fini): Likewise.
34725
34726 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
34727 and timeout.mod.
34728 (normal_mod_SOURCES): Removed normal/context.c.
34729
34730 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
34731 commands/default.c, commands/timeout.c and normal/context.c.
34732 (normal_mod_SOURCES): Removed normal/context.c.
34733
34734 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
34735 commands/timeout.c and normal/context.c.
34736 (normal_mod_SOURCES): Removed normal/context.c.
34737
34738 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
34739 commands/default.c, commands/timeout.c and normal/context.c.
34740 (normal_mod_SOURCES): Removed normal/context.c.
34741
34742 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
34743 timeout.mod.
34744 (default_mod_SOURCES): Removed.
34745 (default_mod_CFLAGS): Likewise.
34746 (default_mod_LDFLAGS): Likewise.
34747 (timeout_mod_SOURCES): Removed.
34748 (timeout_mod_CFLAGS): Likewise.
34749 (timeout_mod_LDFLAGS): Likewise.
34750
34751 * DISTLIST: Removed commands/default.c, commands/timeout.c and
34752 normal/context.c.
34753
34754 * commands/default.c: Removed.
34755 * commands/timeout.c: Likewise.
34756 * normal/context.c: Likewise.
34757
1eb9cc1d 347582006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
34759
34760 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
34761
385bd9c1 347622006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
34763
34764 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
34765 "next" to "prev" for readability.
34766 (struct grub_env_sorted_var): New struct.
34767 (grub_env_context): Renamed to ...
34768 (initial_context): ... this.
34769 (grub_env_var_context): Renamed to ...
34770 (current_context): ... this.
34771 (grub_env_find): Look only at CURRENT_CONTEXT.
34772 (grub_env_context_open): Rewritten to copy exported variables from
34773 previous context.
34774 (grub_env_context_close): Rewritten according to the new
34775 scheme. Also, add an assertion to prevent the initial context from
34776 removed.
34777 (grub_env_insert): Removed the code for the sorted list.
34778 (grub_env_remove): Likewise.
34779 (grub_env_export): Simply mark the variable with
34780 GRUB_ENV_VAR_GLOBAL.
34781 (grub_env_set): A cosmetic change for naming consistency.
34782 (grub_env_get): Likewise.
34783 (grub_env_unset): Likewise.
34784 (grub_env_iterate): Rewritten to sort variables within this
34785 function.
34786 (grub_register_variable_hook): Fixed for naming consistency. Call
34787 grub_env_find again, only if NAME is not found at the first time.
34788 (mangle_data_slot_name): New function.
34789 (grub_env_set_data_slot): Likewise.
34790 (grub_env_get_data_slot): Likewise.
34791 (grub_env_unset_data_slot): Likewise.
34792
34793 * include/grub/env.h (grub_env_var_type): New enum.
34794 (GRUB_ENV_VAR_LOCAL): New constant.
34795 (GRUB_ENV_VAR_GLOBAL): Likewise.
34796 (GRUB_ENV_VAR_DATA): Likewise.
34797 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
34798 "type".
34799 (grub_env_set): Replace VAR with NAME for consistency.
34800 (grub_register_variable_hook): Likewise.
34801 (grub_env_export): Specify the name of the argument.
34802 (grub_env_set_data_slot): New prototype.
34803 (grub_env_get_data_slot): Likewise.
34804 (grub_env_unset_data_slot): Likewise.
34805
7f362539 348062006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
34807
34808 Extend the loader so that GRUB can accept a loader which comes
34809 back to GRUB when a loaded image exits. Also, this change adds
34810 support for a chainloader on EFI.
f19dbdb7 34811
7f362539 34812 * term/efi/console.c: Include grub/misc.h.
34813 (grub_console_checkkey): Display a scan code on the top for
34814 debugging. This will be removed once the EFI port gets stable.
34815 Correct the scan code mapping.
34816
34817 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
34818 allocate memory from larger regions, in order to reduce the number
34819 of allocated regions. Otherwise, the MacOSX loader panics.
34820 (filter_memory_map): Avoid less than 1MB for compatibility with
34821 other loaders.
34822 (add_memory_regions): Allocate from the tail of a region, if
34823 possible, to avoid allocating a region near to 1MB, for the MacOSX
34824 loader.
34825
34826 * kern/efi/init.c (grub_efi_set_prefix): Specify
34827 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
34828
34829 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
34830 argument IMAGE_HANDLE and specify it to get a loaded image.
34831 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
34832 grub_efi_get_loaded_image.
fe6b695a 34833 (grub_efi_get_filename): Divide the length by the size of
7f362539 34834 grub_efi_char16_t.
34835 (grub_efi_get_device_path): New function.
34836 (grub_efi_print_device_path): Print End Device Path nodes. Divide
34837 the length by the size of grub_efi_char16_t for a file path device
34838 path node.
34839
34840 * kern/loader.c (grub_loader_noreturn): New variable.
34841 (grub_loader_set): Accept a new argument NORETURN. Set
34842 GRUB_LOADER_NORETURN to NORETURN.
34843 All callers changed.
34844 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
34845 grub_machine_fini.
34846
34847 * include/grub/efi/efi.h (grub_efi_get_device_path): New
34848 prototype.
34849 (grub_efi_get_loaded_image): Take an argument to specify an image
34850 handle.
34851
34852 * include/grub/loader.h (grub_loader_set): Added one more argument
34853 NORETURN.
34854
34855 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
34856 instead of grub_efi_open_protocol.
34857 (grub_efidisk_get_device_name): Likewise.
34858 (grub_efidisk_close): Print a newline.
34859 (grub_efidisk_get_device_handle): Fixed to use
34860 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
34861 GRUB_EFI_DEVICE_PATH_TYPE.
34862
34863 * disk/efi/efidisk.c (device_path_guid): Moved to ...
34864 * kern/efi/efi.c (device_path_guid): ... here.
34865
34866 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
34867 chain.mod.
34868 (kernel_mod_HEADERS): Added efi/disk.h.
34869 (_chain_mod_SOURCES): New variable.
34870 (_chain_mod_CFLAGS): Likewise.
34871 (_chain_mod_LDFLAGS): Likewise.
34872 (chain_mod_SOURCES): Likewise.
34873 (chain_mod_CFLAGS): Likewise.
34874 (chain_mod_LDFLAGS): Likewise.
34875
34876 * DISTLIST: Added include/grub/efi/chainloader.h,
34877 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
34878
34879 * include/grub/efi/chainloader.h: New file.
34880 * loader/efi/chainloader.c: Likewise.
34881 * loader/efi/chainloader_normal.c: Likewise.
34882
c0111d6e 348832006-04-30 Marco Gerards <marco@gnu.org>
34884
34885 * commands/configfile.c (grub_cmd_source): New function.
34886 (GRUB_MOD_INIT): Register the commands `source' and `.'.
34887 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
34888
df5341da 348892006-04-30 Marco Gerards <marco@gnu.org>
34890
34891 * normal/execute.c (grub_script_execute_cmd): Change the return
34892 type to `grub_err_t'. Correctly return the error.
34893 (grub_script_execute_cmdline): In case a command line is not a
34894 command or a function, try to interpret it as an assignment.
34895
f85934bd 348962006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
34897
34898 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
34899 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
34900 skip a node whose name is obviously invalid as UTF-16,
34901 i.e. contains a NUL character. Stop the iteration when the last
34902 directory entry is found. Instead of using the return value of
34903 grub_hfsplus_btree_iterate_node, store the value in RET and use
34904 it, because the iterator can be stopped by the last directory
34905 entry.
34906
8f8a2cf8 349072006-04-30 Marco Gerards <marco@gnu.org>
34908
34909 * include/grub/env.h (grub_env_export): New prototype. Reported
34910 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
34911
a27e84ce 349122006-04-30 Marco Gerards <marco@gnu.org>
34913
34914 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
34915 size of the extents in a catalog file record.
34916
eaef0553 349172006-04-29 Marco Gerards <marco@gnu.org>
34918
34919 * commands/configfile.c (grub_cmd_configfile): Execute the
34920 configfile within its own context.
34921
34922 * include/grub/env.h (grub_env_context_open): New prototype.
34923 (grub_env_context_close): Likewise.
34924
34925 * kern/env.c (grub_env): Removed.
34926 (grub_env_sorted): Likewise.
34927 (grub_env_context): New variable.
34928 (grub_env_var_context): Likewise.
34929 (grub_env_find): Search both the active context and the global
34930 context.
34931 (grub_env_context_open): New function.
34932 (grub_env_context_close): Likewise.
34933 (grub_env_insert): Likewise.
34934 (grub_env_remove): Likewise.
34935 (grub_env_export): Likewise.
34936 (grub_env_set): Changed to use helper functions to avoid code
34937 duplication.
34938 (grub_env_iterate): Rewritten so both the current context and the
34939 global context are being used.
34940
34941 * normal/command.c (export_command): New function.
34942 (grub_command_init): Register the `export' function.
34943
7b455f4d 349442006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
34945
34946 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
34947 explicitly to suppress gcc's warnings.
34948 * fs/fat.c (grub_fat_find_dir): Likewise.
34949 (grub_fat_label): Likewise.
34950 * fs/xfs.c (grub_xfs_read_inode): Likewise.
34951 (grub_xfs_mount): Likewise.
34952 (grub_xfs_label): Likewise.
34953 * fs/affs.c (grub_affs_mount): Likewise.
34954 (grub_affs_label): Likewise.
34955 (grub_affs_iterate_dir): Likewise.
34956 * fs/sfs.c (grub_sfs_mount): Likewise.
34957 (grub_sfs_iterate_dir): Likewise.
34958 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
34959 * fs/hfs.c (grub_hfs_mount): Likewise.
34960 (grub_hfs_cmp_catkeys): Likewise.
34961 (grub_hfs_find_dir): Likewise.
34962 (grub_hfs_dir): Likewise.
34963 (grub_hfs_label): Likewise.
34964 * fs/jfs.c (grub_jfs_mount): Likewise.
34965 (grub_jfs_opendir): Likewise.
34966 (grub_jfs_getent): Likewise.
34967 (grub_jfs_lookup_symlink): Likewise.
34968 (grub_jfs_label): Likewise.
34969 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
34970 (grub_hfsplus_iterate_dir): Likewise.
34971 (grub_hfsplus_btree_iterate_node): Made static.
34972
34973 * util/grub-emu.c (prefix): New variable.
34974 (grub_machine_set_prefix): New function.
34975 (main): Do not set the environment variable "prefix" here. Only
34976 set PREFIX, which is used later by grub_machine_set_prefix.
34977
34978 * include/grub/video.h: Do not include grub/symbol.h.
34979 (grub_video_register): Not exported. This symbol is not defined in
34980 the kernel.
34981 (grub_video_unregister): Likewise.
34982 (grub_video_iterate): Likewise.
34983 (grub_video_setup): Likewise.
34984 (grub_video_restore): Likewise.
34985 (grub_video_get_info): Likewise.
34986 (grub_video_get_blit_format): Likewise.
34987 (grub_video_set_palette): Likewise.
34988 (grub_video_get_palette): Likewise.
34989 (grub_video_set_viewport): Likewise.
34990 (grub_video_get_viewport): Likewise.
34991 (grub_video_map_color): Likewise.
34992 (grub_video_map_rgb): Likewise.
34993 (grub_video_map_rgba): Likewise.
34994 (grub_video_fill_rect): Likewise.
34995 (grub_video_blit_glyph): Likewise.
34996 (grub_video_blit_bitmap): Likewise.
34997 (grub_video_blit_render_target): Likewise.
34998 (grub_video_scroll): Likewise.
34999 (grub_video_swap_buffers): Likewise.
35000 (grub_video_create_render_target): Likewise.
35001 (grub_video_delete_render_target): Likewise.
35002 (grub_video_set_active_render_target): Likewise.
35003
35004 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
35005 Undefined.
35006 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
35007
35008 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
35009 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35010 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35011 instead of $(srcdir)/genkernsyms.sh.
35012
35013 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
35014 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35015 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35016 instead of $(srcdir)/genkernsyms.sh.
35017
35018 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
35019 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35020 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35021 instead of $(srcdir)/genkernsyms.sh.
35022
35023 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
35024 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35025 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35026 instead of $(srcdir)/genkernsyms.sh.
35027
35028 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
35029 genkernsyms.sh.
35030
35031 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
35032 genkernsyms.sh.
35033 (gensymlist.sh): New target.
35034 (genkernsyms.sh): Likewise.
35035
35036 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
35037 genkernsyms.sh.in and gensymlist.sh.in.
35038
35039 * genkernsyms.sh: Removed.
35040 * gensymlist.sh: Likewise.
f19dbdb7 35041
7b455f4d 35042 * genkernsyms.sh.in: New file.
35043 * gensymlist.sh.in: Likewise.
35044
1885bb27 350452006-04-25 Hollis Blanchard <hollis@penguinppc.org>
35046
35047 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
35048 clobber "prefix", since we may have already set it manually.
35049
71538dff 350502006-04-25 Hollis Blanchard <hollis@penguinppc.org>
35051
35052 * kern/misc.c (abort): New alias for grub_abort.
35053
2965c7cc 350542006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
35055
35056 A new machine-specific function "grub_machine_set_prefix" is
35057 defined. This is called after loading modules, so that a prefix
35058 initialization can use modules. Also, this change adds an
35059 intensive debugging feature for the memory manager via the
35060 configure option "--enable-mm-debug".
f19dbdb7 35061
2965c7cc 35062 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
35063 PART.LEN.
35064
35065 * kern/sparc64/ieee1275/init.c (abort): Removed.
35066 (grub_stop): Likewise.
35067 (grub_exit): New function.
35068 (grub_set_prefix): Renamed to ...
35069 (grub_machine_set_prefix): ... this.
35070 (grub_machine_init): Do not call grub_set_prefix.
35071
35072 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
35073 (grub_machine_set_prefix): ... this.
35074 (grub_machine_init): Do not call grub_set_prefix.
35075
35076 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
35077 (grub_machine_init): Do not set the prefix here.
35078
35079 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
35080
35081 * kern/efi/init.c: Include grub/mm.h.
35082 (grub_efi_set_prefix): New function.
35083
35084 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
35085 (grub_efi_get_filename): New function.
35086 (grub_print_device_path): Renamed to ...
35087 (grub_efi_print_device_path): ... this.
35088
35089 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
35090 [MM_DEBUG] (grub_realloc): Likewise.
35091 [MM_DEBUG] (grub_free): Likewise.
35092 [MM_DEBUG] (grub_memalign): Likewise.
35093 [MM_DEBUG] (grub_mm_debug): New variable.
35094 [MM_DEBUG] (grub_debug_malloc): New function.
35095 [MM_DEBUG] (grub_debug_free): New function.
35096 [MM_DEBUG] (grub_debug_realloc): New function.
35097 [MM_DEBUG] (grub_debug_memalign): New function.
35098
35099 * kern/misc.c (grub_abort): Print a newline to distinguish
35100 the message.
35101
35102 * kern/main.c (grub_main): Call grub_machine_set_prefix and
35103 grub_set_root_dev after loading modules. This is necessary when
35104 setting a prefix depends on modules.
35105
35106 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
35107 (grub_efi_print_device_path): ... this.
35108 (grub_efi_get_filename): New prototype.
35109 (grub_efi_set_prefix): Likewise.
35110
35111 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
35112 and grub/disk.h.
35113 (grub_efidisk_get_device_handle): New prototype.
35114 (grub_efidisk_get_device_name): Likewise.
35115
35116 * include/grub/mm.h: Include config.h.
35117 (MM_DEBUG): Removed.
35118 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
35119 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
35120 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
35121 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
35122 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
35123 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
35124 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
35125 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
35126 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
35127
35128 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
35129
35130 * disk/efi/efidisk.c: Include grub/partition.h.
35131 (iterate_child_devices): New function.
35132 (add_device): First, compare only last device path nodes, so that
35133 devices are sorted by the types.
35134 (grub_efidisk_get_device_handle): New function.
35135 (grub_efidisk_get_device_name): Likewise.
35136
35137 * configure.ac (--enable-mm-debug): New option to enable the
35138 memory manager debugging feature. This makes the binary much
35139 bigger, so is disabled by default.
35140
9cacaa17 351412006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
35142
35143 Use grub_abort instead of grub_stop, and grub_exit must be
35144 define in each architecture now. Also, this change adds support
35145 for EFI disks.
f19dbdb7 35146
9cacaa17 35147 * util/i386/pc/grub-probefs.c: Include grub/term.h.
35148 (grub_getkey): New function.
35149 (grub_term_get_current): Likewise.
35150
35151 * util/i386/pc/grub-setup.c: Include grub/term.h.
35152 (grub_getkey): New function.
35153 (grub_term_get_current): Likewise.
35154
35155 * util/misc.c (grub_stop): Renamed to ...
35156 (grub_exit): ... this.
35157
35158 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
35159 (grub_exit): ... this.
35160 (grub_machine_init): Use grub_abort instead of abort.
35161 (grub_stop): Removed.
35162
35163 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
35164 abort.
35165
35166 * kern/i386/pc/startup.S (grub_exit): New function.
35167 (cold_reboot): New label.
35168
35169 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
35170 (grub_efi_init): Call grub_efidisk_init.
35171 (grub_efi_fini): Call grub_efidisk_fini.
35172
35173 * kern/efi/efi.c: Include grub/mm.h.
35174 (grub_efi_console_control_guid): Renamed to ...
35175 (console_control_guid): ... this.
35176 (grub_efi_loaded_image_guid): Renamed to ...
35177 (loaded_image_guid): ... this.
35178 (grub_efi_locate_handle): New function.
35179 (grub_efi_open_protocol): Likewise.
35180 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
35181 GRUB_EFI_CONSOLE_CONTROL_GUID.
35182 (grub_efi_exit): Removed.
35183 (grub_stop): Likewise.
35184 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
35185 (grub_exit): New function.
35186 (grub_print_device_path): Likewise.
35187
35188 * kern/rescue.c (grub_rescue_cmd_exit): New function.
35189 (grub_enter_rescue_mode): Register "exit".
35190
35191 * kern/misc.c (grub_real_dprintf): A cosmetic change.
35192 (grub_abort): New function.
35193
35194 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
35195
35196 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
35197
35198 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
35199
35200 * include/grub/efi/efi.h (grub_efi_exit): Removed.
35201 (grub_print_device_path): New prototype.
35202 (grub_efi_locate_handle): Likewise.
35203 (grub_efi_open_protocol): Likewise.
35204
35205 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
35206 * disk/efi/efidisk.c: Likewise.
35207
35208 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
35209
35210 * include/grub/efi/console_control.h
35211 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
35212
35213 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
35214 last 8 bytes as an array.
35215 (GRUB_EFI_DISK_IO_GUID): New macro.
35216 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
35217 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
35218 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
35219 grub_uint8_t.
35220 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
35221 (struct grub_efi_device_path): Rename the member "sub_type" to
35222 "subtype".
35223 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
35224 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
35225 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
35226 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
35227 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
35228 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
35229 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
35230 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
35231 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
35232 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
35233 (struct grub_efi_pci_device_path): New structure.
35234 (grub_efi_pci_device_path_t): New type.
35235 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
35236 (struct grub_efi_pccard_device_path): New structure.
35237 (grub_efi_pccard_device_path_t): New type.
35238 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
35239 (struct grub_efi_memory_mapped_device_path): New structure.
35240 (grub_efi_memory_mapped_device_path_t): New type.
35241 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
35242 (struct grub_efi_vendor_device_path): New structure.
35243 (grub_efi_vendor_device_path_t): New type.
35244 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
35245 (struct grub_efi_controller_device_path): New structure.
35246 (grub_efi_controller_device_path_t): New type.
35247 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
35248 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
35249 (struct grub_efi_acpi_device_path): New structure.
35250 (grub_efi_acpi_device_path_t): New type.
35251 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
35252 (struct grub_efi_expanded_acpi_device_path): New structure.
35253 (grub_efi_expanded_acpi_device_path_t): New type.
35254 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
35255 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
35256 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
35257 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
35258 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
35259 (struct grub_efi_atapi_device_path): New structure.
35260 (grub_efi_atapi_device_path_t): New type.
35261 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
35262 (struct grub_efi_fibre_channel_device_path): New structure.
35263 (grub_efi_fibre_channel_device_path_t): New type.
35264 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
35265 (struct grub_efi_1394_device_path): New structure.
35266 (grub_efi_1394_device_path_t): New type.
35267 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
35268 (struct grub_efi_usb_device_path): New structure.
35269 (grub_efi_usb_device_path_t): New type.
35270 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
35271 (struct grub_efi_usb_class_device_path): New structure.
35272 (grub_efi_usb_class_device_path_t): New type.
35273 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
35274 (struct grub_efi_i2o_device_path): New structure.
35275 (grub_efi_i2o_device_path_t): New type.
35276 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
35277 (struct grub_efi_mac_address_device_path): New structure.
35278 (grub_efi_mac_address_device_path_t): New type.
35279 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
35280 (struct grub_efi_ipv4_device_path): New structure.
35281 (grub_efi_ipv4_device_path_t): New type.
35282 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
35283 (struct grub_efi_ipv6_device_path): New structure.
35284 (grub_efi_ipv6_device_path_t): New type.
35285 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
35286 (struct grub_efi_infiniband_device_path): New structure.
35287 (grub_efi_infiniband_device_path_t): New type.
35288 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
35289 (struct grub_efi_uart_device_path): New structure.
35290 (grub_efi_uart_device_path_t): New type.
35291 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
35292 (struct grub_efi_vendor_messaging_device_path): New structure.
35293 (grub_efi_vendor_messaging_device_path_t): New type.
35294 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
35295 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
35296 (struct grub_efi_hard_drive_device_path): New structure.
35297 (grub_efi_hard_drive_device_path_t): New type.
35298 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
35299 (struct grub_efi_cdrom_device_path): New structure.
35300 (grub_efi_cdrom_device_path_t): New type.
35301 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
35302 (struct grub_efi_vendor_media_device_path): New structure.
35303 (grub_efi_vendor_media_device_path_t): New type.
35304 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
35305 (struct grub_efi_file_path_device_path): New structure.
35306 (grub_efi_file_path_device_path_t): New type.
35307 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
35308 (struct grub_efi_protocol_device_path): New structure.
35309 (grub_efi_protocol_device_path_t): New type.
35310 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
35311 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
35312 (struct grub_efi_bios_device_path): New structure.
35313 (grub_efi_bios_device_path_t): New type.
35314 (struct grub_efi_disk_io): New structure.
35315 (grub_efi_disk_io_t): New type.
35316 (struct grub_efi_block_io_media): New structure.
35317 (grub_efi_block_io_media_t): New type.
35318 (struct grub_efi_block_io): New structure.
35319 (grub_efi_block_io_t): New type.
35320
35321 * include/grub/misc.h (grub_stop): Removed.
35322 (grub_exit): New prototype.
35323 (grub_abort): Likewise.
35324
35325 * include/grub/disk.h (enum grub_disk_dev_id): Added
35326 GRUB_DISK_DEVICE_EFIDISK_ID.
35327
35328 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
35329 disk/efi/efidisk.c.
35330 (kernel_syms.lst): Remove the target if an error occurs.
35331
49986a9f 353322006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
35333
35334 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
35335 as it was simply too buggy.
35336
970d3b8a 353372006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
35338
35339 * kern/misc.c (grub_lltoa): New function.
35340 (grub_vsprintf): Added support for the long long suffix,
35341 i.e. "ll".
35342
ff04ec24 353432006-04-20 Hollis Blanchard <hollis@penguinppc.org>
35344
35345 * Makefile.in (LDFLAGS): Add variable.
35346 (LD): Remove variable.
35347 * configure.ac: Add -m32 to LDFLAGS.
35348 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
35349 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
35350 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
35351 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
35352 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
35353 variables.
35354 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
35355 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
35356 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
35357
37e5e1a4 353582006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
35359
35360 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
35361 length for unknown glyph.
35362
c352d8dd 353632006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
35364
2eab1c0d 35365 Add support for pre-loaded modules into the EFI port.
f19dbdb7 35366
2eab1c0d 35367 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
35368 completely. Accept one more argument DIR. The caller has changed.
35369
35370 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
35371
35372 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
35373 (grub_efi_loaded_image_guid): New variable.
35374 (grub_efi_get_loaded_image): New function.
35375 (grub_arch_modules_addr): Likewise.
35376
35377 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
35378 prototype.
35379
35380 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
35381 (struct grub_efi_loaded_image): New structure.
35382 (grub_efi_loaded_image_t): New type.
35383
353842006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 35385
c352d8dd 35386 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
35387 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
35388 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
35389
6d01d6b4 353902006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
35391
35392 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
35393
976a4ea0 353942006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
35395
35396 * DISTLIST: Added include/grub/efi/console.h,
35397 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
35398 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
35399
35400 * include/grub/efi/console.h: New file.
35401 * include/grub/efi/time.h: Likewise.
35402 * include/grub/i386/efi/kernel.h: Likewise.
35403 * kern/efi/init.c: Likewise.
35404 * kern/efi/mm.c: Likewise.
35405 * term/efi/console.c: Likewise.
f19dbdb7 35406
976a4ea0 35407 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
35408 (grub_stop): Removed.
35409 (grub_get_rtc): Likewise.
35410 (grub_machine_init): Simply call grub_efi_init.
35411 (grub_machine_fini): Call grub_efi_fini.
35412
35413 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
35414 (grub_efi_output_string): Removed.
35415 (grub_efi_stall): New function.
35416 (grub_stop): Likewise.
35417 (grub_get_rtc): Likewise.
35418
35419 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
35420 (grub_efi_stall): New prototype.
35421 (grub_efi_allocate_pages): Likewise.
35422 (grub_efi_free_pages): Likewise.
35423 (grub_efi_get_memory_map): Likewise.
35424 (grub_efi_mm_init): Likewise.
35425 (grub_efi_mm_fini): Likewise.
35426 (grub_efi_init): Likewise.
35427 (grub_efi_fini): Likewise.
35428
35429 * include/grub/i386/efi/time.h: Do not include
35430 grub/symbol.h. Include grub/efi/time.h.
35431 (GRUB_TICKS_PER_SECOND): Removed.
35432 (grub_get_rtc): Likewise.
35433
35434 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
35435 Added padding. The EFI spec is buggy.
35436 (GRUB_EFI_BLACK): New macro.
35437 (GRUB_EFI_BLUE): Likewise.
35438 (GRUB_EFI_GREEN): Likewise.
35439 (GRUB_EFI_CYAN): Likewise.
35440 (GRUB_EFI_RED): Likewise.
35441 (GRUB_EFI_MAGENTA): Likewise.
35442 (GRUB_EFI_BROWN): Likewise.
35443 (GRUB_EFI_LIGHTGRAY): Likewise.
35444 (GRUB_EFI_BRIGHT): Likewise.
35445 (GRUB_EFI_DARKGRAY): Likewise.
35446 (GRUB_EFI_LIGHTBLUE): Likewise.
35447 (GRUB_EFI_LIGHTGREEN): Likewise.
35448 (GRUB_EFI_LIGHTCYAN): Likewise.
35449 (GRUB_EFI_LIGHTRED): Likewise.
35450 (GRUB_EFI_LIGHTMAGENTA): Likewise.
35451 (GRUB_EFI_YELLOW): Likewise.
35452 (GRUB_EFI_WHITE): Likewise.
35453 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
35454 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
35455 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
35456 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
35457 (GRUB_EFI_BACKGROUND_RED): Likewise.
35458 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
35459 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
35460 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
35461 (GRUB_EFI_TEXT_ATTR): Likewise.
35462
35463 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
35464 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
35465 (kernel_mod_HEADERS): Added efi/time.h.
35466
83709125 354672006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
35468
35469 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
35470 include/grub/efi/api.h, include/grub/efi/console_control.h,
35471 include/grub/efi/efi.h, include/grub/efi/pe32.h,
35472 include/grub/i386/efi/time.h, kern/efi/efi.c,
35473 kern/i386/efi/init.c, kern/i386/efi/startup.S,
35474 and util/i386/efi/grub-mkimage.c.
35475
35476 * Makefile.in (RMKFILES): Added i386-efi.rmk.
35477
35478 * genmk.rb (PModule#rule): Do not export symbols if
35479 #{prefix}_EXPORTS is set to "no".
35480
35481 * conf/i386-efi.mk: New file.
35482 * conf/i386-efi.rmk: Likewise.
35483 * include/grub/efi/api.h: Likewise.
35484 * include/grub/efi/console_control.h: Likewise.
35485 * include/grub/efi/efi.h: Likewise.
35486 * include/grub/efi/pe32.h: Likewise.
35487 * include/grub/i386/efi/time.h: Likewise.
35488 * kern/efi/efi.c: Likewise.
35489 * kern/i386/efi/init.c: Likewise.
35490 * kern/i386/efi/startup.S: Likewise.
35491 * util/i386/efi/grub-mkimage.c: Likewise.
35492
354932006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 35494
35495 * include/grub/script.h: Include <grub/parser.h> and
35496 "grub_script.tab.h".
35497 (struct grub_lexer_param): New struct.
35498 (struct grub_parser_param): Likewise.
35499 (grub_script_create_arglist): Pass the state in an argument.
35500 (grub_script_add_arglist): Likewise.
35501 (grub_script_create_cmdline): Likewise.
35502 (grub_script_create_cmdblock): Likewise.
35503 (grub_script_create_cmdif): Likewise.
35504 (grub_script_create_cmdmenu): Likewise.
35505 (grub_script_add_cmd): Likewise.
35506 (grub_script_arg_add): Likewise.
35507 (grub_script_lexer_ref): Likewise.
35508 (grub_script_lexer_deref): Likewise.
35509 (grub_script_lexer_record_start): Likewise.
35510 (grub_script_lexer_record_stop): Likewise.
35511 (grub_script_mem_record): Likewise.
35512 (grub_script_mem_record_stop): Likewise.
35513 (grub_script_malloc): Likewise.
35514 (grub_script_yylex): Likewise.
35515 (grub_script_yyparse): Likewise.
35516 (grub_script_yyerror): Likewise.
35517 (grub_script_yylex): Likewise.
35518 (grub_script_lexer_init): Return the state.
35519
35520 * normal/lexer.c (grub_script_lexer_state): Removed variable.
35521 (grub_script_lexer_done): Likewise.
35522 (grub_script_lexer_getline): Likewise.
35523 (grub_script_lexer_refs): Likewise.
35524 (script): Likewise.
35525 (newscript): Likewise.
35526 (record): Likewise.
35527 (recording): Likewise.
35528 (recordpos): Likewise.
35529 (recordlen): Likewise.
35530 (grub_script_lexer_init): Return the state instead of setting
35531 global variables.
35532 (grub_script_lexer_ref): Use the newly added argument for state
35533 instead of globals.
35534 (grub_script_lexer_deref): Likewise.
35535 (grub_script_lexer_record_start): Likewise.
35536 (grub_script_lexer_record_stop): Likewise.
35537 (recordchar): Likewise.
35538 (nextchar): Likewise.
35539 (grub_script_yylex2): Likewise.
35540 (grub_script_yylex): Likewise.
35541 (grub_script_yyerror): Likewise.
35542
35543 * normal/parser.y (func_mem): Removed variable.
35544 (menu_entry): Likewise.
35545 (err): Likewise.
35546 (%lex-param): New parser option.
35547 (%parse-param): Likewise.
35548 (script): Always return the AST.
35549 (argument): Pass the state around.
35550 (arguments): Likewise.
35551 (grubcmd): Likewise.
35552 (commands): Likewise.
35553 (function): Likewise.
35554 (menuentry): Likewise.
35555 (if_statement): Likewise.
35556 (if): Likewise.
35557
35558 * normal/script.c (grub_script_memused): Removed variable.
35559 (grub_script_parsed): Likewise.
35560 (grub_script_malloc): Added a state argument. Use that instead of
35561 global variables.
35562 (grub_script_mem_record): Likewise.
35563 (grub_script_mem_record_stop): Likewise.
35564 (grub_script_arg_add): Likewise.
35565 (grub_script_add_arglist): Likewise.
35566 (grub_script_create_cmdline): Likewise.
35567 (grub_script_create_cmdif): Likewise.
35568 (grub_script_create_cmdmenu): Likewise.
35569 (grub_script_add_cmd): Likewise.
35570 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 35571
e2a8c904 355722006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 35573
35574 * normal/command.c (grub_command_init): Remove the title command.
35575
35576 * normal/lexer.c (grub_script_yylex): Renamed from this...
35577 (grub_script_yylex2): ... to this.
35578 (grub_script_yylex): New function. Temporary
35579 introduced to filter some tokens.
35580 (grub_script_yyerror): Print a newline.
35581
35582 * normal/main.c (read_config_file): Output information about the
35583 lines that contain errors. Wait for a key after all lines have
35584 been processed. Don't return an empty menu.
35585
35586 * normal/parser.y (func_mem): Don't initialize.
35587 (menu_entry): Likewise.
35588 (err): New variable.
35589 (script): Don't return anything when an error was encountered.
35590 (ws, returns): Removed rules.
35591 (argument): Disabled concatenated variable support.
35592 (arguments): Remove explicit separators.
35593 (grubcmd): Likewise.
35594 (function): Likewise.
35595 (menuentry): Likewise.
35596 (if): Likewise.
35597 (commands): Likewise. Add error handling.
35598
35599 * normal/script.c (grub_script_create_cmdline): If
35600 `grub_script_parsed' is 0, assume the parser encountered an error.
35601
c9a86192 356022006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
35603
35604 * configure.ac: Add support for EFI. Fix the typo
35605 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
35606
70f3b243 356072006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
35608
35609 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
35610 foreign multibyte characters should be shown correctly.
35611
65f201ad 356122006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
35613
35614 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
35615 calculation.
35616 (read_config_file): Made it to close file before returning.
35617
b4b93674 356182006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
35619
35620 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
35621 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
35622 video/i386/pc/vbefill.c.
35623
35624 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
35625 video/i386/pc/vbefill.c.
35626
35627 * include/grub/video.h (grub_video_blit_format): New enum.
35628 (grub_video_mode_info): Added new member blit_format.
35629 (grub_video_get_blit_format): New function prototype.
35630
35631 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
35632 function prototype.
35633 (grub_video_vbe_map_rgb): Likewise.
35634 (grub_video_vbe_unmap_color): Likewise.
35635
35636 * include/grub/i386/pc/vbeblit.h: New file.
35637
35638 * include/grub/i386/pc/vbefill.h: New file.
35639
35640 * video/video.c (grub_video_get_blit_format): New function.
35641 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
35642 (grub_video_vbe_map_rgb): Likewise.
35643 (grub_video_vbe_unmap_color): Likewise.
35644
35645 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
35646 optimized fills.
35647 (grub_video_vbe_blit_render_target): Changed to use more optimized
35648 blits.
35649 (grub_video_vbe_setup): Added detection for optimized settings.
35650 (grub_video_vbe_create_render_target): Likewise.
35651
35652 * video/i386/pc/vbeblit.c: New file.
35653
35654 * video/i386/pc/vbefill.c: New file.
35655
c2379b9c 356562006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
35657
35658 * font/manager.c (grub_font_get_glyph): Removed font fixup from
35659 here...
35660
35661 * util/unifont2pff.rb: ... and moved it to here. Improved argument
35662 parsing to support both hex and dec ranges. If filename was missing
35663 show usage information.
35664
bd0d7896 356652006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
35666
35667 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
35668 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
35669
35670 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
35671 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
35672 (video_mod_SOURCES): Added.
35673 (video_mod_CFLAGS): Likewise.
35674 (video_mod_LDFLAGS): Likewise.
35675 (gfxterm_mod_SOURCES): Likewise.
35676 (gfxterm_mod_CFLAGS): Likewise.
35677 (gfxterm_mod_LDFLAGS): Likewise.
35678 (videotest_mod_SOURCES): Likewise.
35679 (videotest_mod_CFLAGS): Likewise.
35680 (videotest_mod_LDFLAGS): Likewise.
35681 (vesafb_mod_SOURCES): Removed.
35682 (vesafb_mod_CFLAGS): Likewise.
35683 (vesafb_mod_LDFLAGS): Likewise.
35684 (vga_mod_SOURCES): Likewise.
35685 (vga_mod_CFLAGS): Likewise.
35686 (vga_mod_LDFLAGS): Likewise.
35687
35688 * commands/videotest.c: New file.
35689
35690 * font/manager.c (fill_with_default_glyph): Modified to use
35691 grub_font_glyph.
35692 (grub_font_get_glyph): Likewise.
35693 (fontmanager): Renamed from this...
35694 (font_manager): ... to this.
35695
35696 * include/grub/font.h (grub_font_glyph): Added new structure.
35697 (grub_font_get_glyph): Modified to use grub_font_glyph.
35698
35699 * include/grub/misc.h (grub_abs): Added as inline function.
35700
35701 * include/grub/video.h: New file.
35702
35703 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
35704 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
35705 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
35706 (grub_vbe_get_controller_info): Renamed from this...
35707 (grub_vbe_bios_get_controller_info): ... to this.
35708 (grub_vbe_get_mode_info): Renamed from this...
35709 (grub_vbe_bios_get_mode_info): ... to this.
35710 (grub_vbe_set_mode): Renamed from this...
35711 (grub_vbe_bios_set_mode): ... to this.
35712 (grub_vbe_get_mode): Renamed from this...
35713 (grub_vbe_bios_get_mode): ... to this.
35714 (grub_vbe_set_memory_window): Renamed from this...
35715 (grub_vbe_bios_set_memory_window): ... to this.
35716 (grub_vbe_get_memory_window): Renamed from this...
35717 (grub_vbe_bios_get_memory_window): ... to this.
35718 (grub_vbe_set_scanline_length): Renamed from this...
35719 (grub_vbe_set_scanline_length): ... to this.
35720 (grub_vbe_get_scanline_length): Renamed from this...
35721 (grub_vbe_bios_get_scanline_length): ... to this.
35722 (grub_vbe_set_display_start): Renamed from this...
35723 (grub_vbe_bios_set_display_start): ... to this.
35724 (grub_vbe_get_display_start): Renamed from this...
35725 (grub_vbe_bios_get_display_start): ... to this.
35726 (grub_vbe_set_palette_data): Renamed from this...
35727 (grub_vbe_bios_set_palette_data): ... to this.
35728 (grub_vbe_set_pixel_rgb): Removed.
35729 (grub_vbe_set_pixel_index): Likewise.
35730
35731 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
35732 from this...
35733 (grub_vbe_bios_get_controller_info): ... to this.
35734 (grub_vbe_get_mode_info): Renamed from this...
35735 (grub_vbe_bios_get_mode_info): ... to this.
35736 (grub_vbe_set_mode): Renamed from this...
35737 (grub_vbe_bios_set_mode): ... to this.
35738 (grub_vbe_get_mode): Renamed from this...
35739 (grub_vbe_bios_get_mode): ... to this.
35740 (grub_vbe_set_memory_window): Renamed from this...
35741 (grub_vbe_bios_set_memory_window): ... to this.
35742 (grub_vbe_get_memory_window): Renamed from this...
35743 (grub_vbe_bios_get_memory_window): ... to this.
35744 (grub_vbe_set_scanline_length): Renamed from this...
35745 (grub_vbe_set_scanline_length): ... to this.
35746 (grub_vbe_get_scanline_length): Renamed from this...
35747 (grub_vbe_bios_get_scanline_length): ... to this.
35748 (grub_vbe_set_display_start): Renamed from this...
35749 (grub_vbe_bios_set_display_start): ... to this.
35750 (grub_vbe_get_display_start): Renamed from this...
35751 (grub_vbe_bios_get_display_start): ... to this.
35752 (grub_vbe_set_palette_data): Renamed from this...
35753 (grub_vbe_bios_set_palette_data): ... to this.
35754 (grub_vbe_bios_get_controller_info): Fixed problem with registers
35755 getting corrupted after calling it. Added more pushes and pops.
35756 (grub_vbe_bios_set_mode): Likewise.
35757 (grub_vbe_bios_get_mode): Likewise.
35758 (grub_vbe_bios_get_memory_window): Likewise.
35759 (grub_vbe_bios_set_scanline_length): Likewise.
35760 (grub_vbe_bios_get_scanline_length): Likewise.
35761 (grub_vbe_bios_get_display_start): Likewise.
35762 (grub_vbe_bios_set_palette_data): Likewise.
35763
35764 * normal/cmdline.c (cl_set_pos): Refresh the screen.
35765 (cl_insert): Likewise.
35766 (cl_delete): Likewise.
35767
35768 * term/gfxterm.c: New file.
35769
35770 * term/i386/pc/vesafb.c: Removed file.
35771
35772 * video/video.c: New file.
35773
35774 * video/i386/pc/vbe.c (real2pm): Added new function.
35775 (grub_video_vbe_draw_pixel): Likewise.
35776 (grub_video_vbe_get_video_ptr): Likewise.
35777 (grub_video_vbe_get_pixel): Likewise
35778 (grub_video_vbe_init): Likewise.
35779 (grub_video_vbe_fini): Likewise.
35780 (grub_video_vbe_setup): Likewise.
35781 (grub_video_vbe_get_info): Likewise.
35782 (grub_video_vbe_set_palette): Likewise.
35783 (grub_video_vbe_get_palette): Likewise.
35784 (grub_video_vbe_set_viewport): Likewise.
35785 (grub_video_vbe_get_viewport): Likewise.
35786 (grub_video_vbe_map_color): Likewise.
35787 (grub_video_vbe_map_rgb): Likewise.
35788 (grub_video_vbe_map_rgba): Likewise.
35789 (grub_video_vbe_unmap_color): Likewise.
35790 (grub_video_vbe_fill_rect): Likewise.
35791 (grub_video_vbe_blit_glyph): Likewise.
35792 (grub_video_vbe_blit_bitmap): Likewise.
35793 (grub_video_vbe_blit_render_target): Likewise.
35794 (grub_video_vbe_scroll): Likewise.
35795 (grub_video_vbe_swap_buffers): Likewise.
35796 (grub_video_vbe_create_render_target): Likewise.
35797 (grub_video_vbe_delete_render_target): Likewise.
35798 (grub_video_vbe_set_active_render_target): Likewise.
35799 (grub_vbe_set_pixel_rgb): Remove function.
35800 (grub_vbe_set_pixel_index): Likewise.
35801 (index_color_mode): Remove static variable.
35802 (active_mode): Likewise.
35803 (framebuffer): Likewise.
35804 (bytes_per_scan_line): Likewise.
35805 (grub_video_vbe_adapter): Added new static variable.
35806 (framebuffer): Likewise.
35807 (render_target): Likewise.
35808 (initial_mode): Likewise.
35809 (mode_in_use): Likewise.
35810 (mode_list): Likewise.
35811
5f97350b 358122006-03-10 Marco Gerards <marco@gnu.org>
35813
35814 * configure.ac (AC_INIT): Bumped to 1.93.
35815
35816 * DISTLIST: Added `include/grub/hfs.h'.
35817
a3c5c6f8 358182006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
35819
35820 * boot/i386/pc/boot.S (general_error): Before looping, try INT
35821 18H, which might help the BIOS falling back to next boot media.
35822
6de53d26 358232006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
35824
35825 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
35826 Poe Chen <poe.poechen@gmail.com>.
35827
77c4a393 358282006-01-17 Marco Gerards <marco@gnu.org>
35829
35830 * include/grub/normal.h: Include <grub/script.h>.
35831 (grub_command_list): Removed struct.
35832 (grub_command_list_t): Removed type.
35833 (grub_menu_entry): Remove members `num' and `command_list'. Add
35834 members `commands' and `sourcecode'.
35835 * include/grub/script.h: Add inclusion guards.
35836 (grub_script_cmd_menuentry): New struct.
35837 (grub_script_execute_menuentry): New prototype.
35838 (grub_script_lexer_record_start): Likewise.
35839 (grub_script_lexer_record_stop): Likewise.
35840 * normal/execute.c (grub_script_execute_menuentry): New function.
35841 * normal/lexer.c (record, recording, recordpos, recordlen): New
35842 variables.
35843 (grub_script_lexer_record_start): New function.
35844 (grub_script_lexer_record_stop): Likewise.
35845 (recordchar): Likewise.
35846 (nextchar): Likewise.
35847 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
35848 2048 as the buffer size. Add the tokens `menuentry' and `@'.
35849 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
35850 (current_menu): New variable.
35851 (free_menu): Mainly rewritten.
35852 (grub_normal_menu_addentry): New function.
35853 (read_config_file): Rewritten.
35854 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 35855 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 35856 the menu entry.
35857 (run): Mainly rewritten.
35858 * normal/parser.y (menu_entry): New variable.
35859 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
35860 (menuentry): New rule.
35861 (command): Add `menuentry'.
35862 (if_statement): Allow additional returns before `fi'.
35863 * normal/script.c (grub_script_create_cmdmenu): New function.
35864
144f1f98 358652006-01-03 Marco Gerards <marco@gnu.org>
35866
35867 * INSTALL: GNU Bison is required.
35868 * configure.ac: Rewritten the test to detect Bison.
35869 * Makefile.in (YACC): New variable. Reported by Xun Sun
35870 <xun.sun.cn@gmail.com>.
35871
af4b2d89 358722006-01-03 Marco Gerards <marco@gnu.org>
35873
35874 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
35875 the HFS+ filesystem to filesystem blocks.
35876 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
35877 GCC warning is silenced.
35878
15643b71 358792006-01-03 Marco Gerards <marco@gnu.org>
35880
35881 * partmap/apple.c (apple_partition_map_iterate): Convert the data
35882 read from disk from big endian to host byte order.
35883
00905879 358842006-01-03 Hollis Blanchard <hollis@penguinppc.org>
35885
35886 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
35887 documentation.
35888 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
35889 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
35890 embedded HFS+ filesystem.
35891 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
35892 (grub_hfs_sblock): Move from here...
35893 * include/grub/hfs.h: To here... New file.
35894 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
35895 documentation.
35896 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
35897 New macros.
35898 (grub_hfsplus_volheader): Change type of member `magic' to
35899 `grub_uint16_t'.
35900 (grub_hfsplus_data): Add new member `embedded_offset'.
35901 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
35902 returned block.
35903 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
35904 Calculate the offset.
35905
8899bc3e 359062005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
35907
35908 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
35909 Removed.
35910 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
35911
ae8c0277 359122005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
35913
35914 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
35915 ENV->NAME is NULL after allocating ENV->VALUE.
35916
07084456 359172005-12-25 Marco Gerards <marco@gnu.org>
35918
35919 * kern/env.c (grub_env_set): Rewritten the error handling code.
35920
4750f5f1 359212005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
35922
35923 * geninit.sh: Made more robust, and more portable.
35924
50214199 359252005-12-25 Marco Gerards <marco@gnu.org>
35926
35927 Add support for Apple HFS+ filesystems.
f19dbdb7 35928
50214199 35929 * fs/hfsplus.c: New file.
35930
35931 * DISTLIST: Added `fs/hfsplus.c'.
35932
35933 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
35934 (hfsplus_mod_SOURCES): New variable.
35935 (hfsplus_mod_CFLAGS): Likewise.
35936 (hfsplus_mod_LDFLAGS): Likewise.
35937 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
35938 (grub_setup_SOURCES): Likewise.
35939 (grub_mkdevicemap_SOURCES): Likewise.
35940 (grub_emu_SOURCES): Likewise.
35941 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35942
35943 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
35944
35945 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
35946
befaed6c 359472005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
35948
35949 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
35950 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
35951 include/grub/parser.h, include/grub/script.h, kern/parser.c,
35952 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
35953 normal/lexer.c, normal/parser.y, normal/script.c, and
35954 partmap/gpt.c.
35955 Removed kern/sparc64/cache.c.
35956
35957 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
35958 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
35959 grub_emu_init.c.
35960
35961 * configure.ac (AC_INIT): Bumped to 1.92.
35962
6a124103 359632005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
35964
35965 * kern/err.c (grub_error_push): Added new function to support error
35966 stacks.
35967 (grub_error_pop): Likewise.
35968 (grub_error_stack_items): New local variable to support error stacks.
35969 (grub_error_stack_pos): Likewise.
35970 (grub_error_stack_assert): Likewise.
35971 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
35972 stack depth.
35973 (grub_print_error): Added support to print errors from error stack.
35974
35975 * include/grub/err.h (grub_error_push): Added function prototype.
35976 (grub_error_pop): Likewise.
35977
be973c1b 359782005-12-09 Hollis Blanchard <hollis@penguinppc.org>
35979
35980 * configure.ac: Accept `powerpc64' as host_cpu.
35981 (amd64): Rename to `biarch32'.
35982
35983 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
35984 non-cacheline-aligned addresses.
35985
35986 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
35987 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
35988 if `size' is non-zero.
35989
b04216ab 359902005-12-03 Marco Gerards <mgerards@xs4all.nl>
35991
35992 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
35993 and `cd' to make sure the filename is not prefixed with a
35994 directory name.
35995 (pkgdata_MODULES): Add `gpt.mod'.
35996 (gpt_mod_SOURCES): New variable.
35997 (gpt_mod_CFLAGS): Likewise.
35998 (gpt_mod_LDFLAGS): Likewise.
35999
36000 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
36001
36002 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
36003 New macro.
36004
36005 * partmap/gpt.c: New file.
36006
36007 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
36008 GPT partition map is detected.
36009
41730ed9 360102005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
36011
36012 * commands/i386/pc/play.c: New file.
36013 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
36014 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
36015 macros.
f19dbdb7 36016
95dc3643 360172005-11-27 Marco Gerards <mgerards@xs4all.nl>
36018
36019 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
36020 ((unused))' to silence gcc warning.
36021
1569ec51 360222005-11-26 Hollis Blanchard <hollis@penguinppc.org>
36023
36024 * configure.ac: Correct `AC_PROG_YACC' test.
36025
9abde152 360262005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36027
36028 * util/powerpc/ieee1275/grub-install.in: Run the mount point
36029 check before installing files.
36030
44b83271 360312005-11-22 Mike Small <smallm@panix.com>
36032
36033 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
36034 number regex so multidigit numbers are recognized correctly.
36035
360362005-11-22 Mike Small <smallm@panix.com>
36037
36038 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
36039 debugging message before attempting to claim memory.
36040 (grub_rescue_cmd_initrd): Add a claim debugging message and try
36041 multiple addresses in case of failure.
36042
9c12956b 360432005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36044
36045 * term/tparm.c (get_space): Remove empty `if' statement.
36046
36047 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
36048
36049 * kern/parser.c (check_varstate): Rename `state' to 's'.
36050
aeaf81d9 360512005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36052
36053 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
36054 variable definitions to the beginning of each function. Sort stack
36055 variables by size.
36056 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
36057 `buf' argument to `char *'.
36058
79bbb63f 360592005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36060
36061 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
36062 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 36063 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 36064 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
36065 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
36066 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
36067 configfile.mod, search.mod, gzio.mod and test.mod.
36068 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
36069 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
36070 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
36071 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
36072 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
36073 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
36074 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
36075 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
36076 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
36077 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
36078 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
36079 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
36080 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
36081 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
36082 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
36083 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
36084 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
36085 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
36086 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
36087 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
36088 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
36089 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
36090 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
36091
36092 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
36093 `grep --include'.
36094 (pkgdata_MODULES): Add test.mod.
36095
233b1628 360962005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36097
36098 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
36099 appending to variables with "+=".
36100 (PModule): Use full pathname to generate *.lst filenames.
36101
36102 * Makefile.in: Fixed list rules moved from genmk.rb.
36103 (.DELETE_ON_ERROR): New special target.
36104 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
36105
36106 * conf/i386-pc.rmk: Include conf/common.mk.
36107 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 36108 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 36109 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
36110 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
36111 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
36112 configfile.mod, search.mod, gzio.mod and test.mod.
36113 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
36114 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
36115 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
36116 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
36117 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
36118 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
36119 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
36120 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
36121 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
36122 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
36123 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
36124 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
36125 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
36126 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
36127 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
36128 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
36129 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
36130 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
36131 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
36132 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
36133 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
36134 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
36135 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
36136 here...
36137 * conf/common.rmk: ... to here. New file.
36138
36139 * conf/common.mk: New file.
36140
16f820c8 361412005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
36142
36143 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
36144 (grub_script.tab.c): ... here.
36145
36146 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
36147 (grub_script.tab.c): ... here.
36148
36149 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
36150 (grub_script.tab.c): ... here.
36151
36152 * normal/command.c (grub_command_find): Fixed a memory leak of
36153 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
36154
63ba1554 361552005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36156
36157 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
36158 "@" which marks the start of a comment on ARM.
36159 (VARIABLE): Likewise.
36160
7f67dc13 361612005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36162
79bbb63f 36163 Add support for Linux/ADFS partition tables.
7f67dc13 36164
36165 * partmap/acorn.c: New file.
36166
36167 * include/grub/acorn_filecore.h: Likewise.
36168
36169 * DISTLIST: Added `partmap/acorn.c' and
36170 `include/grub/acorn_filecore.h'.
f19dbdb7 36171
7f67dc13 36172 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
36173 `partmap/acorn.c'.
36174 (pkgdata_MODULES): Add `acorn.mod'.
36175 (acorn_mod_SOURCES): New variable.
36176 (acorn_mod_CFLAGS): Likewise.
36177
36178 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
36179 `partmap/acorn.c'.
36180 (pkgdata_MODULES): Add `acorn.mod'.
36181 (acorn_mod_SOURCES): New variable.
36182 (acorn_mod_CFLAGS): Likewise.
36183
36184 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
36185 (pkgdata_MODULES): Add `acorn.mod'.
36186 (acorn_mod_SOURCES): New variable.
36187 (acorn_mod_CFLAGS): Likewise.
36188 (acorn_mod_LDFLAGS): Likewise.
36189
36190 * include/types.h (grub_disk_addr_t): New typedef.
36191
6d099807 361922005-11-13 Marco Gerards <mgerards@xs4all.nl>
36193
36194 * geninit.sh: New file.
36195
36196 * geninitheader.sh: Likewise.
36197
36198 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
36199 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
36200 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
36201 * commands/configfile.c (grub_configfile_init)
36202 (grub_configfile_fini): Likewise.
36203 * commands/default.c (grub_default_init, grub_default_fini):
36204 Likewise.
36205 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
36206 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
36207 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
36208 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
36209 Likewise.
36210 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
36211 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
36212 Likewise.
36213 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 36214 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 36215 Likewise.
36216 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
36217 Likewise.
fe6b695a 36218 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 36219 Likewise.
36220 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
36221 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
36222 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
36223 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
36224 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
36225 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
36226 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
36227 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
36228 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
36229 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
36230 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
36231 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
36232 * partmap/amiga.c (grub_amiga_partition_map_init)
36233 (grub_amiga_partition_map_fini): Likewise.
36234 * partmap/apple.c (grub_apple_partition_map_init)
36235 (grub_apple_partition_map_fini): Likewise.
36236 * partmap/pc.c (grub_pc_partition_map_init)
36237 (grub_pc_partition_map_fini): Likewise.
36238 * partmap/sun.c (grub_sun_partition_map_init,
36239 grub_sun_partition_map_fini): Likewise.
36240 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
36241 Likewise.
36242
36243 * util/grub-emu.c: Include <grub_modules_init.h>.
36244 (main): Don't initialize and de-initialize any modules directly,
36245 use `grub_init_all' and `grub_fini_all' instead.
36246
36247 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
36248 `grub_vesafb_mod_init'.
36249 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
36250 all users.
36251 * term/i386/pc/vga.c (grub_vga_init): Renamed to
36252 `grub_vga_mod_init'. Updated all users.
36253 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 36254
6d099807 36255 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
36256 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
36257 rules.
36258
36259 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
36260 Generate a function to initialize the module in utilities.
36261 Updated all callers.
36262 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
36263 initialize the module in utilities. Updated all callers.
36264
9046bcf0 362652005-11-09 Hollis Blanchard <hollis@penguinppc.org>
36266
36267 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
36268 escape sequence and a literal ^L to clear the screen.
36269
36270 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
36271 when returning from Open Firmware.
36272
d13ea639 362732005-11-09 Hollis Blanchard <hollis@penguinppc.org>
36274
36275 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
36276 (grub_ofconsole_height): Likewise.
36277 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
36278 manually insert a '\n'.
36279 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
36280 `grub_ofconsole_height'. Return early if these are already set.
36281
a8fcf206 362822005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
36283
36284 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
36285 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
36286 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
36287 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
36288 and `normal/script.c'.
36289 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
36290 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
36291 (test_mod_SOURCES): New variable.
36292 (test_mod_CFLAGS): Likewise.
36293 (test_mod_LDFLAGS): Likewise.
36294 (pkgdata_MODULES): Add `test.mod'.
36295 (grub_script.tab.c): New rule.
36296 (grub_script.tab.h): Likewise.
36297
b6b32745 362982005-11-07 Marco Gerards <mgerards@xs4all.nl>
36299
36300 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
36301 `commands/test.c', `normal/execute.c', `normal/lexer.c',
36302 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
36303 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
36304 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
36305 (test_mod_SOURCES): New variable.
36306 (test_mod_CFLAGS): Likewise.
36307 (pkgdata_MODULES): Add `test.mod'.
36308 (grub_script.tab.c): New rule.
36309 (grub_script.tab.h): Likewise.
36310
daac212a 363112005-11-06 Marco Gerards <mgerards@xs4all.nl>
36312
36313 Add initial scripting support.
36314
36315 * commands/test.c: New file.
36316 * include/grub/script.h: Likewise.
36317 * normal/execute.c: Likewise.
36318 * normal/function.c: Likewise.
36319 * normal/lexer.c: Likewise.
36320 * normal/parser.y: Likewise.
36321 * normal/script.c: Likewise.
36322
36323 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 36324
daac212a 36325 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
36326 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
36327 `normal/function.c' and `normal/script.c'.
36328 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
36329 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 36330 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
36331 variables.
daac212a 36332 (pkgdata_MODULES): Add `test.mod'.
36333 (grub_script.tab.c): New rule.
36334 (grub_script.tab.h): Likewise.
36335
36336 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
36337
36338 * include/grub/normal.h (grub_test_init): New prototype.
36339 (grub_test_fini): Likewise.
f19dbdb7 36340
daac212a 36341 * normal/command.c: Include <grub/script.h>.
36342 (grub_command_execute): Rewritten.
f19dbdb7 36343
daac212a 36344 * util/grub-emu.c (main): Call `grub_test_init' and
36345 `grub_test_fini'.
36346
77500b2b 363472005-11-03 Hollis Blanchard <hollis@penguinppc.org>
36348
36349 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
36350 to 0.
36351 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
36352 there are no pending characters.
36353
e45deb9e 363542005-11-03 Hollis Blanchard <hollis@penguinppc.org>
36355
36356 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
36357 `grub_strndup' to drop device arguments. Replace unnecessary
36358 `grub_strndup' with `grub_strdup'.
36359
4ce32619 363602005-11-03 Hollis Blanchard <hollis@penguinppc.org>
36361
36362 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
36363 `debug' environment variable has been set.
36364
363652005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 36366
4ce32619 36367 * Makefile.in (install-local): Use $(DATA).
36368 (uninstall): Likewise.
36369 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
36370 (sbin_UTILITIES): ... to here.
36371 (sbin_SCRIPTS): New variable.
36372 (grub_install_SOURCES): New variable.
36373 * util/powerpc/ieee1275/grub-install.in: New file.
36374 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
36375 variable.
36376 (add_segments): Call `grub_util_get_path'.
36377
25fe6f03 363782005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
36379
36380 From Timothy Baldwin:
36381 * commands/ls.c (grub_ls_list_files): Close FILE with
36382 grub_file_close.
36383 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
36384
04ccf3ec 363852005-10-24 Marco Gerards <mgerards@xs4all.nl>
36386
36387 * include/grub/parser.h: New file.
36388
36389 * kern/parser.c: Likewise.
36390
36391 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
36392 (grub_setup_SOURCES): Likewise.
36393 (grub_probefs_SOURCES): Likewise.
36394 (grub_emu_SOURCES): Likewise.
36395 (kernel_img_HEADERS): Add `parser.h'.
36396
36397 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
36398 (grub_emu_SOURCES): Add `kern/parser.c'.
36399 (grubof_SOURCES): Likewise.
36400
36401 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
36402 (grubof_SOURCES): Add `kern/parser.c'.
36403
36404 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
36405
36406 * kern/misc.c (grub_split_cmdline): Removed function.
36407
36408 * kern/rescue.c: Include <grub/parser.h>.
36409 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
36410 of `grub_split_cmdline'.
36411
36412 * normal/command.c: Include <grub/parser.h>.
36413 (grub_command_execute): Use `grub_parser_split_cmdline' instead
36414 of `grub_split_cmdline'.
36415
36416 * normal/completion.c: Include <grub/parser.h>.
36417 (cmdline_state): New variable.
36418 (iterate_dir): End the filename with a quote depending on the
36419 command line state.
36420 (get_state): new function.
36421 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
36422 split the arguments and determine the current argument. When the
36423 argument string is not quoted, escape all spaces.
36424
6d8f4b0e 364252005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
36426
36427 * normal/sparc64/setjmp.S: New file.
36428
15cf03ed 364292005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
36430
36431 * include/grub/sparc64/libgcc.h: New file.
36432 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
36433 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
36434 normal/sparc64/setjmp.c.
36435
03e8661a 364362005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
36437
36438 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
36439 * kern/sparc64/cache.S: New file.
36440 * kern/sparc64/cache.c: Removed.
36441 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
36442 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
36443 -mtune=ultrasparc.
36444 (COMMON_LDFLAGS): Add -melf64_sparc.
36445 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
36446 (grubof_SOURCES): Use cache.S instead of cache.c.
36447 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
36448 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
36449 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
36450 commented though.
36451 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
36452 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
36453 (linux_mod_CFLAGS): Commented out.
36454 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
36455 out because module isn't built.
36456 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
36457 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
36458 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
36459 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
36460 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
36461 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
36462 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
36463 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
36464 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
36465 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
36466 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
36467 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
36468 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
36469 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
36470
34eeec8a 364712005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
36472
36473 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
36474 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
36475 longer, because HFS should not be used on PC.
36476
708367a3 364772005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36478
36479 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
36480 consistently within the loop.
36481
6fa1251a 364822005-10-15 Marco Gerards <mgerards@xs4all.nl>
36483
36484 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
36485 directory can not be read.
36486
4801580b 364872005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
36488
36489 * configure.ac (AC_INIT): Increase the version number to 1.91.
36490
36491 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
36492 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
36493 term/i386/pc/serial.c.
36494
219ad426 364952005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
36496
36497 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
36498 file size must be permitted.
36499
36500 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
36501 between %ah and %al.
36502
688e5699 365032005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
36504
36505 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
36506 grub_uint64_t.
36507 Call the hook with a NUL-terminated filename.
36508 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
36509 grub_cpu_to_be32.
36510
36511 * kern/term.c (cursor_state): New variable.
36512 (grub_term_set_current): Reset the cursor state on a new
36513 terminal.
36514 (grub_setcursor): Rewritten to use CURSOR_STATE.
36515 (grub_getcursor): New function.
36516
36517 * include/grub/term.h (grub_getcursor): New prototype.
36518
36519 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
36520 integers on ARM. Reported by Timothy Baldwin
36521 <T.E.Baldwin99@members.leeds.ac.uk>.
36522
bb34586c 365232005-10-11 Marco Gerards <mgerards@xs4all.nl>
36524
36525 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
36526 allocated.
36527 (grub_sfs_dir): Likewise.
36528
9a909877 365292005-10-09 Marco Gerards <mgerards@xs4all.nl>
36530
36531 Add support for the SFS filesystem.
36532
36533 * fs/sfs.c: New file.
36534
36535 * DISTLIST: Added `fs/sfs.c'.
36536
36537 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
36538 (grub_probefs_SOURCES): Likewise.
36539 (grub_emu_SOURCES): Likewise.
36540 (pkgdata_MODULES): Add `sfs.mod'.
36541 (sfs_mod_SOURCES): New variable.
36542 (sfs_mod_CFLAGS): Likewise.
36543 (sfs_mod_LDFLAGS): Likewise.
36544
36545 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
36546 (pkgdata_MODULES): Add `sfs.mod'.
36547 (sfs_mod_SOURCES): New variable.
36548 (sfs_mod_CFLAGS): Likewise.
36549
36550 * util/grub-emu.c (main): Call `grub_sfs_init' and
36551 `grub_sfs_fini'.
36552
36553 * include/grub/fs.h (grub_sfs_init): New prototype.
36554 (grub_sfs_fini): Likewise.
36555
57bdbde3 365562005-10-07 Marco Gerards <mgerards@xs4all.nl>
36557
36558 Add support for the AFFS filesystem.
36559
36560 * fs/affs.c: New file.
36561
36562 * DISTLIST: Added `fs/affs.c'.
36563
36564 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
36565 (grub_probefs_SOURCES): Likewise.
36566 (grub_emu_SOURCES): Likewise.
36567 (pkgdata_MODULES): Add `affs.mod'.
36568 (affs_mod_SOURCES): New variable.
36569 (affs_mod_CFLAGS): Likewise.
36570 (affs_mod_LDFLAGS): Likewise.
36571
36572 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
36573 (pkgdata_MODULES): Add `affs.mod'.
36574 (affs_mod_SOURCES): New variable.
36575 (affs_mod_CFLAGS): Likewise.
36576
36577 * util/grub-emu.c (main): Call `grub_affs_init' and
36578 `grub_affs_fini'.
36579
36580 * include/grub/fs.h (grub_affs_init): New prototype.
36581 (grub_affs_fini): Likewise.
36582
047b67e0 365832005-10-01 Marco Gerards <mgerards@xs4all.nl>
36584
36585 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
36586
59b8208a 365872005-10-01 Marco Gerards <mgerards@xs4all.nl>
36588
36589 * configure.ac: Accept `x86_64' as host_cpu. In that case add
36590 `-m32' to CFLAGS.
36591
36592 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
36593 linking.
f19dbdb7 36594
59b8208a 36595 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
36596 (COMMON_LDFLAGS): New variable.
36597 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
36598 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
36599 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
36600 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
36601 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
36602 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
36603 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
36604 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
36605 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
36606 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
36607 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
36608 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
36609 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
36610 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
36611 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
36612 variables.
36613 (normal_mod_ASFLAGS): Add `-m32'.
36614
36615 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
36616 (grub_host_size_t, grub_host_ssize_t): New types.
36617 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 36618 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 36619 `GRUB_HOST_SIZEOF_VOID_P'.
36620
36621 * include/grub/kernel.h (struct grub_module_header): Type of
36622 member offset changed to `grub_host_off_t'. Type of member size
36623 changed to `grub_host_size_t'.
36624 (struct grub_module_info): Type of member offset changed to
36625 `grub_host_off_t'. Type of member size changed to
36626 `grub_host_size_t'.
36627
b4093103 366282005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
36629
36630 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 36631
b4093103 36632 * kern/i386/pc/startup.S (multiboot_header): New label.
36633 (multiboot_entry): Likewise.
36634 (multiboot_trampoline): Likewise.
36635
36636 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
36637 Increased to 0x4A0.
36638
36639 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
36640 put parentheses after a question mark.
36641 [!GRUB_UTIL] (my_mod): New variable.
36642
36643 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
36644
b2499b29 366452005-09-28 Marco Gerards <mgerards@xs4all.nl>
36646
36647 Adds support for the XFS filesystem. Btrees are not supported
36648 yet.
36649
36650 * fs/xfs.c: New file.
36651
36652 * DISTLIST: Added `fs/xfs.c'.
36653
36654 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
36655 (grub_probefs_SOURCES): Likewise.
36656 (grub_emu_SOURCES): Likewise.
36657 (pkgdata_MODULES): Add `xfs.mod'.
36658 (xfs_mod_SOURCES): New variable.
36659 (xfs_mod_CFLAGS): Likewise.
36660
36661 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
36662 (pkgdata_MODULES): Add `xfs.mod'.
36663 (xfs_mod_SOURCES): New variable.
36664 (xfs_mod_CFLAGS): Likewise.
36665
36666 * util/grub-emu.c (main): Call `grub_xfs_init' and
36667 `grub_xfs_fini'.
36668
36669 * include/grub/fs.h (grub_xfs_init): New prototype.
36670 (grub_xfs_fini): Likewise.
36671
f19dbdb7 36672
83d37a62 366732005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
36674
36675 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
36676 color modes, allow greater than 16 colors to be configured as
36677 a default palette.
36678
47d2d65e 366792005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
36680
36681 * normal/completion.c (complete_arguments): Add the qualifier
36682 const into OPTIONS.
36683
36684 From Omniflux <omniflux+lists@omniflux.com>:
36685 * include/grub/terminfo.h: New file.
36686 * include/grub/tparm.h: Likewise.
36687 * include/grub/i386/pc/serial.h: Likewise.
36688 * term/terminfo.c: Likewise.
36689 * term/tparm.c: Likewise.
36690 * term/i386/pc/serial.c: Likewise.
36691 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
36692 serial.mod.
36693 (terminfo_mod_SOURCES): New variable.
36694 (terminfo_mod_CFLAGS): Likewise.
36695 (serial_mod_SOURCES): Likewise.
36696 (serial_mod_CFLAGS): Likewise.
36697
48b671ff 366982005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
36699
36700 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
36701 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
36702 and kern/powerpc/ieee1275/cmain.c, respectively.
36703
36704 * boot/powerpc/ieee1275/crt0.S: Moved to ...
36705 * kern/powerpc/ieee1275/crt0.S: ... here.
36706
36707 * boot/powerpc/ieee1275/cmain.c: Moved to ...
36708 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 36709
48b671ff 36710 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
36711 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
36712 instead of boot/powerpc/ieee1275/crt0.S and
36713 boot/powerpc/ieee1275/cmain.c, respectively.
36714
36715 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
36716 sectors. It was not used anyway.
36717
09fc77a7 367182005-08-30 Hollis Blanchard <hollis@penguinppc.org>
36719
36720 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
36721 `unused parameter' warning.
36722
003789c7 367232005-08-30 Hollis Blanchard <hollis@penguinppc.org>
36724
36725 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
36726 function.
36727 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
36728 getcharwidth.
36729
67f44c86 367302005-08-28 Marco Gerards <metgerards@student.han.nl>
36731
36732 * include/grub/normal.h (enum grub_completion_type): Added
36733 `GRUB_COMPLETION_TYPE_ARGUMENT'.
36734
36735 * normal/cmdline.c (print_completion): Handle
36736 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
36737 * normal/menu_entry.c (store_completion): Likewise.
36738
36739 * normal/completion.c (complete_arguments): New function.
36740 (grub_normal_do_completion): Call `complete_arguments' when the
36741 current words start with a dash.
36742
0b5abe02 367432005-08-27 Marco Gerards <metgerards@student.han.nl>
36744
36745 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
36746 `gzio.mod' instead of `io.mod').
36747
d9864ee1 367482005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
36749
36750 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
36751 (DISTDIRS): Added io and video.
36752 Rewrite the search routine to make an output consistently.
36753
36754 * DISTLIST: Added conf/sparc64-ieee1275.mk,
36755 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
36756 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
36757 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
36758 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
36759 util/powerpc/ieee1275/misc.c.
f19dbdb7 36760
d9864ee1 36761 * include/grub/gzio.h: New file.
36762 * io/gzio.c: Likewise.
f19dbdb7 36763
d9864ee1 36764 * kern/file.c (grub_file_close): Call grub_device_close only if
36765 FILE->DEVICE is not NULL.
36766
36767 * include/grub/mm.h [!NULL] (NULL): New macro.
36768
36769 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
36770
36771 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
36772 (pkgdata_MODULES): Added gzio.mod.
36773 (gzio_mod_SOURCES): New variable.
36774 (gzio_mod_CFLAGS): Likewise.
36775
36776 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
36777 (pkgdata_MODULES): Added gzio.mod.
36778 (gzio_mod_SOURCES): New variable.
36779 (gzio_mod_CFLAGS): Likewise.
36780
36781 * commands/cat.c: Include grub/gzio.h.
36782 (grub_cmd_cat): Use grub_gzfile_open instead of
36783 grub_file_open.
f19dbdb7 36784
d9864ee1 36785 * commands/cmp.c: Include grub/gzio.h.
36786 (grub_cmd_cmp): Use grub_gzfile_open instead of
36787 grub_file_open.
36788
36789 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
36790 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
36791 grub_file_open.
36792 (grub_rescue_cmd_module): Likewise.
36793
fa46f4b5 367942005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
36795
36796 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
36797 kern/sparc64/ieee1275/init.c because it contains _start.
36798 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
36799
e9211b5d 368002005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
36801
36802 * configure.ac: Add support for sparc64 host with ieee1275
36803 firmware.
36804 * configure: Generated from configure.ac.
36805 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
36806 instead of int.
36807 (grub_ofdisk_read): Likewise.
36808 (grub_ofdisk_open): Use %p to print pointer values, and cast the
36809 pointers as (void *) to remove a warning.
36810 (grub_ofdisk_close): Likewise.
36811 (grub_ofdisk_read): Likewise.
36812 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
36813 returns, so make it return void to remove a warning.
36814 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
36815 Corresponding prototype change.
36816 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
36817 values, and cast the pointers as (void *) to remove a warning.
36818 (grub_mm_dump): Likewise.
36819 * conf/sparc64-ieee1275.mk: New file.
36820 * conf/sparc64-ieee1275.rmk: Likewise.
36821 * include/grub/sparc64/setjmp.h: Likewise.
36822 * include/grub/sparc64/types.h: Likewise.
36823 * include/grub/sparc64/ieee1275/console.h: Likewise.
36824 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
36825 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
36826 * include/grub/sparc64/ieee1275/time.h: Likewise.
36827 * kern/sparc64/cache.c: Likewise.
36828 * kern/sparc64/dl.c: Likewise.
36829 * kern/sparc64/ieee1275/init.c: Likewise.
36830 * kern/sparc64/ieee1275/openfw.c: Likewise.
36831
385c6a92 368322005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
36833
36834 * util/console.c (grub_ncurses_putchar): If C is greater than
36835 0x7f, set C to a question mark.
36836 (grub_ncurses_getcharwidth): New function.
36837 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
36838 getcharwidth.
36839
36840 * normal/menu.c (print_entry): Made aware of Unicode. First,
36841 convert TITLE to UCS-4, and predict the cursor position by
36842 grub_getcharwidth.
36843
36844 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
36845 const to SRC.
36846 * kern/misc.c (grub_utf16_to_utf8): Likewise.
36847
16ccb8b1 368482005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
36849
36850 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
36851 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
36852 grub_strcat.
36853
36854 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
36855 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
36856 grub_strcpy and grub_strlen. Take it into account that a space
36857 character is inserted as a delimiter.
36858
6a85ce79 368592005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
36860
36861 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 36862 invalid magic in the error.
6a85ce79 36863
36864 * commands/search.c: New file.
f19dbdb7 36865
6a85ce79 36866 * util/grub-emu.c (main): Call grub_search_init and
36867 grub_search_fini.
36868
36869 * kern/rescue.c (grub_rescue_print_disks): Removed.
36870 (grub_rescue_print_devices): New function.
36871 (grub_rescue_cmd_ls): Use grub_device_iterate with
36872 grub_rescue_print_devices instead of grub_disk_dev_iterate with
36873 grub_rescue_print_disks.
36874
36875 * kern/partition.c (grub_partition_iterate): Return the result of
36876 PARTMAP->ITERATE instead of GRUB_ERRNO.
36877
36878 * kern/device.c: Include grub/partition.h.
36879 (grub_device_iterate): New function.
36880
36881 * include/grub/partition.h (grub_partition_iterate): Return int
36882 instead of grub_err_t.
36883
36884 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
36885 prototype.
36886 [GRUB_UTIL] (grub_search_fini): Likewise.
36887
36888 * include/grub/device.h (grub_device_iterate): New prototype.
36889
36890 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
36891 commands/search.c.
36892 (pkgdata_MODULES): Added search.mod.
36893 (search_mod_SOURCES): New variable.
36894 (search_mod_CFLAGS): Likewise.
36895
36896 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
36897 (pkgdata_MODULES): Added search.mod.
36898 (search_mod_SOURCES): New variable.
36899 (search_mod_CFLAGS): Likewise.
36900
36901 * commands/ls.c (grub_ls_list_disks): Renamed to ...
36902 (grub_ls_list_devices): ... this, and use grub_device_iterate.
36903 All callers changed.
36904
36905 * DISTLIST: Added commands/search.c.
36906
ef095434 369072005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
36908
36909 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
36910 conversion.
36911 (grub_getcharwidth): New function.
36912
36913 * kern/misc.c (grub_utf8_to_ucs4): New function.
36914
36915 * include/grub/term.h (struct grub_term): Added a new member
36916 "getcharwidth".
36917 (grub_getcharwidth): New prototype.
36918
36919 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
36920
36921 * term/i386/pc/console.c (map_char): New function. Segregated from
36922 grub_console_putchar.
36923 (grub_console_putchar): Use map_char.
36924 (grub_console_getcharwidth): New function.
36925 (grub_console_term): Specified grub_console_getcharwidth as
36926 getcharwidth.
36927
36928 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
36929 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
36930
36931 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
36932 GRUB_ERRNO.
36933 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
36934 on grub_strtoul completely.
36935 (write_char): Declare local variables in the beginning of the
36936 function.
36937 (grub_vesafb_getcharwidth): New function.
36938 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
36939 getcharwidth.
36940
1f0a95e4 369412005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
36942
36943 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
36944 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
36945 commands/i386/pc/vbetest.c.
36946
36947 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
36948 call grub_vbe_get_controller_info again, because the returned
36949 information is volatile.
36950 (grub_vbe_set_video_mode): Mostly rewritten.
36951 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
36952 grub_vbe_status_t correctly.
36953 (grub_vbe_get_video_mode_info): Likewise.
36954 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
36955 several if statements.
36956
36957 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
36958 * commands/i386/pc/vbeinfo.c: ... this.
36959
36960 * commands/i386/pc/vbe_test.c: Renamed to ...
36961 * commands/i386/pc/vbetest.c: ... this.
36962
36963 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
36964 ...
36965 (grub_cmd_vbeinfo): ... this. Save video modes before
36966 iterating. Skip a video mode, if it is not available, not enough
36967 information is given or it is monochrome. Show the memory
36968 model. Leave the interpretation of MODEVAR to grub_strtoul
36969 completely.
36970 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
36971 (GRUB_MOD_FINI): Likewise.
36972
36973 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
36974 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
36975 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
36976 duplicated grub_env_get. Leave the interpretation of MODEVAR to
36977 grub_strtoul completely.
36978 (real2pm): Removed.
36979 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
36980 (GRUB_MOD_FINI): Likewise.
36981
36982 * normal/misc.c: Include grub/mm.h.
36983
36984 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
36985 vbe_list_modes with vbetest.mod and vbeinfo.mod.
36986 (vbe_list_modes_mod_SOURCES): Removed.
36987 (vbe_list_modes_mod_CFLAGS): Likewise.
36988 (vbe_test_mod_SOURCES): Likewise.
36989 (vbe_test_mod_CFLAGS): Likewise.
36990 (vbeinfo_mod_SOURCES): New variable.
36991 (vbeinfo_mod_CFLAGS): Likewise.
36992 (vbetest_mod_SOURCES): Likewise.
36993 (vbetest_mod_CFLAGS): Likewise.
36994
992ffbbe 369952005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
36996
36997 * normal/misc.c: New file.
36998
36999 * DISTLIST: Added normal/misc.c.
f19dbdb7 37000
992ffbbe 37001 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
37002 DISK to HOOK. Call HOOK with DISK.
37003 * partmap/apple.c (apple_partition_map_iterate): Likewise.
37004 * partmap/pc.c (pc_partition_map_iterate): Likewise.
37005 * partmap/sun.c (sun_partition_map_iterate): Likewise.
37006
37007 * normal/menu_entry.c (struct screen): Added a new member
37008 "completion_shown".
37009 (completion_buffer): New global variable.
37010 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
37011 (store_completion): New function.
37012 (complete): Likewise.
37013 (clear_completions): Likewise.
37014 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
37015 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
37016 a tab, call complete.
37017
37018 * normal/completion.c (disk_dev): Removed.
37019 (print_simple_completion): Likewise.
37020 (print_partition_completion): Likewise.
37021 (print_func): New global variable.
37022 (add_completion): Do not take the arguments WHAT or PRINT any
37023 longer. Added a new argument TYPE. Instead of printing directly,
37024 call PRINT_FUNC if not NULL.
37025 All callers changed.
37026 (complete_device): Use a local variable DEV instead of
37027 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
37028 (grub_normal_do_completion): Take a new argument HOOK. Do not
37029 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
37030 empty string, return NULL instead.
37031 All callers changed.
37032
37033 * normal/cmdline.c (print_completion): New function.
37034
37035 * kern/partition.c (grub_partition_iterate): Add an argument DISK
37036 to HOOK.
37037 All callers changed.
37038
37039 * kern/disk.c (grub_print_partinfo): Removed.
37040
37041 * include/grub/partition.h (struct grub_partition_map): Add a new
37042 argument DISK into HOOK of ITERATE.
37043 (grub_partition_iterate): Add a new argument DISK to HOOK.
37044
37045 * include/grub/normal.h (enum grub_completion_type): New enum.
37046 (grub_completion_type_t): New type.
37047 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
37048 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
37049 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
37050 (GRUB_COMPLETION_TYPE_FILE): Likewise.
37051 (grub_normal_do_completion): Added a new argument HOOK.
37052 (grub_normal_print_device_info): New prototype.
37053
37054 * include/grub/disk.h (grub_print_partinfo): Removed.
37055
37056 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
37057 (normal_mod_SOURCES): Likewise.
37058 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37059 (normal_mod_SOURCES): Likewise.
37060
37061 * commands/ls.c (grub_ls_list_disks): Use
37062 grub_normal_print_device_info instead of grub_print_partinfo. Free
37063 PNAME.
37064 (grub_ls_list_files): Use grub_normal_print_device_info instead of
37065 duplicating the code.
37066
0bd41162 370672005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
37068
37069 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 37070 follow GCS more precisely.
37071 * commands/i386/pc/vbe_test.c: Likewise.
37072 * include/grub/i386/pc/vbe.h: Likewise.
37073 * term/i386/pc/vesafb.c: Likewise.
37074 * video/i386/pc/vbe.c: Likewise.
0bd41162 37075
6323696a 370762005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
37077
37078 * DISTLIST: Added term/i386/pc/vesafb.c
37079 DISTLIST: Added video/i386/pc/vbe.c
37080 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
37081 DISTLIST: Added commands/i386/pc/vbe_test.c.
37082 * commands/i386/pc/vbe_list_modes.c: New file.
37083 * commands/i386/pc/vbe_test.c: Likewise.
37084 * term/i386/pc/vesafb.c: Likewise.
37085 * video/i386/pc/vbe.c: Likewise.
37086 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
37087 (grub_vbe_probe) Added prototype.
37088 (grub_vbe_set_video_mode) Likewise.
37089 (grub_vbe_get_video_mode) Likewise.
37090 (grub_vbe_get_video_mode_info) Likewise.
37091 (grub_vbe_set_pixel_rgb) Likewise.
37092 (grub_vbe_set_pixel_index) Likewise.
37093 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
37094 (pkgdata_MODULES): Added vesafb.mod.
37095 (pkgdata_MODULES): Added vbe_list_modes.mod.
37096 (pkgdata_MODULES): Added vbe_test.mod.
37097 (vbe_mod_SOURCES): Added.
37098 (vbe_mod_CFLAGS): Likewise.
37099 (vesafb_mod_SOURCES): Likewise.
37100 (vesafb_mod_CFLAGS): Likewise.
37101 (vbe_list_modes_mod_SOURCES): Likewise.
37102 (vbe_list_modes_mod_CFLAGS): Likewise.
37103 (vbe_test_mod_SOURCES): Likewise.
37104 (vbe_test_mod_CFLAGS): Likewise.
37105
0a74e62f 371062005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
37107
0a74e62f 37108 * normal/command.c (grub_command_execute): If INTERACTIVE is
37109 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
37110 CMDLINE. Disable the pager if INTERACTIVE is true.
37111 All callers are changed.
37112
37113 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
37114 before reading a config file.
37115 * normal/main.c (read_config_file): Even if a command is not
37116 found, register it if it is within an entry.
37117
37118 * util/grub-emu.c: Include sys/types.h and unistd.h.
37119 (options): Added --hold.
37120 (struct arguments): Added a new member "hold".
37121 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
37122 missing.
37123 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
37124 cleared by a debugger, if it is not zero.
37125
37126 * include/grub/normal.h (grub_command_execute): Add an argument
37127 INTERACTIVE.
37128
e51f85ae 371292005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
37130
37131 * DISTLIST: Added include/grub/i386/pc/vbe.h.
37132
e9c6f39b 371332005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
37134
37135 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
37136 program with another one, because the old one didn't detect a bug
37137 in gcc-3.4. Always use regparm 2, because the new test is still
37138 not enough for gcc-4.0. Someone must investigate a simple test
37139 case which detects a bug in gcc-4.0.
37140
8de3495c 371412005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
37142
37143 * DISTLIST: Added normal/completion.c.
37144
37145 * normal/completion.c: New file.
f19dbdb7 37146
8de3495c 37147 * term/i386/pc/console.c (grub_console_getwh): New function.
37148 (grub_console_term): Assign grub_console_getwh to getwh.
37149
37150 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
37151 function is defined in normal/completion.c as
37152 grub_normal_do_completion.
37153 (grub_cmdline_get): Use grub_normal_do_completion instead of
37154 grub_tab_complete.
37155
37156 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
37157 returns non-zero, otherwise return 0.
37158 (grub_partition_iterate): First, probe the partition map. Then,
37159 call ITERATE only for this partition map.
37160
37161 * kern/misc.c (grub_strncmp): Rewritten.
37162
37163 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
37164 returns non-zero. Otherwise return 0.
37165
37166 * include/grub/partition.h (grub_partition_map_iterate): Return
37167 int instead of void.
37168
37169 * include/grub/normal.h (grub_normal_do_completion): New prototype.
37170
37171 * include/grub/misc.h (grub_strncmp): Change the type of N to
37172 grub_size_t.
37173
37174 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
37175 of void.
37176
37177 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 37178 unsigned explicitly before comparing it with I.
8de3495c 37179
37180 * kern/main.c (grub_env_write_root): Add the attribute unused into
37181 VAR.
37182
37183 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
37184 normal/completion.c.
37185 (normal_mod_SOURCES): Likewise.
37186 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
37187 (normal_mod_SOURCES): Likewise.
37188
37189 * normal/command.c (grub_iterate_commands): If ITERATE returns
37190 non-zero, return one immediately.
37191
e85e144b 371922005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
37193
37194 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
37195 * kern/i386/pc/startup.S: Updated Global Descriptor table's
37196 descriptions.
37197 (grub_vbe_get_controller_info): New function.
37198 (grub_vbe_get_mode_info): Likewise.
37199 (grub_vbe_set_mode): Likewise.
37200 (grub_vbe_get_mode): Likewise.
37201 (grub_vbe_set_memory_window): Likewise.
37202 (grub_vbe_get_memory_window): Likewise.
37203 (grub_vbe_set_scanline_length): Likewise.
37204 (grub_vbe_get_scanline_length): Likewise.
37205 (grub_vbe_set_display_start): Likewise.
37206 (grub_vbe_get_display_start): Likewise.
37207 (grub_vbe_set_palette_data): Likewise.
37208 * include/grub/i386/pc/vbe.h: New file.
37209
c46153d2 372102005-08-08 Hollis Blanchard <hollis@penguinppc.org>
37211
37212 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
37213 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
37214 * DISTLIST: Likewise.
37215 * kern/ieee1275/of.c: Moved to ...
37216 * kern/ieee1275/ieee1275.c: ... here.
37217
0cb90c45 372182005-08-08 Hollis Blanchard <hollis@penguinppc.org>
37219
37220 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
37221 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
37222 Pass 0 as `end' parameter to grub_strtoul().
37223
a19fb360 372242005-08-08 Hollis Blanchard <hollis@penguinppc.org>
37225
37226 * include/grub/powerpc/ieee1275/console.h: Do not include
37227 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
37228 ifdef.
37229 (grub_console_cur_color): Remove i386-specific prototype.
37230 (grub_console_real_putchar): Likewise.
37231 (grub_console_checkkey): Likewise.
37232 (grub_console_getkey): Likewise.
37233 (grub_console_getxy): Likewise.
37234 (grub_console_gotoxy): Likewise.
37235 (grub_console_cls): Likewise.
37236 (grub_console_setcursor): Likewise.
37237 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
37238 Include <grub/machine/console.h>.
37239 * term/ieee1275/ofconsole.c: Likewise.
37240
4ac9bd04 372412005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
37242
37243 * Makefile.in (LIBLZO): New variable.
37244
37245 * configure.ac: Check for LZO version 2.
37246
37247 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
37248 lzo/lzo1x.h instead of lzo1x.h.
37249
37250 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
37251 of -llzo.
37252
37253 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
37254 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
37255
37256 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
37257 copying the data from PARTITION to P.
37258
f4917dfd 372592005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
37260
37261 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
37262 negative, unload the module.
37263
37264 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
37265 map is "pc_partition_map" but not "pc".
37266 (usage): Fix the description. The options are --boot-image and
37267 --core-image but not --boot-file or --core-file.
37268 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
37269 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
37270 DEFAULT_DIRECTORY.
37271
37272 * util/i386/pc/grub-install.in: Do not specify --boot-file or
37273 --core-file. Specify INSTALL_DEVICE as an argument.
37274
37275 * util/console.c: Include config.h.
37276 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
37277 [HAVE_NCURSES_H]: Include ncurses.h.
37278 [HAVE_CURSES_H]: Include curses.h.
37279 [!A_NORMAL] (A_NORMAL): Defined as zero.
37280 [!A_STANDOUT] (A_STANDOUT): Likewise.
37281
37282 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
37283 -lncurses.
37284 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
37285
37286 * configure.ac: Check for curses libraries and headers.
37287
37288 * Makefile.in (LIBCURSES): New variable.
37289
37290 * genmk.rb (Script::rule): Set the executable bits.
37291
37292 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
37293 name of the PC partition map is "pc_partition_map" but not "pc".
37294
0e143073 372952005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
37296
37297 * util/i386/pc/grub-install.in (grub_probefs): New variable.
37298 (modules): Likewise.
37299 (usage): Added descriptions for --modules and --grub-probefs.
37300 Handle --modules and --grub-probefs. Save the arguments in MODULES
37301 and GRUB_PROBEFS, respectively.
37302 Auto-detect a filesystem module against GRUBDIR. If the result is
37303 empty and modules are not specified explicitly, abort the
37304 installation. Add the result to MODULES.
37305
37306 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
37307 disk/powerpc/ieee1275/ofdisk.c,
37308 include/grub/powerpc/ieee1275/init.h and
37309 term/powerpc/ieee1275/ofconsole.c.
37310 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
37311 term/ieee1275/ofconsole.c.
37312
37313 * include/grub/powerpc/ieee1275/console.h: Resurrected.
37314
37315 * COPYING: Upgraded to the latest version. Only the address of the
37316 FSF office has changed.
f19dbdb7 37317
efd6e6d5 373182005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
37319
37320 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
37321 kern/ieee1275.c with kern/ieee1275/of.c.
37322
37323 * kern/ieee1275.c: Moved to ...
37324 * kern/ieee1275/of.c: ... here.
37325
8ceafda2 373262005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
37327
37328 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 37329 readability.
8ceafda2 37330
37331 * config.guess: Updated to the latest version from gnulib.
37332 * config.sub: Likewise.
37333 * install.sh: Likewise.
37334 * mkinstalldirs: Likewise.
37335
37336 * include/grub/console.h: Removed. This file is arch-specific. Do
37337 not put this in include/grub.
37338
37339 * include/grub/i386/pc/console.h: Resurrected.
37340
37341 * util/console.c: Include grub/machine/console.h instead of
37342 grub/console.h.
37343 * util/grub-emu.c: Likewise.
37344
267f6cd9 373452005-08-04 Marco Gerards <metgerards@student.han.nl>
37346
37347 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
37348 hardcoded value.
f19dbdb7 37349
267f6cd9 37350 From Vincent Pelletier <subdino2004@yahoo.fr>
37351 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
37352 Redefined to use grub_getwh.
37353 (grub_term): New member named getwh.
37354 (grub_getwh): New prototype.
37355 * kern/term.c (grub_getwh): New function.
37356 * term/i386/pc/console.c (grub_console_getwh): New function.
37357 (grub_console_term): New member `getwh'.
37358 * term/i386/pc/vga.c (grub_vga_getwh): New function.
37359 (grub_vga_term): New member `getwh'.
0b5abe02 37360 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 37361 grub_ssize_t.
37362 (grub_ofconsole_getw): New function.
37363 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
37364 (grub_ofconsole_term): New field named getwh and new initial
37365 value.
37366
3be7266d 373672005-08-03 Hollis Blanchard <hollis@penguinppc.org>
37368
37369 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
37370 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
37371 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
37372 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
37373 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
37374 of <grub/machine/ieee1275.h>.
37375 * commands/ieee1275/reboot.c: Likewise.
37376 * boot/powerpc/ieee1275/ieee1275.c: Move ...
37377 * kern/ieee1275.c: ... to here. All users updated. Change all
37378 parameter structs to use new type `grub_ieee1275_cell_t'.
37379 * term/powerpc/ieee1275/ofconsole.c: Move ...
37380 * term/ieee1275/ofconsole.c: ... to here. All users updated.
37381 * disk/powerpc/ieee1275/ofdisk.c: Move ...
37382 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
37383 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
37384 to return int.
37385 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
37386 Remove unused prototypes. All users updated.
37387 * include/grub/powerpc/ieee1275/console.h: Removed.
37388 * include/grub/powerpc/ieee1275/ieee1275.h: Define
37389 `grub_ieee1275_cell_t'.
37390 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
37391 Cast comparisons with -1 to the correct type.
37392 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
37393 type to match `grub_ieee1275_entry_fn'.
37394
8b5f3938 373952005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
37396
37397 * DISTLIST: Added util/i386/pc/grub-probefs.c.
37398
37399 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
37400 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
37401 partmap/sun.c.
37402 (grub_probefs_SOURCES): New variable.
37403
37404 * util/i386/pc/grub-probefs.c: New file.
37405
37406 * util/i386/pc/grub-setup.c (main): Call
37407 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
37408 grub_hfs_init and grub_jfs_init to initialize the system. Call
37409 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
37410 grub_pc_partition_map_fini to finish the system.
37411
ea409713 374122005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
37413
37414 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
37415 function.
37416 (grub_multiboot_load_elf32): Likewise.
37417 (grub_multiboot_is_elf64): Likewise.
37418 (grub_multiboot_load_elf64): Likewise.
37419 (grub_multiboot_load_elf): Likewise.
37420 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
37421 an ELF32 or ELF64 file.
37422 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
37423
37424 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
37425 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
37426 NULL before calling FS->LABEL.
37427 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
37428 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
37429 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
37430 before calling FS->LABEL.
37431
141a288b 374322005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
37433
37434 * util/i386/pc/grub-install.in (datadir): New variable.
37435 (libdir): Removed.
37436 (pkgdatadir): New variable.
37437 (pkglibdir): Removed.
37438
0d5f8a54 374392005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
37440
37441 * DISTLIST: Added util/i386/pc/grub-install.in.
37442
37443 * util/i386/pc/grub-install.in: New file.
37444
37445 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
37446 (grub_install_SOURCES): Likewise.
37447
37448 * genmk.rb: Added support for scripts.
37449 (Script): New class.
37450 (scripts): New variable.
37451
37452 * Makefile.in (install-local): Install sbin_SCRIPTS by
37453 INSTALL_SCRIPT.
37454 (uninstall): Remove sbin_SCRIPTS.
37455
37456 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
37457 device, try to get a GRUB device by
37458 grub_util_biosdisk_get_grub_dev.
37459 Free DEST_DEV.
37460
37461 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
37462 description for --device-map.
37463
5f968e1e 374642005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
37465
37466 Change the semantics of variable hooks. They now return strings
37467 instead of error values.
f19dbdb7 37468
5f968e1e 37469 * util/i386/pc/grub-setup.c: Include grub/env.h.
37470 (setup): Use grub_device_set_root instead of grub_env_set.
37471
37472 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
37473 grub_env_get instead of grub_device_set_root and
37474 grub_device_get_root, respectively.
37475
37476 * kern/main.c (grub_env_write_root): New function.
37477 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
37478 grub_env_set instead of grub_device_set_root.
37479
37480 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
37481 many variables.
37482 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
37483 rather than calling ENV->WRITE_HOOK afterwards.
37484 (grub_env_get): Return the result of ENV->READ_HOOK rather than
37485 passing a pointer of a pointer.
37486 (grub_register_variable_hook): Change the types of "read_hook" and
37487 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
37488 respectively.
37489 Allocate the default empty string on the heap, because this string
37490 may be freed later.
37491
37492 * kern/device.c: Include grub/env.h.
37493 (grub_device_set_root): Removed.
37494 (grub_device_get_root): Likewise.
37495 (grub_device_open): Use grub_env_get instead of
37496 grub_device_get_root.
37497
37498 * include/grub/env.h (grub_env_read_hook_t): New type.
37499 (grub_env_write_hook_t): Likewise.
37500 (grub_env_var): Change the types of "read_hook" and "write_hook"
37501 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
37502 (grub_register_variable_hook): Likewise.
37503
37504 * include/grub/device.h (grub_device_set_root): Removed.
37505 (grub_device_set_root): Likewise.
37506
37507 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
37508 make sure that DIRNAME terminates with '/', so that
37509 grub_fat_find_dir will fail if PATH is not a directory.
37510
37511 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
37512 from DIRNAME.
37513 Use the qualifier auto for print_files and print_files_long.
37514 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
37515 as a regular file.
37516 Put a newline only if there is no error.
37517 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
37518 used.
37519
896f0afd 375202005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
37521
37522 * kern/partition.c (grub_partition_probe): Initialize PART to
37523 NULL. Otherwise, when no partition map is registered, this returns
37524 a garbage.
37525
b28b81b2 375262005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
37527
37528 * partmap/apple.c (apple_partition_map_iterate): Check if POS
37529 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
37530 valid.
37531
5f3607e0 375322005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
37533
37534 * commands/ls.c (grub_ls_list_disks): Print the filesystem
37535 information on each device, if it does not have partitions. Print
37536 "Device" instead of "Disk", because this function is not specific
37537 to disk devices.
37538
37539 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
37540 static to ensure that it is put on the memory rather than a
37541 register.
37542
502c87e8 375432005-07-17 Yoshinori Okuji <okuji@enbug.org>
37544
37545 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
37546 (grub_cat_init): Likewise.
37547 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
37548 (options): Likewise.
37549 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
37550 (grub_configfile_init): Likewise.
37551 * font/manager.c (GRUB_MOD_INIT): Likewise.
37552 * commands/help.c (GRUB_MOD_INIT): Likewise.
37553 (grub_help_init): Likewise.
37554 * normal/command.c (grub_command_init): Likewise.
37555 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
37556 * disk/loopback.c (grub_loop_init): Likewise.
37557 (GRUB_MOD_INIT): Likewise.
37558 * commands/ls.c (grub_ls_init): Likewise.
37559 (GRUB_MOD_INIT): Likewise.
37560 (options): Likewise.
37561 * commands/boot.c (grub_boot_init): Likewise.
37562 (GRUB_MOD_INIT): Likewise.
37563 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
37564 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
37565 (GRUB_MOD_INIT): Likewise.
37566 * commands/cmp.c (grub_cmp_init): Likewise.
37567 (GRUB_MOD_INIT): Likewise.
37568
37569 * normal/arg.c: Use <> instead of "" to include header files.
37570 (SHORT_ARG_HELP): New macro.
37571 (SHORT_ARG_USAGE): Likewise.
37572 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
37573 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
37574 descriptions.
37575 (find_short): Check if C is 'h' or 'u' explicitly.
37576 (grub_arg_show_help): Use space characters instead of tabs. Treat
37577 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
37578 are shown with --help and --usage only if they are not used for
37579 the command itself.
37580 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
37581 'h' and 'u'.
37582
37583 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
37584 const into "longarg". Change the type of "shortarg" to int.
37585
f806d18e 375862005-07-17 Yoshinori Okuji <okuji@enbug.org>
37587
37588 * boot/i386/pc/boot.S (boot_drive_check): New label.
37589
37590 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
37591 macro.
37592
37593 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
37594 which do not pass a boot drive correctly. Copied from GRUB Legacy.
37595
e293232b 375962005-07-17 Yoshinori Okuji <okuji@enbug.org>
37597
37598 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
37599 When turning off Gate A20, skip the check and return immediately,
37600 because this is not fatal usually.
37601
ebedfd00 376022005-07-17 Yoshinori Okuji <okuji@enbug.org>
37603
37604 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
37605 be 0x7C00 instead of 0x8000.
37606
37607 * boot/i386/pc/pxeboot.S: Rewritten.
37608
37609 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
37610 EXT_C.
37611 (gate_a20_check_state): Read a byte from 0x108000. Invert the
37612 result.
37613
654fc59f 376142005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
37615
37616 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
37617 robustness. This routine now supports a BIOS call and System
37618 Control Port A to modify the gate A20.
37619
37620 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
37621 Increased to 0x440.
37622
09f9923f 376232005-07-12 Hollis Blanchard <hollis@penguinppc.org>
37624
37625 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
37626 device path and resulting ihandle.
37627 (grub_ofdisk_close): dprintf the ihandle being closed.
37628 (grub_ofdisk_read): dprintf function parameters.
37629 * kern/mm.c (grub_mm_init_region): Likewise.
37630 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
37631 (grub_linux_boot): dprintf the Linux entry point, initrd address and
37632 size, and boot arguments.
37633 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
37634 before loading into memory.
37635 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
37636 before loading into memory.
37637
7ef504d8 376382005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
37639
37640 * kern/mm.c: Added much documentation.
37641 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
37642 8, set to 5 instead of 8.
37643
e0f050c2 376442005-07-10 Yoshinori Okuji <okuji@enbug.org>
37645
37646 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
37647
37648 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
37649 (grub_mkdevicemap_SOURCES): New variable.
37650
37651 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
37652 lib/device.c of GRUB Legacy.
37653
7224189a 376542005-07-10 Yoshinori Okuji <okuji@enbug.org>
37655
37656 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
37657 instead of PATH is NULL.
37658
68c864eb 376592005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
37660
37661 * commands/cmp.c (BUFFER_SIZE): New macro.
37662 (grub_cmd_cmp): Close the right file at the right time. Compare
37663 only data just read. Don't report files of different size as
37664 identical. Dynamically allocate buffers. Move variable
37665 declarations at the beginning of function.
37666
e6f3e614 376672005-07-09 Yoshinori Okuji <okuji@enbug.org>
37668
37669 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
37670 reverse.
37671
f8f1559a 376722004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
37673
37674 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
37675 when backspace is pressed at beginning of line.
37676
39c9d41d 376772005-07-03 Yoshinori Okuji <okuji@enbug.org>
37678
37679 * DISTLIST: Added genfslist.sh.
37680
37681 * normal/main.c (fs_module_list): New variable.
37682 (autoload_fs_module): New function.
37683 (read_fs_list): Likewise.
37684 (grub_normal_execute): Call read_fs_list.
37685
37686 * kern/fs.c (grub_fs_autoload_hook): New variable.
37687 (grub_fs_probe): Added support for auto-loading.
37688
37689 * include/grub/normal.h (struct grub_fs_module_list): New struct.
37690 (grub_fs_module_list_t): New type.
37691
37692 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
37693 (grub_fs_autoload_hook): New prototype.
37694
37695 * genfslist.sh: New file.
f19dbdb7 37696
39c9d41d 37697 * genmk.rb: Added a rule to generate a filesystem list.
37698
121c1d83 376992005-06-30 Marco Gerards <metgerards@student.han.nl>
37700
37701 * configure.ac: Fix the test for cross-compiling.
37702
37703 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
37704 define GRUB_UTIL anymore.
37705
37706 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
37707 so this function works on other systems than just big endian.
37708 (load_modules): Likewise.
37709 (add_segments): Likewise.
37710
e75d76e1 377112005-06-23 Hollis Blanchard <hollis@penguinppc.org>
37712
37713 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
37714 contains `l' modifier, get a long from va_arg().
37715
50b5a0a7 377162005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
37717
37718 * kern/mm.c (grub_free): If the next free block which is being
37719 merged is the first free block, set the first block to the block
37720 being freed.
37721 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
37722
89371b20 377232005-05-08 Hollis Blanchard <hollis@penguinppc.org>
37724
37725 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
37726 `grub_ieee1275_chosen'.
37727
168d6e58 377282005-05-08 Hollis Blanchard <hollis@penguinppc.org>
37729
37730 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
37731 (grub_ieee1275_chosen): New variable.
37732 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
37733 `chosen'.
37734 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
37735 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
37736 Rename first argument to `phandle' for consistency.
37737 (grub_ieee1275_get_property_length): Likewise.
37738 (grub_ieee1275_next_property): Likewise. Change type of first argument
37739 to grub_ieee1275_phandle_t.
37740 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
37741 Move export next to declaration.
37742 (grub_ieee1275_chosen): New variable.
37743 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
37744 Correct cosmetic typo.
37745 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
37746 `grub_ieee1275_chosen'.
37747 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
37748 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
37749 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
37750 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
37751 `grub_ieee1275_chosen'.
37752
ca5baa3f 377532005-05-10 Hollis Blanchard <hollis@penguinppc.org>
37754
37755 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
37756 /chosen/bootargs.
37757 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
37758 /chosen/bootargs as "variable=value" pairs.
37759
708b345f 377602005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
37761
37762 * include/grub/misc.h (grub_dprintf): New macro.
37763 (grub_real_dprintf): New prototype.
37764 (grub_strword): Likewise.
37765 (grub_iswordseparator): Likewise.
37766 * kern/misc.c (grub_real_dprintf): New function.
37767 (grub_strword): Likewise.
37768 (grub_iswordseparator): Likewise.
37769
f4c5e67c 377702005-04-30 Hollis Blanchard <hollis@penguinppc.org>
37771
37772 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
37773 (roundup): Remove macro.
37774 (grub_ieee1275_flags): Make static.
37775 (grub_ieee1275_realmode): Remove.
37776 (grub_ieee1275_test_flag): New function.
37777 (grub_ieee1275_set_flag): Likewise.
37778 (find_options): Rename to `grub_ieee1275_find_options'; update
37779 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
37780 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
37781 (cmain): New prototype.
37782 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
37783 `grub_ieee1275_flags' directly.
37784 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
37785 machine/biosdisk.h.
37786 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
37787 Don't include grub/machine/init.h.
37788 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
37789 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
37790 Remove prototype.
37791 (grub_ieee1275_realmode): Likewise.
37792 (grub_ieee1275_flag): New enum.
37793 (grub_ieee1275_test_flag): New prototype.
37794 (grub_ieee1275_set_flag): New prototype.
37795 * include/grub/powerpc/ieee1275/init.h: Remove file.
37796 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
37797 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
37798 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
37799 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
37800 comment.
37801 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
37802 `grub_ieee1275_test_flag'.
37803 (grub_ieee1275_encode_devname): Likewise.
37804
ed16607e 378052005-04-21 Hollis Blanchard <hollis@penguinppc.org>
37806
37807 * include/grub/powerpc/ieee1275/ieee1275.h
37808 (grub_ieee1275_encode_devname): New prototype.
37809 (grub_ieee1275_get_filename): Likewise.
37810 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
37811 function.
37812 (grub_set_prefix): Likewise.
37813 (grub_machine_init): Call grub_set_prefix.
37814 * kern/powerpc/ieee1275/openfw.c: Fix typos.
37815 (grub_parse_type): New enum.
37816 (grub_ieee1275_get_devargs): New function.
37817 (grub_ieee1275_get_devname): Likewise.
37818 (grub_ieee1275_parse_args): Likewise.
37819 (grub_ieee1275_get_filename): Likewise.
37820 (grub_ieee1275_encode_devname): Likewise.
37821
be369920 378222005-03-30 Marco Gerards <metgerards@student.han.nl>
37823
37824 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
37825 `grub_loader_unset'.
37826
a5ce3a4a 378272005-03-26 Hollis Blanchard <hollis@penguinppc.org>
37828
37829 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
37830 instead of grub_ieee1275_interpret.
37831 (grub_halt_init): New function.
37832 (grub_halt_fini): Likewise.
37833 (GRUB_MOD_INIT): Correct message grammar.
37834 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
37835 instead of grub_ieee1275_interpret.
37836 (grub_reboot_init): New function.
37837 (grub_reboot_fini): Likewise.
37838 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
37839 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
37840 util/i386/pc/misc.c with commands/ieee1275/halt.c,
37841 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
37842 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
37843 function.
37844 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
37845 Add prototype.
37846 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
37847 prototype.
37848 (grub_halt): Likewise.
37849 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
37850 (cmain): Remove __attribute__((unused)).
37851 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
37852 (grub_heap_len): Likewise.
37853 (grub_machine_fini): New function.
37854 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
37855 (grub_halt): Likewise.
37856 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
37857 function.
37858 * util/powerpc/ieee1275/misc.c: New file.
37859
0058f771 378602005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
37861
37862 * DISTLIST: New file.
37863 * gendistlist.sh: Likewise.
f19dbdb7 37864
0058f771 37865 * Makefile.in (COMMON_DISTFILES): Removed.
37866 (BOOT_DISTFILES): Likewise.
37867 (CONF_DISTFILES): Likewise.
37868 (DISK_DISTFILES): Likewise.
37869 (FS_DISTFILES): Likewise.
37870 (INCLUDE_DISTFILES): Likewise.
37871 (KERN_DISTFILES): Likewise.
37872 (LOADER_DISTFILES): Likewise.
37873 (TERM_DISTFILES): Likewise.
37874 (UTIL_DISTFILES): Likewise.
37875 (DISTFILES): Likewise.
37876 (uninstall): Uninstall files in $(pkgdata_DATA).
37877 (DISTLIST): New target.
37878 (distdir): Use the contents of the file DISTLIST to get a list of
37879 distributed files.
37880
46b3b8a5 378812005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
37882
37883 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
37884 descriptor. This is ported from GRUB Legacy.
37885
37886 * gencmdlist.sh: Added an extra semicolon to make it work with
37887 old sed versions. Reported by Robert Bihlmeyer
37888 <robbe@orcus.priv.at>.
37889
5822ff87 378902005-03-08 Yoshinori Okuji <okuji@enbug.org>
37891
37892 Automatic loading of commands is supported.
f19dbdb7 37893
5822ff87 37894 * normal/main.c (read_command_list): New function.
37895 (grub_normal_execute): Call read_command_list.
37896
37897 * normal/command.c (grub_register_command): Return zero or CMD.
37898 Allocate CMD->NAME from the heap.
37899 Initialize CMD->MODULE_NAME to zero.
37900 Find the same name as well. If the same command is found and it is
37901 a dummy command, overwrite members. If it is not a dummy command,
37902 return zero.
37903 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
37904 (grub_command_find): If a dummy command is found, load a module
37905 and retry to find a command only once.
37906
37907 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
37908 make sure that each command is loaded.
37909
37910 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
37911 macro.
37912 (struct grub_command): Remove const from the member `name'.
37913 Add a new member `module_name'.
37914 (grub_register_command): Return grub_command_t.
37915
37916 * commands/help.c (grub_cmd_help): Call grub_command_find to make
37917 sure that each command is loaded.
37918
37919 * genmk.rb (PModule::rule): Specify a module name without the
37920 suffix ".mod" to gencmdlist.sh.
37921
7b1f4b57 379222005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
37923
37924 * gencmdlist.sh: New file.
f19dbdb7 37925
7b1f4b57 37926 * genmk.rb (PModule::rule): Generate a rule for a command list.
37927 Clean command.lst.
37928 Generate command.lst from $(COMMANDFILES).
37929
37930 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
37931 (DATA): Added $(pkgdata_DATA).
37932 (install-local): Install files in $(pkgdata_DATA).
37933
062aaf39 379342005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
37935
37936 * term/i386/pc/vga.c (debug_command): Removed.
37937 (GRUB_MOD_INIT): Do not register the command "debug".
37938
37939 From Hollis Blanchard:
37940 * commands/configfile.c: New file.
37941 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
37942 commands/configfile.c.
37943 (pkgdata_MODULES): Added configfile.mod.
37944 (configfile_mod_SOURCES): New variable.
37945 (configfile_mod_CFLAGS): Likewise.
37946 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
37947 commands/configfile.c.
37948 (pkgdata_MODULES): Added configfile.mod.
37949 (configfile_mod_SOURCES): New variable.
37950 (configfile_mod_CFLAGS): Likewise.
37951 * util/grub-emu.c (main): Call grub_configfile_init and
37952 grub_configfile_fini.
37953 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
37954 prototype.
37955 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 37956
cee01aa6 379572005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
37958
37959 * normal/arg.c (grub_arg_show_help): Do not show the bug report
37960 address.
37961
37962 * commands/help.c (grub_cmd_help): Do not print newlines after
37963 the last command in print_command_help.
37964
93f3a1d8 379652005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
37966
37967 * commands/default.h: New file.
37968 * commands/timeout.h: Likewise.
37969 * normal/context.c: Likewise.
f19dbdb7 37970
93f3a1d8 37971 * util/misc.c: Do not include sys/times.h.
37972 Include sys/time.h and grub/machine/time.h.
37973 (grub_get_rtc): Rewritten with gettimeofday.
37974
37975 * util/grub-emu.c (main): Call grub_default_init and
37976 grub_timeout_init before grub_normal_init, and call
37977 grub_timeout_fini and grub_default_fini after grub_main.
37978
37979 * util/console.c (grub_ncurses_checkkey): Return the read
37980 character or -1.
37981
37982 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
37983 timeouts.
37984
37985 * normal/main.c (read_config_file): Push MENU. If this fails,
37986 print an error and wait for a user input.
37987 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
37988 If a menu is empty or an error occurs, pop MENU.
37989 (grub_normal_execute): Pop and free MENU after grub_menu_run
37990 returns.
37991
37992 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
37993
37994 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
37995 include time.h.
37996 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
37997 without GRUB_UTIL.
37998 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
37999 time.h.
38000 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
38001 without GRUB_UTIL.
38002
38003 * include/grub/normal.h (struct grub_menu_list): New struct.
38004 (grub_menu_list_t): New type.
38005 (struct grub_context): New struct.
38006 (grub_context_t): New type.
38007 (grub_register_command): Got rid of EXPORT_FUNC.
38008 (grub_unregister_command): Likewise.
38009 (grub_context_get): New prototype.
38010 (grub_context_get_current_menu): Likewise.
38011 (grub_context_push_menu): Likewise.
38012 (grub_context_pop_menu): Likewise.
38013 [GRUB_UTIL] (grub_default_init): Likewise.
38014 [GRUB_UTIL] (grub_default_fini): Likewise.
38015 [GRUB_UTIL] (grub_timeout_init): Likewise.
38016 [GRUB_UTIL] (grub_timeout_fini): Likewise.
38017
38018 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
38019 commands/timeout.c and normal/context.c.
38020 (pkgdata_MODULES): Added default.mod and timeout.mod.
38021 (normal_mod_SOURCES): Added normal/context.c.
38022 (default_mod_SOURCES): New variable.
38023 (default_mod_CFLAGS): Likewise.
38024 (timeout_mod_SOURCES): Likewise.
38025 (timeout_mod_CFLAGS): Likewise.
38026 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
38027 conf/i386-pc.rmk.
38028 (pkgdata_MODULES): Added default.mod and timeout.mod.
38029 (normal_mod_SOURCES): Added normal/context.c.
38030 (default_mod_SOURCES): New variable.
38031 (default_mod_CFLAGS): Likewise.
38032 (timeout_mod_SOURCES): Likewise.
38033 (timeout_mod_CFLAGS): Likewise.
38034
38035 * Makefile.in (all-local): Added $(MKFILES).
38036
4ed2e1dd 380372005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
38038
38039 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
38040 (grub_emu_SOURCES): Likewise.
38041 (pkgdata_MODULES): Add `sun.mod'.
38042 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
38043 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38044 `partmap/sun.c'.
38045 (pkgdata_MODULES): Add `sun.mod'.
38046 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
38047 * include/grub/partition.h (grub_sun_partition_map_init): New
38048 prototype.
38049 (grub_sun_partition_map_fini): Likewise.
38050 * partmap/sun.c: New file.
38051 * util/grub-emu.c (main): Initialize and de-initialize the sun
38052 partitionmap support.
38053
4d4e372e 380542005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
38055
38056 This implements an Emacs-like menu entry editor.
f19dbdb7 38057
4d4e372e 38058 * normal/menu_entry.c: New file.
f19dbdb7 38059
4d4e372e 38060 * util/console.c (grub_ncurses_putchar): Translate some Unicode
38061 characters to ASCII.
38062 (saved_char): New variable.
38063 (grub_ncurses_checkkey): Rewritten completely.
38064 (grub_ncurses_getkey): Likewise.
38065 (grub_ncurses_init): Call raw instead of cbreak.
38066
38067 * normal/menu.c (print_entry): Do not put a space.
38068 (init_page): Renamed to ...
38069 (grub_menu_init_page): ... this. All callers changed.
38070 (edit_menu_entry): Removed.
38071 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
38072
38073 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
38074
38075 * kern/misc.c (grub_vprintf): Call grub_refresh.
38076
38077 * normal/menu.c (DISP_LEFT): Renamed to ...
38078 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
38079 * normal/menu.c (DISP_UP): Renamed to ...
38080 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
38081 * normal/menu.c (DISP_RIGHT): Renamed to ...
38082 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
38083 * normal/menu.c (DISP_DOWN): Renamed to ...
38084 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
38085 * normal/menu.c (DISP_HLINE): Renamed to ...
38086 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
38087 * normal/menu.c (DISP_VLINE): Renamed to ...
38088 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
38089 * normal/menu.c (DISP_UL): Renamed to ...
38090 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
38091 * normal/menu.c (DISP_UR): Renamed to ...
38092 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
38093 * normal/menu.c (DISP_LL): Renamed to ...
38094 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
38095 * normal/menu.c (DISP_LR): Renamed to ...
38096 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
38097 * normal/menu.c (TERM_WIDTH): Renamed to ...
38098 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
38099 * normal/menu.c (TERM_HEIGHT): Renamed to ...
38100 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
38101 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
38102 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
38103 * normal/menu.c (TERM_MARGIN): Renamed to ...
38104 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
38105 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
38106 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
38107 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
38108 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
38109 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
38110 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
38111 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
38112 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
38113 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
38114 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
38115 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
38116 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
38117 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
38118 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
38119 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
38120 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
38121 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
38122 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
38123 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
38124 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
38125 All callers changed.
38126
38127 * include/grub/normal.h: New prototype.
38128
38129 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
38130 normal/menu_entry.c.
38131 (normal_mod_SOURCES): Likewise.
38132 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38133 (normal_mod_SOURCES): Likewise.
38134
e6b92c8a 381352005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
38136
38137 * include/grub/normal.h (grub_halt_init): New prototype.
38138 (grub_halt_fini): Likewise.
38139 (grub_reboot_init): Likewise.
38140 (grub_reboot_fini): Likewise.
38141
38142 * util/grub-emu.c: Include signal.h.
38143 (main_env): New global variable.
38144 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
38145 catch C-c.
38146 (grub_machine_fini): New function.
38147 (main): Call grub_halt_init and grub_reboot_init before
38148 grub_main, and grub_reboot_fini and grub_halt_fini after it.
38149 Call setjmp with MAIN_ENV to go back afterwards.
38150 Call grub_machine_fini right before return.
38151
38152 * include/grub/util/misc.h: Include setjmp.h.
38153 (main_env): New prototype.
38154
38155 * include/grub/kernel.h (grub_machine_fini): New prototype.
38156 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
38157 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
38158
38159 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
38160 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
38161 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 38162
e6b92c8a 38163 * util/i386/pc/misc.c: New file.
f19dbdb7 38164
e6b92c8a 38165 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
38166 util/i386/pc/misc.c, commands/i386/pc/halt.c and
38167 commands/i386/pc/reboot.c.
38168
c642636f 381692005-02-14 Guillem Jover <guillem@hadrons.org>
38170
38171 * include/grub/dl.h (grub_dl_check_header): New prototype.
38172 (grub_arch_dl_check_header): Change return type to grub_err_t,
38173 remove size parameter and export function. Update all callers.
38174 * kern/dl.c (grub_dl_check_header): New function.
38175 (grub_dl_load_core): Use `grub_dl_check_header' instead of
38176 `grub_arch_dl_check_header'. Check ELF type. Check if sections
38177 are inside the core.
38178 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
38179 independent ELF header checks.
38180 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
38181 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
38182 `grub_dl_check_header' instead of explicit checks. Check for the
38183 ELF type.
38184 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
38185 `grub_dl_check_header' instead of explicit checks. Remove arch
38186 specific ELF header checks.
38187
e6b92c8a 38188 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
38189 argument SIZE.
38190
5eabe94b 381912005-02-13 Hollis Blanchard <hollis@penguinppc.org>
38192
38193 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
38194 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
38195
1b14a681 381962005-02-12 Hollis Blanchard <hollis@penguinppc.org>
38197
38198 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 38199 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 38200 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 38201 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 38202 * partmap/amiga.c (amiga_partition_map_iterate): Return
38203 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
38204 * partmap/apple.c (apple_partition_map_iterate): Likewise.
38205
aca108aa 382062005-02-01 Guillem Jover <guillem@hadrons.org>
38207
38208 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
38209 help info.
38210
c9f9c556 382112005-01-31 Marco Gerards <metgerards@student.han.nl>
38212
38213 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
38214 Removed prototype.
38215 (grub_rescue_cmd_linux): New prototype.
38216 (grub_rescue_cmd_initrd): Likewise.
38217 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
38218 `bi_rec'.
38219 (grub_linux_release_mem): Release the memory for the initrd.
38220 (grub_load_linux): Renamed from this...
38221 (grub_rescue_cmd_linux): ...To this. Changed all callers.
38222 Changed `entry' not to be static. Loop over memory regions to
38223 find another one when the default fails.
38224 (grub_rescue_cmd_initrd): New function.
38225 (grub_linux_init): Remove function.
38226 (grub_linux_fini): Likewise.
38227 (GRUB_MOD_INIT): Register `initrd'.
38228 (GRUB_MOD_FINI): Unregister `initrd'.
38229 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
38230 Function removed.
38231 (grub_linux_normal_fini): Likewise.
38232 (GRUB_MOD_INIT): Register `initrd'.
38233 (GRUB_MOD_FINI): Unregister `initrd'.
38234
990cf3aa 382352005-01-31 Marco Gerards <metgerards@student.han.nl>
38236
38237 * commands/help.c: New file.
38238 * normal/arg.c (show_help): Renamed to...
38239 (grub_arg_show_help): ... this.
38240 * commands/i386/pc/halt.c: New file.
38241 * commands/i386/pc/reboot.c: Likewise.
38242 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
38243 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
38244 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
38245 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
38246 variables.
38247 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38248 `commands/help.c'.
38249 (pkgdata_MODULES): Add `help.mod'.
38250 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
38251 * grub/i386/pc/init.h (grub_reboot): New prototype.
38252 (grub_halt): Likewise.
38253 * include/grub/normal.h (grub_arg_show_help): New prototype.
38254 (grub_help_init): Likewise.
38255 (grub_help_fini): Likewise.
38256 * util/grub-emu.c (main): Initialize and deinitialize the help
38257 command.
38258
38259 * normal/cmdline.c (grub_cmdline_get): Doc fix.
38260
38261 * normal/command.c (grub_command_init): Fixed the description of
38262 the `set' and `unset' commands.
38263
382642005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 38265
38266 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
38267 function.
38268 * commands/ieee1275/halt.c: New file.
38269 * commands/ieee1275/reboot.c: Likewise.
38270 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
38271 `__attribute__ ((unused))'. Some GCS related fixed.
38272 (grub_suspend_init) [GRUB_UTIL]: Function removed.
38273 (grub_suspend_fini): Likewise.
38274 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
38275 and `halt.mod'.
38276 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
38277 (halt_mod_CFLAGS): New variables.
38278 * include/grub/powerpc/ieee1275/ieee1275.h
38279 (grub_ieee1275_interpret): New prototype.
38280
1ab09cc7 382812005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
38282
38283 * include/grub/misc.h (memmove): New prototype.
38284 (memcpy): Likewise.
38285
8b8cbdb2 382862005-01-22 Hollis Blanchard <hollis@penguinppc.org>
38287
38288 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
38289 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
38290
e3741a27 382912005-01-22 Marco Gerards <metgerards@student.han.nl>
38292
38293 * kern/misc.c (grub_strndup): Function rewritten.
38294
776bd780 382952005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
38296
38297 * normal/menu.c (TERM_WIDTH): Macro redefined.
38298 (TERM_TOP_BORDER_Y): Likewise.
38299 (draw_border): Replaced while-loop by a for-loop. Make the number
38300 of lines consistent with the number of lines displayed in
38301 print_entries. Added a margin below the rectangle.
38302 (print_entry): Make the entry fit in the rectangle.
38303 (print_entries): Display the scroll arrows next to the right
38304 border.
38305
78026bce 383062005-01-21 Marco Gerards <metgerards@student.han.nl>
38307
38308 * fs/minix.c (grub_minix_find_file): Reserve more space for
38309 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
38310 `grub_strncpy' to copy `path' into it.
38311
67bbaf0f 383122005-01-21 Marco Gerards <metgerards@student.han.nl>
38313
38314 Add the loopback device, a device via which files can be accessed
38315 as devices.
f19dbdb7 38316
67bbaf0f 38317 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
38318 (pkgdata_MODULES): Add loopback.mod.
38319 (loopback_mod_SOURCES): New variable.
38320 (loopback_mod_CFLAGS): Likewise.
38321 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38322 `disk/loopback.c'.
38323 (pkgdata_MODULES): Add loopback.mod.
38324 (loopback_mod_SOURCES): New variable.
38325 (loopback_mod_CFLAGS): Likewise.
38326 * disk/loopback.c: new file.
38327 * include/grub/normal.h (grub_loop_init): New prototype.
38328 (grub_loop_fini): New prototype.
38329 * util/grub-emu.c (main): Initialize and de-initialize loopback
38330 support.
38331 * include/grub/disk.h (grub_disk_dev_id): Add
38332 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
38333
6f1c18bd 383342005-01-20 Hollis Blanchard <hollis@penguinppc.org>
38335
38336 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
38337 function.
38338 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
38339 (suspend_mod_SOURCES): New variable.
38340 (suspend_mod_CFLAGS): Likewise.
38341 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
38342 New prototype.
38343 * commands/ieee1275/suspend.c: New file.
38344
b38551da 383452005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
38346
38347 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 38348 ((unused))' to `__attribute__ ((used))'.
b38551da 38349 (GRUB_MOD_FINI): Likewise.
38350 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
38351 * genmk.rb (PModule): Assign space to common symbols when linking
38352 modules.
38353
777aff39 383542005-01-20 Marco Gerards <metgerards@student.han.nl>
38355
38356 * include/grub/mm.h (grub_mm_init_region): Change the type of the
38357 `unsigned' arguments to `grub_size_t'.
38358 (grub_malloc): Likewise.
38359 (grub_realloc): Likewise.
38360 (grub_memalign): Likewise.
38361 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
38362 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
38363 * util/misc.c (grub_malloc): Likewise.
38364 (grub_realloc): Likewise.
38365 * kern/mm.c (get_header_from_pointer): Change the casts to
38366 `unsigned' into a cast to `grub_size_t'.
38367
38368 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
38369 point to `currnode' when `currnode' is changed.
38370
38371 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
38372 Schottelius <nico-linux@schottelius.org>.
38373
d0ff18e1 383742005-01-09 Hollis Blanchard <hollis@penguinppc.org>
38375
38376 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
38377 (note_path): Remove variable.
38378 (GRUB_IEEE1275_NOTE_NAME): New macro.
38379 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
38380 (grub_ieee1275_note_hdr): New structure.
38381 (grub_ieee1275_note_desc): Likewise.
38382 (grub_ieee1275_note): Likewise.
38383 (load_note): Remove `dir' argument. All callers updated. Remove
38384 `note_img' and `path'. Do not load a file from `note_path'.
38385 Initialize a struct grub_ieee1275_note and write that to `out'.
38386 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
38387
4ca7004c 383882005-01-05 Marco Gerards <metgerards@student.han.nl>
38389
38390 * util/misc.c (grub_util_read_image): Revert last change. It
38391 called `grub_util_read_at', which seeks from the beginning of the
38392 file.
38393
0b412211 383942005-01-04 Hollis Blanchard <hollis@penguinppc.org>
38395
38396 * TODO: Add note about endianness in grub-mkimage.
38397 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
38398 section.
38399 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
38400 (grub_mkimage_SOURCES): New target.
38401 * include/grub/kernel.h (grub_start_addr): Remove variable.
38402 (grub_end_addr): Likewise.
38403 (grub_total_module_size): Likewise.
38404 (grub_kernel_image_size): Likewise.
38405 (GRUB_MODULE_MAGIC): New constant.
38406 (grub_module_info): New structure.
38407 (grub_arch_modules_addr): New prototype.
38408 (grub_get_end_addr): Remove prototype.
38409 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
38410 * include/grub/powerpc/ieee1275/kernel.h: New file.
38411 * include/grub/util/misc.h (grub_util_get_fp_size): New
38412 prototype.
38413 (grub_util_read_at): Likewise.
38414 (grub_util_write_image_at): Likewise.
38415 * kern/main.c (grub_get_end_addr): Remove function.
38416 (grub_load_modules): Call grub_arch_modules_addr instead of using
38417 grub_end_addr. Look for a grub_module_info struct in memory. Use
38418 the grub_module_info fields instead of calling grub_get_end_addr
38419 as loop conditions. Move grub_add_unused_region code here.
38420 (grub_add_unused_region): Remove function.
38421 * kern/i386/pc/init.c: Include grub/cache.h.
38422 (grub_machine_init): Remove call to grub_get_end_addr. Remove
38423 one call to add_mem_region.
38424 (grub_arch_modules_addr): New function.
38425 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
38426 (grub_total_module_size): Likewise.
38427 Include grub/machine/kernel.h.
38428 (grub_arch_modules_addr): New function.
38429 * util/grub-emu.c (grub_end_addr): Remove variable.
38430 (grub_total_module_size): Likewise.
38431 (grub_arch_modules_addr): New function.
38432 * util/misc.c: Include unistd.h.
38433 (grub_util_get_fp_size): New function.
38434 (grub_util_read_at): Likewise.
38435 (grub_util_write_image_at): Likewise.
38436 (grub_util_read_image): Call grub_util_read_at.
38437 (grub_util_write_image): Call grub_util_write_image_at.
38438 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
38439 additional memory in kernel_img for a struct grub_module_info.
38440 Fill in that grub_module_info.
38441 * util/powerpc/ieee1275/grub-mkimage.c: New file.
38442
458786f8 384432005-01-03 Hollis Blanchard <hollis@penguinppc.org>
38444
38445 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
38446 New function.
38447 * include/grub/powerpc/ieee1275/ieee1275.h
38448 (grub_ieee1275_milliseconds): New prototype.
38449 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
38450 Change to 1000.
38451 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
38452 grub_ieee1275_milliseconds.
38453
ac507d1b 384542005-01-03 Hollis Blanchard <hollis@penguinppc.org>
38455
38456 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
38457 variable.
38458 (find_options): New function.
38459 (cmain): Call find_options.
38460 * include/grub/powerpc/ieee1275/ieee1275.h
38461 (grub_ieee1275_realmode): New extern variable.
38462 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
38463 grub_map if grub_ieee1275_realmode is false.
38464
6b8fd1c4 384652004-12-29 Marco Gerards <metgerards@student.han.nl>
38466
38467 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
38468 lines are inserted and make it work like readline. Reported by
38469 Vincent Pelletier <subdino2004@yahoo.fr>.
38470
8514a1e0 384712004-12-28 Marco Gerards <metgerards@student.han.nl>
38472
38473 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
38474
38475 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
38476 `kern/powerpc/cache.S'.
38477
924b6140 384782004-12-27 Marco Gerards <metgerards@student.han.nl>
38479
38480 * genmk.rb: Handle the `Program' class in the main loop. Written
38481 by Johan Rydberg <jrydberg@gnu.org>.
38482 (Program): New class.
38483 (programs): New variable.
38484 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
38485 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
38486 instead of "grub/kernel.h". Include <grub/machine/init.h>.
38487 (help_arch): Function removed.
38488 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
38489 `powerpc/libgcc.h' and `loader.h'.
38490 (pkgdata_PROGRAMS): New variable.
38491 (sbin_UTILITIES): Variable removed.
38492 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
38493 (grubof_SOURCES): Variable re-defined so it only includes the
38494 core functionality.
38495 (grubof_CFLAGS): Remove `-DGRUBOF'.
38496 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
38497 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
38498 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
38499 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
38500 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
38501 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
38502 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
38503 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
38504 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
38505 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
38506 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
38507 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
38508 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
38509 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
38510 (pc_mod_CFLAGS): New variables.
38511 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
38512 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
38513 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
38514 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
38515 Moved from here...
38516 * include/grub/i386/pc/init.h (grub_os_area_addr)
38517 (rub_os_area_size): ... to here.
38518 * include/grub/powerpc/ieee1275/ieee1275.h
38519 (grub_ieee1275_entry_fn): Export symbol.
38520 * include/grub/powerpc/ieee1275/init.h: New file.
38521 * include/grub/powerpc/libgcc.h: Likewise.
38522 * include/grub/cache.h: Likewise.
38523 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
38524 <hollis@penguinppc.org>.
38525 * kern/dl.c: Include <grub/cache.h>.
38526 (grub_dl_flush_cache): New function.
38527 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
38528 for this module.
38529 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
38530 (grub_console_init): Removed prototypes.
38531 (grub_machine_init): Don't initialize the modules anymore.
38532 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
38533 static.
38534 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
38535 Macro undef removed.
38536 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
38537 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
38538 relocation `R_PPC_REL32'. Return an error when the relocation is
38539 unknown.
38540 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
38541 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
38542 * util/misc.c (grub_arch_sync_caches): Likewise.
38543
e4b47e0c 385442004-12-19 Marco Gerards <metgerards@student.han.nl>
38545
38546 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
38547 `symlist.c', add `grubof_symlist.c'.
38548 (symlist.c): Variable removed.
38549 (grubof_HEADERS): Variable added.
38550 (grubof_symlist.c): New target.
38551 (kernel_syms.lst): Use `grubof_HEADERS' instead of
38552 `kernel_img_HEADERS'.
38553 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
38554 * kern/powerpc/dl.c: New file.
38555 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
38556 Function removed.
38557 (grub_arch_dl_relocate_symbols): Likewise.
38558 (grub_register_exported_symbols): Likewise.
38559
4ceb3636 385602004-12-13 Marco Gerards <metgerards@student.han.nl>
38561
38562 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
38563 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
38564 to fail instead. Reported by Vincent Pelletier
38565 <subdino2004@yahoo.fr>.
38566
38567 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
38568 it is not allocated. Reported by Vincent Pelletier
38569 <subdino2004@yahoo.fr>.
38570
38571 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
38572 output so the output looks better.
f19dbdb7 38573
3f1578fe 385742004-12-04 Marco Gerards <metgerards@student.han.nl>
38575
38576 Modulize the partition map support and add support for the amiga
38577 partition map.
f19dbdb7 38578
3f1578fe 38579 * commands/ls.c: Include <grub/partition.h> instead of
38580 <grub/machine/partition.h>.
38581 * kern/disk.c: Likewise.
38582 * kern/rescue.c: Likewise.
38583 * loader/i386/pc/chainloader.c: Likewise.
38584 * normal/cmdline.c: Likewise.
38585 * kern/powerpc/ieee1275/init.c: Likewise.
38586 (grub_machine_init): Call `grub_pc_partition_map_init',
38587 `grub_amiga_partition_map_init' and
38588 `grub_apple_partition_map_init'.
38589 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
38590 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
38591 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
38592 `partition.h' and `pc_partition.h'.
38593 (grub_setup_SOURCES): Remove
38594 `disk/i386/pc/partition.c'. Add `kern/partition.c',
38595 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
38596 (grub_emu_SOURCES): Likewise.
38597 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
38598 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
38599 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
38600 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
38601 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
38602 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
38603 (grubof_SOURCES): Likewise.
38604 * disk/i386/pc/partition.c: File removed.
38605 * disk/powerpc/ieee1275/partition.c: Likewise.
38606 * include/grub/powerpc/ieee1275/partition.h: Likewise.
38607 * include/grub/i386/pc/partition.h: Likewise.
38608 * kern/partition.c: New file.
38609 * partmap/amiga.c: Likewise.
38610 * partmap/apple.c: Likewise.
38611 * partmap/pc.c: Likewise.
38612 * include/grub/partition.h: Likewise..
38613 * include/grub/pc_partition.h: Likewise.
38614 * util/grub-emu.c: Include <grub/partition.h> instead of
38615 <grub/machine/partition.h>.
38616 (main): Call `grub_pc_partition_map_init',
38617 `grub_amiga_partition_map_init' and
38618 `grub_apple_partition_map_init' and deinitialize afterwards.
38619 * util/i386/pc/biosdisk.c: Include `#include
38620 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
38621 `<grub/machine/partition.h>'.
38622 * util/i386/pc/grub-setup.c: Likewise.
38623 * util/i386/pc/biosdisk.c: Likewise.
38624 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
38625 partition information in case of a PC partition.
38626 * util/i386/pc/grub-setup.c: Include `#include
38627 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
38628 `<grub/machine/partition.h>'.
38629 (setup): Only access the PC specific partition information in case
38630 of a PC partition.
38631
0ef4ced9 386322004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 38633
0ef4ced9 38634 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
38635 (grub_longjmp): Likewise.
38636 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
38637 20.
38638 * normal/powerpc/setjmp.S: New file.
38639 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
38640 `normal/powerpc/setjmp.S'.
38641 (grubof_CFLAGS): Add `-DGRUBOF'.
38642 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
38643 [GRUB_UTIL && !GRUBOF].
f19dbdb7 38644
19950e29 386452004-11-16 Marco Gerards <metgerards@student.han.nl>
38646
38647 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
38648 property named `name'. Correctly handle the error returned by
38649 `grub_ieee1275_finddevice' if a device can not be opened.
38650
a2fea427 386512004-11-02 Hollis Blanchard <hollis@penguinppc.org>
38652
38653 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
38654 `actual' for negativity.
38655 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
38656 kern/fshelp.c.
38657
41ea0ea3 386582004-11-01 Marco Gerards <metgerards@student.han.nl>
38659
38660 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
38661 (PAGE_OFFSET): New macro.
38662 (CRTC_ADDR_PORT): Likewise.
38663 (CRTC_DATA_PORT): Likewise.
38664 (START_ADDR_HIGH_REGISTER): Likewise.
38665 (START_ADDR_LOW_REGISTER): Likewise.
38666 (GRAPHICS_ADDR_PORT): Likewise.
38667 (GRAPHICS_DATA_PORT): Likewise.
38668 (READ_MAP_REGISTER): Likewise.
38669 (INPUT_STATUS1_REGISTER): Likewise.
38670 (INPUT_STATUS1_VERTR_BIT): Likewise.
38671 (page): New variable.
38672 (wait_vretrace): New function.
38673 (set_read_map): Likewise.
38674 (set_start_address): Likewise.
38675 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
38676 the right page.
38677 (check_vga_mem): Take the page into account.
38678 (write_char): Likewise.
38679 (write_cursor): Likewise.
38680 (scroll_up): Likewise. Copy the page to the page that is not
38681 shown and switch between both pages.
38682 (grub_vga_putchar): Fix off by one error.
38683 (grub_vga_cls): Wait for the vertical retrace. Take the page into
38684 account.
38685
ad0bd20b 386862004-11-01 Marco Gerards <metgerards@student.han.nl>
38687
38688 Add support for iso9660 (including rockridge).
f19dbdb7 38689
ad0bd20b 38690 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
38691 (iso9660_mod_SOURCES): New variable.
38692 (iso9660_mod_CFLAGS): Likewise.
38693 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
38694 * include/grub/fs.h (grub_iso9660_init): New prototype.
38695 * util/grub-emu.c (main): Call `grub_iso9660_init'.
38696 * fs/iso9660.c: New file.
38697
38698 * include/grub/misc.h (grub_strncat): New prototype.
38699 * kern/misc.c (grub_strncat): New function.
f19dbdb7 38700
ad0bd20b 38701 * fs/hfs.c (grub_hfs_mount): Translate the error
38702 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
38703 * fs/jfs.c (grub_jfs_mount): Likewise.
38704 * fs/ufs.c (grub_ufs_mount): Likewise.
38705
a5477a59 387062004-10-28 Hollis Blanchard <hollis@penguinppc.org>
38707
38708 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
38709 which initialized BAT registers.
38710 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
38711 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
38712 Move from here...
38713 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
38714 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
38715 ... to here.
38716 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
38717 (grub_mapclaim): Likewise.
38718 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
38719 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
38720 hand.
38721
9304c1f8 387222004-10-19 Hollis Blanchard <hollis@penguinppc.org>
38723
38724 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
38725 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
38726 -ffreestanding and -msoft-float.
38727
86f4ae25 387282004-10-15 Hollis Blanchard <hollis@penguinppc.org>
38729
38730 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
38731 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
38732 set in grub_ieee1275_flags.
38733
38912228 387342004-10-14 Hollis Blanchard <hollis@penguinppc.org>
38735
38736 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
38737 prototype.
38738 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
38739 grub_console_init first.
38740 Change the memory range used for grub_ieee1275_claim and
38741 grub_mm_init_region.
38742 Print an error message if the claim fails.
38743 Include <grub/misc.h>.
38744
d1923dc8 387452004-10-13 Hollis Blanchard <hollis@penguinppc.org>
38746
38747 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
38748 Call grub_children_iterate for device nodes of type `scsi',
38749 `ide', or `ata'.
38750 (grub_ofdisk_open): Remove manual device alias resolution.
38751 Fix memory leak when device cannot be opened.
f19dbdb7 38752 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 38753 (grub_children_iterate): New prototype.
38754 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
38755 New function.
38756 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
38757 Return -1 if args.size was -1.
38758
4512e4f3 387592004-10-11 Hollis Blanchard <hollis@penguinppc.org>
38760
38761 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
38762 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
38763 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
38764 Open Firmware's memory for it; claim memory from _start to _end.
38765 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
38766 (_end): New extern.
38767 (_start): Zero BSS from __bss_start to _end.
38768 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
38769 New extern.
38770 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
38771
4d61feb0 387722004-10-11 Hollis Blanchard <hollis@penguinppc.org>
38773
ad0bd20b 38774 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
38775 -1 if args.base was -1.
4d61feb0 38776
026fa2f9 387772004-10-08 Hollis Blanchard <hollis@penguinppc.org>
38778
38779 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
38780 escape sequence instead of a literal ^L. Also call
38781 grub_ofconsole_gotoxy.
38782
9f2220ef 387832004-10-03 Hollis Blanchard <hollis@penguinppc.org>
38784
38785 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
38786 void * arguments to grub_addr_t. All callers updated. Also make
38787 the `result' argument optional.
38788 (grub_ieee1275_release): change void * arguments to grub_addr_t.
38789 All callers updated.
38790
8a572cd7 387912004-09-22 Hollis Blanchard <hollis@penguinppc.org>
38792
38793 * commands/ls.c (grub_ls_list_files): Use the string following the
38794 initial ')', if present, as the filesystem path.
38795 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
38796
38797 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
38798
18aa81f2 387992004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
38800
38801 Make the source code of the menu interface more readable.
f19dbdb7 38802
18aa81f2 38803 * normal/menu.c: Include grub/mm.h.
38804 (TERM_WIDTH): New macro.
38805 (TERM_HEIGHT): Likewise.
38806 (TERM_INFO_HEIGHT): Likewise.
38807 (TERM_MARGIN): Likewise.
38808 (TERM_SCROLL_WIDTH): Likewise.
38809 (TERM_TOP_BORDER_Y): Likewise.
38810 (TERM_LEFT_BORDER_X): Likewise.
38811 (TERM_BORDER_WIDTH): Likewise.
38812 (TERM_MESSAGE_HEIGHT): Likewise.
38813 (TERM_BORDER_HEIGHT): Likewise.
38814 (TERM_NUM_ENTRIES): Likewise.
38815 (TERM_FIRST_ENTRY_Y): Likewise.
38816 (TERM_ENTRY_WIDTH): Likewise.
38817 (TERM_CURSOR_X): Likewise.
38818 (draw_border): Use macros instead of magic numbers.
38819 (print_entry): Likewise.
38820 (print_entries): Likewise.
38821 (run_menu): Likewise. Also, handle the key 'e'.
38822 (run_menu_entry): Ignore empty command lines.
38823 (print_message): Added a new argument EDIT. If EDIT is true,
38824 print a different message.
38825 (init_page): Likewise.
38826 (edit_menu_entry): New function. Not implemented yet.
38827
b47efe30 388282004-09-17 Marco Gerards <metgerards@student.han.nl>
38829
38830 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
38831 can be loaded from normal mode.
f19dbdb7 38832
b47efe30 38833 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
38834 `multiboot.mod'.
38835 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
38836 (multiboot_mod_CFLAGS): New variables.
38837 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 38838 * loader/i386/pc/multiboot_normal.c: Likewise.
38839
b47efe30 38840 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
38841 attribute `unused'.
f19dbdb7 38842
b47efe30 38843 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
38844 `fdiro' to read the mode information from instead of `diro'.
38845
38846 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
38847 looking up a symlink.
38848
38849 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
38850 macro.
38851 * normal/command.c (grub_command_execute): Don't parse the
38852 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
38853 flags of the command.
38854
38855 * normal/menu.c (grub_menu_run): Fix typo.
38856
da75ac71 388572004-09-14 Hollis Blanchard <hollis@penguinppc.org>
38858
38859 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
38860
38861 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
38862 `y + 1' instead of `y - 1'.
38863
38864 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 38865
062b24c2 388662004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
38867
38868 From Hollis Blanchard <hollis@penguinppc.org>:
38869 * kern/misc.c (memmove): New alias for grub_memmove.
38870 (memcmp): New alias for grub_memcmp.
38871 (memset): New alias for grub_memset.
f19dbdb7 38872 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 38873 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 38874 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 38875 (grub_ieee1275_get_property): Likewise.
f19dbdb7 38876
8ddad845 388772004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
38878
38879 Added normal mode command `chainloader' as module chain.mod, which
38880 depends on normal.mod and _chain.mod.
f19dbdb7 38881
8ddad845 38882 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
38883 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
38884 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
38885 Deleted prototype.
38886 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
38887 but arguments parsing moved to ...
38888 (grub_chainloader_cmd): ... here. New function.
38889 * include/grub/i386/pc/chainloader.h: New file.
38890 * loader/i386/pc/chainloader_normal.c: Likewise.
38891
2c1f4ce3 388922004-09-11 Marco Gerards <metgerards@student.han.nl>
38893
38894 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
38895 (grub_mkimage_LDFLAGS): Likewise.
38896 (grub_emu_SOURCES): Likewise.
38897 (kernel_img_HEADERS): Added fshelp.h.
38898 * fs/ext2.c: Include <grub/fshelp.h>.
38899 (FILETYPE_REG): New macro.
38900 (FILETYPE_INO_REG): Likewise.
38901 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
38902 Changed all users.
38903 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
38904 all users.
38905 (grub_fshelp_node): New struct.
38906 (grub_ext2_data): Added member `diropen'. Changed member `inode'
38907 to a pointer.
38908 (grub_ext2_get_file_block): Removed function.
38909 (grub_ext2_read_block): New function.
38910 (grub_ext2_read_file): Replaced parameter `data' by `node'.
38911 This function was written.
38912 (grub_ext2_mount): Read the root inode. Create a diropen struct.
38913 (grub_ext2_find_file): Removed function.
38914 (grub_ext2_read_symlink): New function.
38915 (grub_ext2_iterate_dir): Likewise.
38916 (grub_ext2_open): Rewritten.
38917 (grub_ext2_dir): Rewritten.
38918 * include/grub/fshelp.h: New file.
38919 * fs/fshelp.c: Likewise.
38920
3c52136a 389212004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
38922
38923 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
38924 (print_message): Add a missing newline.
38925 (run_menu): Added timeout support.
38926 (run_menu_entry): New local function.
38927 (grub_menu_run): Added support for booting.
38928
38929 * kern/loader.c (grub_loader_is_loaded): New function.
38930
38931 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
38932 (grub_get_rtc): Exported.
38933
38934 * include/grub/i386/pc/time.h: Include grub/symbol.h.
38935 (grub_get_rtc): Exported.
38936
38937 * include/grub/normal.h (struct grub_command_list): Remove
38938 constant from the member `command'.
38939
38940 * include/grub/loader.h (grub_loader_is_loaded): Declared.
38941
38942 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
38943
38944 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
38945
aa033560 389462004-08-28 Marco Gerards <metgerards@student.han.nl>
38947
38948 Add support for the JFS filesystem.
38949
38950 * fs/jfs.c: New file.
38951 * include/grub/fs.h (grub_jfs_init): New prototype.
38952 (grub_jfs_fini): New prototype.
38953 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
38954 (grub_emu_SOURCES): Likewise.
38955 (pkgdata_MODULES): Add jfs.mod.
38956 (jfs_mod_SOURCES): New variable.
38957 (jfs_mod_CFLAGS): Likewise.
38958 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
38959 (grubof_SOURCES): Likewise.
38960 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
38961
38962 * fs/fat.c (grub_fat_find_dir): Convert the filename little
38963 endian to the host endian.
38964 (grub_fat_utf16_to_utf8): Move function from there...
38965 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 38966 the endianness of the source string anymore.
aa033560 38967 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
38968
94bc45af 389692004-08-24 Marco Gerards <metgerards@student.han.nl>
38970
38971 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
38972 (grub_boot_fini) [GRUB_UTIL]: Likewise.
38973 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
38974 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 38975
94bc45af 38976 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
38977 (grub_hfs_iterate_dir): Make the function static. Add prototypes
38978 for `node_found' and `it_dir'.
38979 (grub_hfs_dir): Add prototype for `dir_hook'.
38980
38981 * fs/minix.c (grub_minix_get_file_block): Add prototype for
38982 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
38983 and `indir32' to silence a gcc warning.
38984
38985 * include/grub/fs.h (grub_hfs_init): New prototype.
38986 (grub_hfs_fini): Likewise.
f19dbdb7 38987
38988
97543f08 389892004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
38990
38991 Each disk device has its own id now. This is useful to make use
38992 of multiple disk devices.
f19dbdb7 38993
97543f08 38994 * include/grub/disk.h (grub_disk_dev_id): New enum.
38995 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
38996 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
38997
38998 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
38999 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
39000
39001 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
39002 GRUB_DISK_DEVICE_OFDISK_ID as an id.
39003
39004 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
39005 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
39006
39007 * include/grub/disk.h (struct grub_disk_dev): Added a new member
39008 "id" which is used by the cache manager.
39009
39010 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
39011 of just "GRUB".
39012
64372eb4 390132004-08-18 Marco Gerards <metgerards@student.han.nl>
39014
39015 * fs/hfs.c: New file.
39016 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
39017 (grub_emu_SOURCES): Likewise.
39018 (pkgdata_MODULES): Add hfs.mod.
39019 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
39020 (grubof_SOURCES): Likewise.
39021 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
39022
39023 * include/grub/misc.h (grub_strncasecmp): Add prototype.
39024 * kern/misc.c (grub_strncasecmp): Add function.
39025
cc61b58f 390262004-08-14 Marco Gerards <metgerards@student.han.nl>
39027
39028 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
39029 with parentheses.
39030
39031 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
39032 (grub_ext2_dir): In case the directory entry type is unknown, read
39033 it from the inode.
39034
0ef123f6 390352004-08-02 Peter Bruin <pjbruin@dds.nl>
39036
39037 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
39038 grub_load_linux instead of grub_rescue_cmd_linux as second
39039 argument of grub_rescue_register_command.
39040
39041 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
39042
a447c5df 390432004-07-27 Marco Gerards <metgerards@student.han.nl>
39044
39045 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
39046 function.
39047 * commands/boot.c: Remove the check for `GRUB_UTIL'.
39048 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
39049 `loader/powerpc/ieee1275/linux.c',
39050 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
39051 * include/grub/powerpc/ieee1275/ieee1275.h
39052 (grub_ieee1275_release): New prototype.
39053 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
39054 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
39055 normal, boot, linux and linux_normal.
39056 * loader/powerpc/ieee1275/linux.c: New file.
39057 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
39058
5a9e3546 390592004-07-12 Marco Gerards <metgerards@student.han.nl>
39060
39061 * normal/arg.c (grub_arg_parse): Correct error handling after
39062 reallocating the argumentlist (check if `argl' is not null instead
39063 of checking if `args' is not null).
39064 * kern/mm.c (grub_realloc): Return the same pointer when using the
39065 same region, instead of returning the header address.
39066
e15199cb 390672004-07-11 Marco Gerards <metgerards@student.han.nl>
39068
39069 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
39070 one block instead of two when looking for the initial partition.
39071 (grub_partition_probe): Initialize the local variable `p' with 0.
39072 Use base 10 for the grub_strtoul call.
39073 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
39074 need for one local variable.
39075 (grub_strtoul): Don't add the new value to `num', instead of that
39076 just assign it.
39077
020616c2 390782004-07-11 Marco Gerards <metgerards@student.han.nl>
39079
39080 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
39081 (pxeboot_img_SOURCES): New variable.
39082 (pxeboot_img_ASFLAGS): Likewise.
39083 (pxeboot_img_LDFLAGS): Likewise.
39084 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
39085 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
39086 <lode_leroy@hotmail.com>.
39087
6c51eb64 390882004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
39089
39090 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
39091 there was no input.
39092
cfb12aff 390932004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
39094
39095 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
39096 the history buffer logic.
39097
6eabba74 390982004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
39099
39100 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
39101 (FILETYPE_INO_SYMLINK): New macros.
39102 (grub_ext2_find_file): Check if the node is a directory using the
39103 inode stat information instead of using the filetype in the
39104 dirent. Exclude the first character of an absolute symlink.
39105 (grub_ext2_dir): Mask out the filetype part of the mode member of
39106 the inode.
39107
66e19ef8 391082004-05-24 Marco Gerards <metgerards@student.han.nl>
39109
39110 Add support for UFS version 1 and 2. Add support for the minix
39111 filesystem version 1 and 2, both the variants with 14 and 30 long
39112 filenames.
f19dbdb7 39113
66e19ef8 39114 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
39115 fs/minix.c.
39116 (grub_emu_SOURCES): Likewise.
39117 (pkgdata_MODULES): Add ufs.mod and minix.mod.
39118 (ufs_mod_SOURCES): New variable.
39119 (ufs_mod_CFLAGS): Likewise.
39120 (minix_mod_SOURCES): Likewise.
39121 (minix_mod_CFLAGS): Likewise.
39122 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
39123 fs/minix.c.
39124 (grubof_SOURCES): Likewise.
39125 * fs/ufs.c: New file.
39126 * fs/minix.c: New file.
39127 * include/grub/fs.h (grub_ufs_init): New prototype.
39128 (grub_ufs_fini): Likewise.
39129 (grub_minix_init): Likewise.
39130 (grub_minix_fini): Likewise.
39131 * util/grub-emu.c (main): Initialize and deinitialize UFS and
39132 minix fs.
39133
cc2e748a 391342004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
39135
39136 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
39137 commands/ls.c, commands/terminal.c, commands/boot.c,
39138 commands/cmp.c and commands/cat.c.
39139 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
39140
39141 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
39142 "env.h"
39143
4b13b216 391442004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
39145
39146 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
39147 and grub_, respectively. Because the conversion is trivial and
39148 mechanical, I omit the details here. Please refer to the CVS
39149 if you need more information.
39150
6a142551 391512004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
39152
39153 * include/pupa: Renamed to ...
39154 * include/grub: ... this.
39155 * util/i386/pc/pupa-mkimage.c: Renamed to ...
39156 * util/i386/pc/grub-mkimage.c: ... this.
39157 * util/i386/pc/pupa-setup.c: Renamed to ...
39158 * util/i386/pc/grub-setup.c: ... this.
39159 * util/pupa-emu.c: Renamed to ...
39160 * util/grub-emu.c: ... this.
39161
e56cdf21 391622004-03-29 Marco Gerards <metgerards@student.han.nl>
39163
39164 Add support for the newworld apple macintosh (PPC). This has been
39165 tested on the powerbook 2000 only. It only adds support for
39166 generic ieee1275 functions, console and disk support. This should
39167 be easy to port to other architectures with support for Open
39168 Firmware.
f19dbdb7 39169
e56cdf21 39170 * configure.ac: Accept the powerpc as host_cpu. In the case of
39171 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
39172 specific tests are only executed while building for the i386.
39173 Inverse test for crosscompile.
39174 * genmk.rb (Utility): Allow assembler files.
39175 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
39176 * conf/powerpc-ieee1275.rmk: New file.
39177 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
39178 * disk/powerpc/ieee1275/partition.c: Likewise.
39179 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
39180 * include/pupa/powerpc/ieee1275/console.h: Likewise.
39181 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
39182 * include/pupa/powerpc/ieee1275/time.h: Likewise.
39183 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
39184 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
39185 * include/pupa/powerpc/ieee1275/loader.h
39186 * include/pupa/powerpc/setjmp.h: Likewise.
39187 * include/pupa/powerpc/types.h: Likewise.
39188 * kern/powerpc/ieee1275/init.c: Likewise.
39189 * kern/powerpc/ieee1275/openfw.c: Likewise.
39190 * term/powerpc/ieee1275/ofconsole.c: Likewise.
39191
39192 These files were written by Johan Rydberg
39193 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 39194
e56cdf21 39195 * boot/powerpc/ieee1275/cmain.c: New file.
39196 * boot/powerpc/ieee1275/crt0.S: Likewise.
39197 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
39198 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
39199
8c8cc205 392002004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
39201
39202 * Makefile.in: Update copyright.
39203 * genmodsrc.sh: Likewise.
39204 * gensymlist.sh: Likewise.
39205 * term/i386/pc/vga.c: Indent correctly.
39206
39207 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
39208 bugreporting address.
39209 * util/i386/pc/pupa-setup.c (usage): Likewise,
39210 (main): Call pupa_ext2_init and pupa_ext2_fini.
39211
f19dbdb7 39212 * fs/fat.c (log2): Renamed to ...
8c8cc205 39213 (fat_log2): ... this.
39214 All callers changed.
39215 * kern/misc.c (memcpy): Alias to pupa_memmove.
39216 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
39217 lvalue cast.
39218 * util/console.c (pupa_ncurses_fini): Return 0.
39219
39220 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
39221 Move fail label here.
39222 [__GNU__]: Don't warn when using stat.
39223 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
39224 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
39225 long int. Use strtol instead of strtoul.
f19dbdb7 39226
db1771cf 392272004-03-14 Marco Gerards <metgerards@student.han.nl>
39228
39229 * commands/boot.c: New file.
39230 * commands/cat.c: Likewise.
39231 * commands/cmp.c: Likewise.
39232 * commands/ls.c: Likewise.
39233 * commands/terminal.c: Likewise.
39234 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
39235 (pupa_register_command): Changed interface to match the new
39236 argument parser.
39237 (pupa_command_execute): Changed (almost rewritten) so it uses
39238 pupa_split_command. Added support for setting variables using the
39239 syntax `foo=bar'.
39240 (rescue_command): Changed to work with the new argument parser.
39241 (terminal_command): Moved from here to commands/terminal.c.
39242 (set_command): New function.
39243 (unset_command): New function.
39244 (insmod_command): New function.
39245 (rmmod_command): New function.
39246 (lsmod_command): New function.
39247 (pupa_command_init): Don't initialize the command terminal
39248 anymore. Initialize the commands set, unset, insmod, rmmod and
39249 lsmod.
39250 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
39251 (kernel_img_HEADERS): Add arg.h and env.h.
39252 (pupa_mkimage_LDFLAGS): Add kern/env.c.
39253 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
39254 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
39255 normal/arg.c.
39256 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
39257 terminal.mod.
39258 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
39259 (boot_mod_SOURCES): New variable.
39260 (terminal_mod_SOURCES): Likewise.
39261 (ls_mod_SOURCES): Likewise.
39262 (cmp_mod_SOURCES): Likewise.
39263 (cat_mod_SOURCES): Likewise.
39264
39265 * normal/arg.c: New file.
39266 * kern/env.c: Likewise.
39267 * include/pupa/arg.h: Likewise.
39268 * include/pupa/env.h: Likewise.
39269 * font/manager.c (font_command): Changed to match argument parsing
39270 interface changes.
39271 (PUPA_MOD_INIT): Likewise.
39272 * hello/hello.c (pupa_cmd_hello): Likewise.
39273 (PUPA_MOD_INIT): Likewise.
39274 * include/pupa/disk.h: Include <pupa/device.h>.
39275 (pupa_print_partinfo): New prototype.
39276 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
39277 (pupa_dl_get_prefix): Likewise.
39278 * include/pupa/misc.h: Include <pupa/err.h>.
39279 (pupa_isgraph): New prototype.
39280 (pupa_isdigit): Likewise.
39281 (pupa_split_cmdline): Likewise.
39282 * include/pupa/normal.h: Include <pupa/arg.h>.
39283 (pupa_command): Changed the prototype of the member `func' to
39284 match the argument parsing interface. Added member `options'.
39285 (pupa_register_command): Updated to match function.
39286 (pupa_arg_parse): New prototype.
39287 (pupa_hello_init) [PUPA_UTIL]: New prototype.
39288 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
39289 (pupa_ls_init) [PUPA_UTIL]: Likewise.
39290 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
39291 (pupa_cat_init) [PUPA_UTIL]: Likewise.
39292 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
39293 (pupa_boot_init) [PUPA_UTIL]: Likewise.
39294 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
39295 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
39296 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
39297 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
39298 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
39299 * kern/disk.c: Include <pupa/file.h>.
39300 (pupa_print_partinfo): New function.
39301 * kern/dl.c: Include <pupa/env.h>.
39302 (pupa_dl_dir): Variable removed.
39303 (pupa_dl_load): Use the environment variable `prefix' instead of
39304 the variable pupa_dl_dir.
39305 (pupa_dl_set_prefix): Function removed.
39306 (pupa_dl_get_prefix): Likewise.
39307 * kern/i386/pc/init.c: Include <pupa/env.h>.
39308 (pupa_machine_init): Use the environment variable `prefix' instead of
39309 using pupa_dl_set_prefix to set the prefix.
39310 * kern/main.c: Include <pupa/env.h>.
39311 (pupa_set_root_dev): Use the environment variable `prefix' instead of
39312 using pupa_dl_get_prefix to get the prefix.
39313 * kern/misc.c: Include <pupa/env.h>.
39314 (pupa_isdigit): New function.
39315 (pupa_isgraph): Likewise.
39316 (pupa_ftoa): Likewise.
39317 (pupa_vsprintf): Added support for printing values of the type
39318 `double'. Make it possible to format variable output when using
39319 formatting like `%1.2%f'.
39320 (pupa_split_cmdline): New function.
39321 * kern/rescue.c: Include <pupa/env.h>.
39322 (next_word): Removed function.
39323 (pupa_rescue_cmd_prefix): Likewise.
39324 (pupa_rescue_cmd_set): New function.
39325 (pupa_rescue_cmd_unset): New function.
39326 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
39327 split the command line instead of splitting it here. Added
39328 support for setting variables using the syntax `foo=bar'. Don't
39329 initialize the prefix command anymore. Initialized the set and
39330 unset commands.
39331 * normal/cmdline.c: Include <pupa/env.h>.
39332 (pupa_tab_complete): Added prototypes for print_simple_completion,
39333 print_partition_completion, add_completion, iterate_commands,
39334 iterate_dev, iterate_part and iterate_dir. Moved code to print
39335 partition information from here to kern/disk.c.
fe6b695a 39336 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 39337 * normal/main.c: Include <pupa/env.h>.
39338 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
39339 instead of using pupa_dl_get_prefix to get the prefix.
39340 * term/i386/pc/vga.c: Include <pupa/arg.h>.
39341 (check_vga_mem): Cast pointers to `void *' to silence a gcc
39342 warning.
39343 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
39344 (pupa_vga_setcolor): Declare unused variables with `__attribute__
39345 ((unused))' to silence a gcc warning.
39346 (pupa_vga_setcolor): Likewise.
39347 (debug_command): Changed to match argument parsing
39348 interface changes.
39349 * util/pupa-emu.c: Include <pupa/env.h>.
39350 (options): Added 0's for unused fields to silence a gcc warning.
39351 (argp): Likewise.
39352 (main): Use the environment variable `prefix' instead of using
39353 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
39354 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
39355 and terminal.
39356
39357 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
39358 * util/misc.c: Include <malloc.h>.
39359 (pupa_malloc): Rewritten so errors are correctly reported.
39360 (pupa_realloc): Likewise.
39361 (pupa_memalign): Likewise.
39362 (pupa_mm_init_region): Declare unused variables with
39363 `__attribute__ ((unused))' to silence a gcc warning.
39364 * normal/i386/setjmp.S: Remove tab at the end of the file to
39365 silence a gcc warning.
39366 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
39367 variables with `__attribute__ ((unused))' to silence a gcc
39368 warning.
39369 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
39370 local variable i unsigned to silence a gcc warning.
39371
39372 * kern/term.c: Include <pupa/misc.h>.
39373 (pupa_more_lines): New variable.
39374 (pupa_more): Likewise.
39375 (pupa_putcode): When the pager is active pause at the end of every
39376 screen.
39377 (pupa_set_more): New function.
39378 * include/pupa/term.h (pupa_set_more): New prototype.
39379
39380
3b1139cb 393812004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
39382
39383 Now this project is GRUB 2 rather than PUPA. The location of
39384 the CVS repository was moved to GRUB's.
f19dbdb7 39385
3b1139cb 39386 * configure.ac: Use bug-grub as the reporting address.
39387 Use GRUB instead of PUPA.
39388 Change the version number to 1.90.
39389
8367695c 393902004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
39391
39392 * genkernsyms.sh: Updated copyright information.
39393 * genmk.rb: Likewise.
39394 * genmodsrc.sh: Likewise.
39395 * gensymlist.sh: Likewise.
39396 * boot/i386/pc/boot.S: Likewise.
39397 * boot/i386/pc/diskboot.S: Likewise.
39398 * disk/i386/pc/biosdisk.c: Likewise.
39399 * disk/i386/pc/partition.c: Likewise.
39400 * font/manager.c: Likewise.
39401 * fs/ext2.c: Likewise.
39402 * fs/fat.c: Likewise.
39403 * include/pupa/boot.h: Likewise.
39404 * include/pupa/device.h: Likewise.
39405 * include/pupa/disk.h: Likewise.
39406 * include/pupa/dl.h: Likewise.
39407 * include/pupa/elf.h: Likewise.
39408 * include/pupa/err.h: Likewise.
39409 * include/pupa/file.h: Likewise.
39410 * include/pupa/font.h: Likewise.
39411 * include/pupa/fs.h: Likewise.
39412 * include/pupa/kernel.h: Likewise.
39413 * include/pupa/loader.h: Likewise.
39414 * include/pupa/misc.h: Likewise.
39415 * include/pupa/mm.h: Likewise.
39416 * include/pupa/net.h: Likewise.
39417 * include/pupa/normal.h: Likewise.
39418 * include/pupa/rescue.h: Likewise.
39419 * include/pupa/setjmp.h: Likewise.
39420 * include/pupa/symbol.h: Likewise.
39421 * include/pupa/term.h: Likewise.
39422 * include/pupa/types.h: Likewise.
39423 * include/pupa/i386/setjmp.h: Likewise.
39424 * include/pupa/i386/types.h: Likewise.
39425 * include/pupa/i386/pc/biosdisk.h: Likewise.
39426 * include/pupa/i386/pc/boot.h: Likewise.
39427 * include/pupa/i386/pc/console.h: Likewise.
39428 * include/pupa/i386/pc/init.h: Likewise.
39429 * include/pupa/i386/pc/kernel.h: Likewise.
39430 * include/pupa/i386/pc/linux.h: Likewise.
39431 * include/pupa/i386/pc/loader.h: Likewise.
39432 * include/pupa/i386/pc/memory.h: Likewise.
39433 * include/pupa/i386/pc/multiboot.h: Likewise.
39434 * include/pupa/i386/pc/partition.h: Likewise.
39435 * include/pupa/i386/pc/time.h: Likewise.
39436 * include/pupa/i386/pc/vga.h: Likewise.
39437 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
39438 * include/pupa/util/getroot.h: Likewise.
39439 * include/pupa/util/misc.h: Likewise.
39440 * include/pupa/util/resolve.h: Likewise.
39441 * kern/device.c: Likewise.
39442 * kern/disk.c: Likewise.
39443 * kern/dl.c: Likewise.
39444 * kern/err.c: Likewise.
39445 * kern/file.c: Likewise.
39446 * kern/fs.c: Likewise.
39447 * kern/loader.c: Likewise.
39448 * kern/main.c: Likewise.
39449 * kern/misc.c: Likewise.
39450 * kern/mm.c: Likewise.
39451 * kern/rescue.c: Likewise.
39452 * kern/term.c: Likewise.
39453 * kern/i386/dl.c: Likewise.
39454 * kern/i386/pc/init.c: Likewise.
39455 * kern/i386/pc/lzo1x.S: Likewise.
39456 * kern/i386/pc/startup.S: Likewise.
39457 * loader/i386/pc/chainloader.c: Likewise.
39458 * loader/i386/pc/linux.c: Likewise.
39459 * loader/i386/pc/multiboot.c: Likewise.
39460 * normal/cmdline.c: Likewise.
39461 * normal/command.c: Likewise.
39462 * normal/main.c: Likewise.
39463 * normal/menu.c: Likewise.
39464 * normal/i386/setjmp.S: Likewise.
39465 * term/i386/pc/console.c: Likewise.
39466 * term/i386/pc/vga.c: Likewise.
39467 * util/console.c: Likewise.
39468 * util/genmoddep.c: Likewise.
39469 * util/misc.c: Likewise.
39470 * util/pupa-emu.c: Likewise.
39471 * util/resolve.c: Likewise.
39472 * util/unifont2pff.rb: Likewise.
39473 * util/i386/pc/biosdisk.c: Likewise.
39474 * util/i386/pc/getroot.c: Likewise.
39475 * util/i386/pc/pupa-mkimage.c: Likewise.
39476 * util/i386/pc/pupa-setup.c: Likewise.
39477
e6eced71 394782004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
39479
39480 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
39481 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
39482 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
39483 reading and reset it after reading.
39484 (pupa_ext2_close): Return PUPA_ERR_NONE.
39485
39486 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
39487 Correct value.
39488 (struct linux_kernel_header): Add kernel_version and
39489 initrd_addr_max.
39490 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
39491 pupa_file_read succeeds.
39492 (pupa_rescue_cmd_initrd): Implement.
39493
5aded270 394942003-12-03 Marco Gerards <metgerards@student.han.nl>
39495
39496 * fs/ext2.c (pupa_ext2_label): New function.
39497 (pupa_ext2_fs): Added label.
39498 * fs/fat.c (pupa_fat_label): New function.
39499 (pupa_fat_fs): Added label.
39500 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
39501
39502 * kern/misc.c (pupa_strndup): New function.
39503 * include/pupa/misc.h (pupa_strndup): New prototype.
39504
39505 * include/pupa/normal.h: Include <pupa/err.h>.
39506 (pupa_set_history): New prototype.
39507 (pupa_iterate_commands): New prototype.
39508 * normal/cmdline.c: Include <pupa/machine/partition.h>,
39509 <pupa/disk.h>, <pupa/file.h>.
39510 (hist_size): New variable.
39511 (hist_lines): Likewise.
39512 (hist_end): Likewise.
39513 (hist_used): Likewise.
39514 (pupa_set_history): New function.
39515 (pupa_history_get): Likewise.
39516 (pupa_history_add): Likewise.
39517 (pupa_history_replace): Likewise.
39518 (pupa_tab_complete): Likewise.
39519 (pupa_cmdline_run): Added tab completion and history buffer. Tab
39520 completion shows partitionnames while completing partitions, this
39521 feature was suggested by Jeff Bailey.
39522 * normal/command.c (pupa_iterate_commands): New function.
39523 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
39524 (pupa_normal_init): Initialize history buffer.
39525 (PUPA_MOD_INIT): Likewise.
39526 (pupa_normal_fini): Free the history buffer.
39527 (PUPA_MOD_FINI): Likewise.
39528
39529 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
39530 key.
39531
39532 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
39533 * configure.ac [i386]: Check for regparam bug.
39534 (NESTED_FUNC_ATTR) [! i386]: Defined.
39535
1f7315a3 395362003-11-17 Marco Gerards <metgerards@student.han.nl>
39537
39538 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
39539 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
39540 (pupa_emu_SOURCES): New variable.
39541 (pupa_emu_LDFLAGS): Likewise.
39542 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
39543 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
39544 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
39545 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
39546 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
39547 (pupa_jmp_buf): New typedef.
39548 (pupa_setjmp) [PUPA_UTIL]: New macro.
39549 (pupa_longjmp) [PUPA_UTIL]: Likewise.
39550 * include/pupa/term.h (struct pupa_term): New member `refresh'.
39551 (pupa_refresh): New prototype.
39552 * include/pupa/util/getroot.h: New file.
39553 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
39554 it.
39555 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
39556 (pupa_rescue_cmd_cat): Likewise.
39557 (pupa_rescue_cmd_ls): Likewise.
39558 (pupa_rescue_cmd_testload): Likewise.
39559 (pupa_rescue_cmd_lsmod): Likewise.
39560 * normal/cmdline.c (pupa_cmdline_get): Likewise.
39561 * normal/menu.c (run_menu): Likewise.
39562 * kern/term.c (pupa_cls): Likewise.
39563 (pupa_refresh): New function.
39564 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
39565 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
39566 * util/console.c: New file.
f19dbdb7 39567
1f7315a3 39568 * util/i386/pc/getroot.c: New file.
39569 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
39570 (pupa_putchar): New function.
39571 (pupa_refresh): Likewise.
39572 (xgetcwd): Function moved to ...
39573 (strip_extra_slashes): Likewise.
39574 (get_prefix): Likewise.
f19dbdb7 39575 * util/i386/pc/getroot.c: ... here.
1f7315a3 39576 (find_root_device): Function moved and renamed to...
39577 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
39578 Changed all callers.
39579 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
39580 and renamed to...
39581 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
39582 Changed all callers.
39583 * util/misc.c (pupa_memalign): New function.
39584 (pupa_mm_init_region): Likewise.
39585 (pupa_register_exported_symbols): Likewise.
39586 (pupa_putchar): Function removed.
39587 * util/pupa-emu.c: New file.
39588
9a5c1ade 395892003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
39590
39591 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
39592 (_multiboot_mod_SOURCES): New variable.
39593 (_multiboot_mod_CFLAGS): Likewise.
39594 * loader/i386/pc/multiboot.c: New file.
39595 * include/pupa/i386/pc/multiboot.h: Likewise.
39596 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
39597 (pupa_multiboot_real_boot): New function.
39598 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
39599 (pupa_multiboot_real_boot): New prototype.
39600 (pupa_rescue_cmd_multiboot): Likewise
39601 (pupa_rescue_cmd_module): Likewise.
39602
39603 * kern/loader.c (pupa_loader_set): Continue when
39604 pupa_loader_unload_func() fails.
39605 (pupa_loader_unset): New function.
39606 * include/pupa/loader.h (pupa_loader_unset): New prototype.
39607
39608 * kern/misc.c (pupa_stpcpy): New function.
39609 * include/pupa/misc.h (pupa_stpcpy): New prototype.
39610
8e72a9c0 396112003-11-12 Marco Gerards <metgerards@student.han.nl>
39612
39613 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
39614 for available extensions.
39615
39616 * include/pupa/i386/pc/time.h: New file.
39617 * kern/disk.c: Include <pupa/machine/time.h>.
39618 (PUPA_CACHE_TIMEOUT): New macro.
39619 (pupa_last_time): New variable.
39620 (pupa_disk_open): Flush the cache when there was a timeout.
39621 (pupa_disk_close): Reset the timer.
39622 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
39623 pupa_currticks.
39624 * util/misc.c: Include <sys/times.h>
39625 (pupa_get_rtc): New function.
39626
c4adbd32 396272003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
39628
39629 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
39630 as blocks.
39631 (pupa_ext2_get_file_block): Use blocks member.
39632
39633 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
39634 first block. Return -1 instead of pupa_errno on error.
39635
bfd30f06 396362003-10-27 Marco Gerards <metgerards@student.han.nl>
39637
39638 * README: In the pupa-mkimage example use _chain instead of chain
39639 and ext2 instead of fat.
39640 * TODO: Replace ext2fs with jfs as an example. Add an item for
39641 adding journal playback for ext2fs.
39642 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
39643 (pkgdata_MODULES): Added ext2.mod.
39644 (ext2_mod_SOURCES): New variable.
39645 (ext2_mod_CFLAGS): Likewise.
39646 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
39647 * include/pupa/misc.h (pupa_strncpy): New prototype.
39648 (pupa_strcat): Likewise.
39649 (pupa_strncmp): Likewise.
39650 * kern/misc.c (pupa_strcat): Enable function.
39651 (pupa_strncpy): New function.
39652 (pupa_strncmp): Likewise.
39653 * fs/ext2.c: New file.
f19dbdb7 39654
bfd30f06 39655 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
39656 when the read failed before retrying.
39657 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
39658 (_FILE_OFFSET_BITS): Likewise.
39659 * configure.ac: Added AC_SYS_LARGEFILE.
39660
98d15063 396612003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
39662
39663 * genmk.rb (PModule#rule): Make sure to get only symbol names
39664 from the output of nm.
59cad637 39665 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 39666
18d9c7cd 396672003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
39668
39669 I forgot to check in these changes for a long time. This adds
39670 incomplete support for VGA console, and this is still very
39671 buggy. Also, a lot of consideration is required for I18N,
39672 UNICODE, and VGA font issues. Therefore, assume that this is
39673 such that "better than nothing".
f19dbdb7 39674
18d9c7cd 39675 * font/manager.c: New file.
39676 * include/pupa/font.h: Likewise.
39677 * include/pupa/i386/pc/vga.h: Likewise.
39678 * term/i386/pc/vga.c: Likewise.
39679 * util/unifont2pff.rb: Likewise.
39680
39681 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
39682 (pkgdata_MODULES): Added vga.mod and font.mod.
39683 (vga_mod_SOURCES): New variables.
39684 (vga_mod_CFLAGS): Likewise.
39685 (font_mod_SOURCES): Likewise.
39686 (font_mod_CFLAGS): Likewise.
39687
39688 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
39689
39690 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 39691 (struct pupa_term): Added init and fini.
18d9c7cd 39692 Changed the argument of putchar to pupa_uint32_t.
39693
39694 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
39695 (pupa_console_real_putchar): New prototype.
39696 (pupa_console_putchar): Removed.
39697 (pupa_console_checkkey): Exported.
39698 (pupa_console_getkey): Likewise.
39699
39700 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
39701 characters.
39702
39703 * kern/term.c (pupa_term_set_current): Rewritten.
39704 (pupa_putchar): Likewise.
39705 (pupa_putcode): New function.
39706
39707 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
39708 (pupa_console_real_putchar): ... this.
39709 (pupa_vga_set_mode): New function.
39710 (pupa_vga_get_font): Likewise.
39711
39712 * normal/command.c: Include pupa/term.h.
39713 (terminal_command): New function.
39714 (pupa_command_init): Register the command "terminal".
39715
39716 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
39717 (DISP_UP): Likewise.
39718 (DISP_RIGHT): Likewise.
39719 (DISP_DOWN): Likewise.
39720 (DISP_HLINE): Likewise.
39721 (DISP_VLINE): Likewise.
39722 (DISP_UL): Likewise.
39723 (DISP_UR): Likewise.
39724 (DISP_LL): Likewise.
39725 (DISP_LR): Likewise.
39726
39727 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 39728
977329f5 397292003-02-08 NIIBE Yutaka <gniibe@m17n.org>
39730
39731 * util/resolve.c (pupa_util_resolve_dependencies): BUG
39732 FIX. Reverse the path_list.
39733
39734 * include/pupa/normal.h: Export pupa_register_command and
39735 pupa_unregister_command.
39736
39737 * hello/hello.c (pupa_cmd_hello): New module.
39738 * conf/i386-pc.rmk: Added hello.mod.
39739
1f5ab428 397402003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
39741
39742 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 39743
1f5ab428 39744 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
39745 (compress_kernel): New variable.
39746 (generate_image): Heavily modified to support compressing a
39747 large part of the core image.
39748
39749 * util/misc.c (pupa_util_read_image): Fix a file descriptor
39750 leak.
39751 (pupa_util_load_image): New function.
39752
39753 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
39754 (pupa_compressed_size): New variable.
39755 (codestart): Enable Gate A20 here.
39756 Decompress the compressed part of the core image.
39757 Rearrange the code to put functions and variables which are
39758 required for initialization in the non-compressed part.
39759 Include lzo1x.S.
39760
39761 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
39762 here.
39763
39764 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
39765
f19dbdb7 39766 * include/pupa/i386/pc/kernel.h
1f5ab428 39767 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
39768 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
39769 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
39770 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
39771 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
39772
39773 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
39774
39775 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
39776 (Utility#rule): Likewise.
39777
39778 * configure.ac: Check if LZO is available.
39779
ce5bf700 397802003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
39781
39782 * include/pupa/normal.h: New file.
39783 * include/pupa/setjmp.h: Likewise.
39784 * include/pupa/i386/setjmp.h: Likewise.
39785 * normal/cmdline.c: Likewise.
39786 * normal/command.c: Likewise.
39787 * normal/main.c: Likewise.
39788 * normal/menu.c: Likewise.
39789 * normal/i386/setjmp.S: Likewise.
f19dbdb7 39790
ce5bf700 39791 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
39792 (pupa_rescue_cmd_initrd): Likewise.
39793
39794 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
39795 Likewise.
39796
39797 * kern/i386/pc/startup.S (translation_table): New variable.
39798 (translate_keycode): New function.
39799 (pupa_console_getkey): Call translate_keycode.
39800
39801 * kern/rescue.c (attempt_normal_mode): New function.
39802 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
39803 it failed, print a message.
39804
39805 * kern/mm.c (pupa_real_malloc): Print more information when a
39806 free magic is broken.
39807 (pupa_free): If the first free header is not free actually, set
39808 it to P.
39809
39810 * kern/main.c (pupa_load_normal_mode): Just load the module
39811 "normal".
39812 (pupa_main): Don't print the message
39813 "Entering into rescue mode..." here.
39814
39815 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
39816 Declared.
39817 (pupa_rescue_cmd_initrd): Likewise.
39818 (pupa_rescue_cmd_initrd): Likewise.
39819
39820 * include/pupa/symbol.h (FUNCTION): Specify the type.
39821 (VARIABLE): Likewise.
39822
39823 * include/pupa/err.h (pupa_err_t): Added
39824 PUPA_ERR_UNKNOWN_COMMAND.
39825
39826 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
39827 (pupa_dl_get_prefix): Likewise.
39828
39829 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
39830 Added _chain.mod and _linux.mod instead of chain.mod and
39831 linux.mod.
39832 (chain_mod_SOURCES): Renamed to ...
39833 (_chain_mod_SOURCES): ... this.
39834 (chain_mod_CFLAGS): Renamed to ...
39835 (_chain_mod_CFLAGS): ... this.
39836 (linux_mod_SOURCES): Renamed to ...
39837 (_linux_mod_SOURCES): ... this.
39838 (linux_mod_CFLAGS): Renamed to ...
39839 (_linux_mod_CFLAGS): ... this.
39840 (normal_mod_SOURCES): New variable.
39841 (normal_mod_CFLAGS): Likewise.
39842 (normal_mod_ASFLAGS): Likewise.
39843
398442003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
39845
39846 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
39847 possible.
39848
fe6b695a 39849 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 39850 recursively.
39851 (pupa_dl_unref): Unrefer depending modules recursively.
39852 Don't call pupa_dl_unload implicitly, because PUPA can crash if
39853 a module is unloaded before one depending on that module is
39854 unloaded.
39855 (pupa_dl_unload): Unload depending modules explicitly,
39856 if possible.
39857
c04da074 398582003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
39859
39860 * include/pupa/i386/pc/linux.h: New file.
39861 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 39862
c04da074 39863 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
39864 Removed.
39865 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
39866 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
39867 of PUPA_CHAINLOADER_BOOT_SECTOR.
39868
39869 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
39870 (pupa_linux_prot_size): New variable.
39871 (pupa_linux_tmp_addr): Likewise.
39872 (pupa_linux_real_addr): Likewise.
39873 (pupa_linux_boot_zimage): New function.
39874 (pupa_linux_boot_bzimage): Likewise.
39875
39876 * kern/i386/pc/init.c (struct mem_region): New structure.
39877 (MAX_REGIONS): New macro.
39878 (mem_regions): New variable.
39879 (num_regions): Likewise.
39880 (pupa_os_area_addr): Likewise.
39881 (pupa_os_area_size): Likewise.
39882 (pupa_lower_mem): Likewise.
39883 (pupa_upper_mem): Likewise.
39884 (add_mem_region): New function.
39885 (compact_mem_regions): Likewise.
39886 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
39887 the size of the conventional memory and that of so-called upper
39888 memory (before the first memory hole).
39889 Instead of adding each found region to free memory, use
39890 add_mem_region and add them after removing overlaps.
39891 Also, add only 1/4 of the upper memory to free memory. The rest
39892 is used for loading OS images. Maybe this is ad hoc, but this
39893 makes it much easier to relocate OS images when booting.
39894
39895 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
39896 (pupa_enter_rescue_mode): Don't register initrd and module.
39897
39898 * kern/mm.c: Include pupa/dl.h.
39899
39900 * kern/main.c: Include pupa/file.h and pupa/device.h.
39901
39902 * kern/loader.c (pupa_loader_load_module_func): Removed.
39903 (pupa_loader_load_module): Likewise.
39904
39905 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
39906 ``.o''.
39907
39908 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
39909 (pupa_linux_tmp_addr): Likewise.
39910 (pupa_linux_real_addr): Likewise.
39911 (pupa_linux_boot_zimage): Likewise.
39912 (pupa_linux_boot_bzimage): Likewise.
39913
39914 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
39915 (pupa_upper_mem): Likewise.
39916 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
39917 module is too dangerous.
39918
39919 * include/pupa/loader.h (pupa_os_area_addr): Declared.
39920 (pupa_os_area_size): Likewise.
39921 (pupa_loader_set): Remove the first argument. Loader doesn't
39922 manage modules or initrd any longer.
39923 (pupa_loader_load_module): Removed.
39924
39925 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
39926 (linux_mod_SOURCES): New variable.
39927 (linux_mod_CFLAGS): Likewise.
39928
a13f9237 399292003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
39930
39931 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
39932 the length of a blocklist correctly.
39933
39934 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
39935 Use ioctl only if the OS file is a block device.
39936 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
39937 not very useful for normal files.
39938
39939 * kern/main.c (pupa_set_root_dev): New function.
39940 (pupa_load_normal_mode): Likewise.
39941 (pupa_main): Call those above.
39942
39943 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
39944 pupa_uint16_t.
39945
39946 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
39947
a5ffe966 399482003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
39949
39950 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
39951 (setup): Configure the installed partition information and the
39952 dl prefix.
39953
39954 * loader/i386/pc/chainloader.c (my_mod): New variable.
39955 (pupa_chainloader_unload): New function.
39956 (pupa_rescue_cmd_chainloader): Refer itself.
39957 (PUPA_MOD_INIT): Save its own module in MY_MOD.
39958
39959 * kern/i386/pc/startup.S (install_partition): Removed.
39960 (version_string): Likewise.
39961 (config_file): Likewise.
39962 (pupa_install_dos_part): New variable.
39963 (pupa_install_bsd_part): Likewise.
39964 (pupa_prefix): Likewise.
39965 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
39966
39967 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
39968 and pupa/misc.h.
39969 (make_install_device): New function.
39970 (pupa_machine_init): Set the dl prefix.
39971
39972 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
39973 (buf): Renamed to ...
39974 (linebuf): ... this.
39975 (pupa_rescue_cmd_prefix): New function.
39976 (pupa_rescue_cmd_insmod): Likewise.
39977 (pupa_rescue_cmd_rmmod): Likewise.
39978 (pupa_rescue_cmd_lsmod): Likewise.
39979 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
39980 rmmod and lsmod.
39981
39982 * kern/mm.c (pupa_memalign): If failed even after invalidating
39983 disk caches, unload unneeded modules and retry.
39984
39985 * kern/misc.c (pupa_memmove): New function.
39986 (pupa_memcpy): Removed.
39987 (pupa_strcpy): New function.
39988 (pupa_itoa): Made static.
39989
39990 * kern/dl.c (pupa_dl_iterate): New function.
39991 (pupa_dl_ref): Likewise.
39992 (pupa_dl_unref): Likewise.
39993 (pupa_dl_unload): Return if succeeded or not.
39994 (pupa_dl_unload_unneeded): New function.
39995 (pupa_dl_unload_all): Likewise.
39996 (pupa_dl_init): Renamed to ...
39997 (pupa_dl_set_prefix): ... this.
39998 (pupa_dl_get_prefix): New function.
39999
40000 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
40001 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
40002 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
40003 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
40004 (pupa_install_dos_part): Declared.
40005 (pupa_install_bsd_part): Likewise.
40006 (pupa_prefix): Likewise.
40007 (pupa_boot_drive): Likewise.
40008
40009 * include/pupa/types.h: Fix a typo.
40010
40011 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
40012 pupa_memmove.
40013 (pupa_memmove): Declared.
40014 (pupa_strcpy): Likewise.
40015
40016 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
40017 pupa_mod_init takes one argument, its own module.
40018 (pupa_dl_unload_unneeded): Declared.
40019 (pupa_dl_unload_all): Likewise.
40020 (pupa_dl_ref): Likewise.
40021 (pupa_dl_unref): Likewise.
40022 (pupa_dl_iterate): Likewise.
40023 (pupa_dl_init): Renamed to ...
40024 (pupa_dl_set_prefix): ... this.
40025 (pupa_dl_get_prefix): Declared.
40026
40027 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 40028 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 40029 unloaded.
40030 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
40031 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
40032
40033 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
40034 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
40035
012d7999 400362003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
40037
40038 * util/i386/pc/pupa-setup.c (setup): Define the internal
40039 function find_first_partition_start at the top level, because GCC
40040 3.0.x cannot compile internal functions in deeper scopes
40041 correctly.
40042 (find_root_device): Use lstat instead of stat.
40043 Don't follow symbolic links.
40044 Fix the path-constructing code.
40045
40046 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
40047 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
40048 by a BLKGETSIZE ioctl first, because block devices don't fill
40049 the member st_mode of the structure stat on Linux.
40050 [__linux__] (linux_find_partition): Use a temporary buffer
40051 REAL_DEV for the working space. Copy it to DEV before returning.
40052 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
40053 buffer cache consistent.
40054 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
40055 strncmp. The previous value was merely wrong.
40056 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
40057
40058 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
40059 FAT size is 12. The previous value was merely wrong.
40060
40061 * kern/main.c (pupa_main): Don't split the starting message from
40062 newlines.
40063
40064 * kern/term.c (pupa_putchar): Put CR after LF instead of before
40065 LF, because BIOS goes crazy about character attributes in this
40066 case.
40067
1cc73a62 400682003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
40069
40070 * include/i386/pc/util/biosdisk.h: New file.
40071 * util/i386/pc/biosdisk.c: Likewise.
40072 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 40073
1cc73a62 40074 * Makefile.in (INCLUDE_DISTFILES): Added
40075 include/pupa/i386/pc/util/biosdisk.h.
40076 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
40077 directory util/i386/pc.
40078 (install-local): Added a rule for sbin_UTILITIES.
40079 (uninstall): Likewise.
40080
40081 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
40082
40083 * util/misc.c (xrealloc): New function.
40084 (pupa_malloc): Likewise.
40085 (pupa_free): Likewise.
40086 (pupa_realloc): Likewise.
40087 (pupa_stop): Likewise.
40088 (pupa_putchar): Likewise.
40089
40090 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
40091
40092 * include/pupa/util/misc.h (xrealloc): Declared.
40093
40094 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
40095 macro.
40096 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
40097 (PUPA_BOOT_MACHINE_BPB_END): ... this.
40098
40099 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
40100 [PUPA_UTIL] (pupa_fat_fini): Likewise.
40101
40102 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
40103 way should be implemented.
40104 [PUPA_UTIL] (pupa_fat_fini): Likewise.
40105
40106 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
40107 the size of NAME for safety.
40108 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
40109 0x88.
40110
40111 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
40112 (pupa_setup_SOURCES): Likewise.
40113
40114 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
40115
08b70fe8 401162002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
40117
40118 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
40119 bunch of pushl's from pusha, because this destroys the return
40120 value.
40121
62ddcc8f 401222002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
40123
40124 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
40125 This means that any missing prototypes could be fatal. Also, you
40126 must take care when writing assembly code. See the comments at
40127 the beginning of startup.S, for more details.
f19dbdb7 40128
62ddcc8f 40129 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
40130 compilation mechanism.
40131 (pupa_chainloader_real_boot): Likewise.
40132 (pupa_biosdisk_rw_int13_extensions): Likewise.
40133 (pupa_biosdisk_rw_standard): Likewise.
40134 (pupa_biosdisk_check_int13_extensions): Likewise.
40135 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
40136 (pupa_biosdisk_get_diskinfo_standard): Likewise.
40137 (pupa_get_memsize): Likewise.
40138 (pupa_get_mmap_entry): Likewise.
40139 (pupa_console_putchar): Likewise.
40140 (pupa_console_setcursor): Likewise.
40141 (pupa_getrtsecs): Use pushl instead of push.
40142
40143 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
40144 memory instead of the stack for a mmap entry, because some
40145 BIOSes may ignore the maximum size and overflow.
40146
40147 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
40148
40149 * genmk.rb (PModule#rule): Compile automatically generated
40150 sources with module-specific CFLAGS as well as other sources.
40151
9962ed99 401522002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
40153
40154 * configure.ac: Check ld.
40155 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
40156 respectively, before checking endianness and sizes.
40157
40158 * Makefile.in (LD): New variable.
f19dbdb7 40159
abdfc3c5 401602002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
40161
40162 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
40163
6a161fa9 401642002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
40165
40166 * Changelog: New file.
40167