]> git.proxmox.com Git - grub2.git/blob - ChangeLog
GRUB_PREFIX has been removed; hardcode /boot/grub in 05_debian_theme instead.
[grub2.git] / ChangeLog
1 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * configure.ac: Bump version to 2.00.
4 * grub-core/normal/main.c (features): Add feature_200_final.
5
6 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7 2012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
8
9 * NEWS: Fix unclarity and language mistakes.
10
11 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12
13 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
14 additional size to 3 pages.
15 Reported by: Stuart Hayes.
16
17 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18
19 * NEWS: Add 2.00 entry.
20
21 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
22
23 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
24 put explicit "/" for empty path.
25 (wildcard_expand): Improve dprintf.
26
27 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
28
29 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
30 it's equal to currnode. This can happen with "" symlink.
31
32 2012-06-27 Yves Blusseau <blusseau@zetam.org>
33
34 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
35 echo shell command by printf command.
36
37 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
38
39 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
40 the value returned by firmware is the maximal position, not diumension.
41 (grub_terminfo_output_state): Use a more sane fallback.
42
43 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
44
45 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
46
47 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
48
49 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
50 frequency to 150 MHz.
51
52 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
53
54 Apple fixes.
55
56 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
57 __APPLE_
58 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
59 definition.
60 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
61
62 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
63
64 Handle slash in HFS label.
65
66 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
67 (grub_hfs_dir): Tanslate slash.
68 (grub_hfs_label): Don't translate slash.
69
70 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
71
72 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
73 network protocol listing since it introduces problematic dependency on
74 net module.
75
76 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
77
78 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
79
80 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
81
82 Init video early on yeeloong to avoid being rebooted by watchdog.
83
84 * grub-core/Makefile.am (gensm712): New target.
85 (sm712_start.S): Likewise.
86 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
87 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
88 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
89 description.
90 * include/grub/vga.h: Move registry definitions to...
91 * include/grub/vgaregs.h: ... here.
92
93 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
94
95 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
96 signedness.
97
98 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
99
100 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
101 platforms with firmware disk drivers in the core.
102
103 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
104
105 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
106 informative verbose message.
107 (read_lv): Handle 64-bit segment size.
108
109 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
110
111 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
112
113 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
114
115 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
116 character but still remove trainling spaces.
117 (grub_fat_label): Ignore archive flag.
118
119 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
120
121 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
122 cast between linux_kernel_header and linux_kernel_params.
123
124 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
125
126 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
127 type for size.
128 (grub_raid6_recover_func_t): Likewise.
129 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
130 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
131
132 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
133
134 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
135
136 2012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
137
138 Fix overflow.
139
140 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
141 [__NetBSD__]: Add explicit cast before bitshift.
142
143 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
144
145 * configure.ac: Bump to 2.00~rc1.
146
147 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
148
149 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
150 half of $a0.
151
152 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
153 2012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
154
155 * docs/grub.texi: Fix search syntax.
156 (Multi-boot manual config): Put msdos rather than GPT example.
157 Grammar corrections.
158
159 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
160
161 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
162
163 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
164
165 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
166
167 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
168
169 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
170 message on double free. Put the value of magic in case of mismatch.
171
172 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
173
174 Speed-up video on yeeloong.
175
176 * grub-core/video/sm712.c (framebuffer): Remove render_target and
177 add cached_ptr.
178 (grub_video_sm712_video_fini): Unmap cached_ptr.
179 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
180 (grub_video_sm712_set_active_render_target): Removed.
181 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
182 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
183 sync caches.
184
185 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
186
187 Avoid flushing the same line multiple times on loongson.
188
189 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
190 Step in 32 bytes and not 1 byte.
191 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
192 Likewise.
193
194 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
195
196 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
197 subvolumes.
198
199 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
200
201 Implement flow control for http.
202
203 * grub-core/net/http.c (parse_line): Handle response 206.
204 (http_receive): Stall if too many packets are in the queue.
205 (http_establish): Fix range header.
206 (http_seek): Fix double free.
207 (http_close): Likewise.
208 (http_packets_pulled): New function.
209 (grub_http_protocol): Set http_seek
210 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
211 (ack_real): Set window depending on i_stall.
212 (grub_net_send_tcp_packet): Likewise.
213 (grub_net_tcp_stall): New function.
214 (grub_net_tcp_unstall): Likewise.
215 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
216 (grub_net_tcp_unstall): Likewise.
217
218 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
219
220 * grub-core/net/tftp.c: Decrease stall to 50 packets.
221
222 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
223
224 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
225
226 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
227
228 * tests/util/grub-shell.in: Fix a typo.
229
230 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
231
232 Implement flow control for tftp.
233
234 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
235 packets but stop only if stop condition is satisfied.
236 (grub_net_fs_read_real): Call packets_pulled after real read. Use
237 `stall' instead of `eof' as stop condition.
238 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
239 (http_err): Likewise.
240 * grub-core/net/tftp.c (ack): Replace the first argument with data
241 instead of socket.
242 (tftp_receive): Stall if too many packets are in wait queue.
243 (tftp_packets_pulled): New function.
244 (grub_tftp_protocol): Set packets_pulled.
245 * include/grub/net.h (grub_net_packets): New field count.
246 (grub_net_put_packet): Increment count.
247 (grub_net_remove_packet): Likewise.
248 (grub_net_app_protocol): New field `packets_pulled'.
249 (grub_net): New field `stall'.
250
251 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
252
253 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
254 sync part to handle them.
255
256 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
257
258 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
259 * grub-core/net/drivers/ieee1275/ofnet.c
260 (grub_ieee1275_net_config_real): Likewise.
261
262 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
263
264 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
265 the direct route for server/gateway.
266
267 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
268
269 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
270 IP address to server name since we may not hame the DNS.
271
272 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
273
274 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
275 freeing random buffer on failure.
276 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
277
278 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
279
280 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
281
282 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
283
284 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
285 reserved bytes.
286 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
287 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
288 Handle malloc error correctly.
289
290 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
291
292 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
293 blocks.
294
295 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
296
297 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
298 increment.
299
300 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
301
302 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
303 none is explicitly specified.
304
305 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
306
307 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
308 while reallocating.
309
310 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
311
312 Respect netmask from bootp/dhcp.
313
314 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
315 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
316 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
317 into ...
318 (grub_net_add_ipv4_local): ... this.
319 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
320 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
321 (grub_net_add_ipv4_local): New proto.
322
323 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
324
325 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
326 determining EFI memory map size.
327
328 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
329
330 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
331
332 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
333
334 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
335 when looking for partition separator.
336
337 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
338
339 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
340 Escape commas.
341
342 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
343
344 Restructure FAT driver to avoid hook in label reading as it hits a
345 GCC bug.
346
347 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
348 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
349 (grub_fat_iterate_dir): Split into ...
350 (grub_fat_iterate_init): ... this, ...
351 (grub_fat_iterate_fini): ... this, ...
352 (grub_fat_iterate_dir_next): ... and this. All users updated.
353
354 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
355
356 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
357 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
358 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
359 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
360 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
361 New fields last_key and last_key_time.
362 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
363 extended key-esc into extended key-extended key.
364
365 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
366
367 Avoid unnecessary memcpy of whole video buffer.
368
369 * grub-core/video/fb/video_fb.c (dirty): New struct.
370 (framebuffer): Add members current_dirty and previous_dirty.
371 (dirty): New function.
372 (grub_video_fb_fill_rect): Update dirty.
373 (common_blitter): Likewise.
374 (grub_video_fb_scroll): Likewise.
375 (doublebuf_blit_update_screen): Copy only dirty part.
376 (doublebuf_pageflipping_update_screen): Likewise.
377 (grub_video_fb_doublebuf_blit_init): Init dirty.
378 (doublebuf_pageflipping_init): Likewise.
379 (grub_video_fb_setup): Likewise.
380
381 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
382
383 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
384 poll rate.
385
386 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
387
388 Fix wildcard regexp dot and other special characters handling.
389 Reported by: Robert Mabee.
390
391 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
392 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
393 (split_path): Trigger expansion on '?'.
394 (unescape): New function.
395 (wildcard_expand): Unescape parts copied without globbing.
396 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
397 (grub_script_arglist_to_argv): Don't unescape expansions.
398
399 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
400
401 * include/grub/net.h (grub_net_card): New member txbufsize.
402 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
403 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
404 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
405 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
406 txbufsize.
407 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
408 compatible property to check for macs. Set
409 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
410 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
411 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
412 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
413 (send_card_buffer): Use txbuf.
414 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
415 nested function out of the parent while on it.
416
417 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
418
419 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
420 presence check.
421 (grub_ieee1275_net_config_real): Fix config pointer.
422
423 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
424
425 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
426 filename parsing to non-block devices.
427
428 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
429
430 * grub-core/kern/device.c (grub_device_open): Remove dead code.
431
432 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
433
434 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
435 All users updated.
436
437 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
438
439 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
440 UUID search command even if hints probing failed.
441
442 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
443
444 * po/POTFILES.in: Regenerated.
445
446 2012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
447
448 Speed-up video on fuloong.
449
450 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
451 New function.
452 (grub_pci_device_unmap_range): Handle non-cached address.
453 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
454 add direct_ptr.
455 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
456 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
457 (grub_video_sis315pro_set_active_render_target): Removed.
458 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
459 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
460 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
461 sync caches.
462 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
463 New proto.
464
465 2012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
466
467 * docs/grub.texi (Multi-boot manual config): New section.
468
469 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
470
471 Avoid slow read-back from VRAM.
472
473 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
474 Move from here ...
475 * grub-core/video/fb/video_fb.c
476 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
477 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
478 (front_target): Remove front_target. Add pages.
479 (grub_video_fb_init): Skip setting front_pages.
480 (grub_video_fb_fini): Likewise.
481 (doublebuf_blit_update_screen): Use pages.
482 (grub_video_fb_doublebuf_blit_init): Likewise.
483 (doublebuf_pageflipping_init): Allocate offscreen buffer.
484 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
485 (grub_video_fb_setup): Prefer doublebuffing.
486
487 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
488
489 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
490 gzio.
491
492 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
493
494 Add loongson tests.
495
496 * tests/util/grub-shell.in: Handle loongson.
497 * tests/partmap_test.in: Add loongson to the list of platform using ATA
498 drivers.
499 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
500 Reboot instead of shutdown if REBOOT is defined.
501
502 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
503
504 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
505 sized ports since unlike on real hardware qemu supports only 32-bit
506 regs.
507
508 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
509
510 * Makefile.util.def (grub-mkrescue): Enable on loongson.
511 * util/grub-mkrescue.in: Handle loongson.
512
513 2012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
514
515 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
516 Set is_part appropriately.
517 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
518 names. Canonicalize partition without full disk.
519
520 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
521
522 Revert usb-quiesce since it's wrong.
523
524 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
525 (grub_ofdisk_init): Don't do quiesce.
526
527 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
528
529 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
530 PowerMac workaround to Xserves as well.
531 Information supplied by: Benjamin Herrenschmidt.
532
533 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
534
535 Don't assume that beginning address is also the entry point on ppc.
536
537 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
538 (grub_linux_boot): Use linux_entry.
539 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
540 (grub_linux_load64): Likewise.
541
542 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
543
544 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
545
546 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
547
548 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
549 needlessly lose the console.
550
551 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
552
553 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
554 space.
555
556 2012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
557
558 Remove non-functional EFI grub_get_rtc. Put a better fatal message
559 than current grub_get_rtc() not implemented when booted with
560 coreboot without TSC.
561
562 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
563 Add machine/time.h to kernel headers on loongson.
564 * grub-core/Makefile.core.def (kernel): Remove
565 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
566 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
567 (grub_get_rtc): Likewise.
568 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
569 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
570 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
571 * grub-core/kern/i386/tsc.c (grub_tsc_init)
572 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
573 rather than installing known non-working time source.
574 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
575 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
576 * include/grub/time.h: Don't include machine/time.h.
577 * include/grub/efi/time.h: Removed.
578 * include/grub/i386/efi/time.h: Likewise.
579 * include/grub/i386/ieee1275/time.h: Likewise.
580 * include/grub/powerpc/ieee1275/time.h: Likewise.
581 * include/grub/sparc64/ieee1275/time.h: Likewise.
582 * include/grub/x86_64/efi/time.h: Likewise.
583
584 2012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
585
586 Remove dot on i and j when combining with above diacritics.
587
588 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
589 value.
590 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
591 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
592 with dotless variants when any combining above is present.
593
594 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
595
596 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
597 text and not binary.
598
599 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
600
601 Stop polling as soon as we have the packet we were waiting for.
602
603 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
604 All users updated.
605 * grub-core/net/arp.c (have_pending): New var.
606 (pending_req): Likewise.
607 (grub_net_arp_send_request): Fill pending_req and use have_pending as
608 stop indicator.
609 (grub_net_arp_receive): Set have_pending.
610 * grub-core/net/dns.c (recv_data): New field stop.
611 (recv_hook): Set stop.
612 (grub_net_dns_lookup): Init stop and use as stop condition.
613 * grub-core/net/http.c (http_establish): Use headers_recv as stop
614 condition.
615 * grub-core/net/net.c (grub_net_poll_cards): New argument
616 stop_condition. Stop when it goes true.
617 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
618 indicator.
619 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
620
621 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
622
623 Keep TX and RX buffers on EFI rather than always allocate new ones.
624
625 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
626 card. All users updated.
627 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
628 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
629 (get_card_packet): Likewise.
630 (grub_efinet_findcards): Init new fields.
631
632 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
633
634 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
635 compilation error on sparc64.
636
637 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
638
639 Use ITC on IA64 rather than broken routine based on daytime.
640
641 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
642 ia64.
643 (grub_get_rtc) [__ia64__]: Likewise.
644 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
645 (get_itc): New function.
646 (grub_rtc_get_time_ms): Likewise.
647 (grub_machine_init): Calibrate ITC.
648 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
649 Keep only on non-ia64. Don't export since it's broken and used only
650 if TSC is unavailable.
651
652 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
653
654 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
655 even if it's used.
656 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
657 Skip if parent is unused.
658
659 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
660
661 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
662
663 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
664
665 Fix wildcard escaping.
666
667 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
668 * grub-core/script/execute.c (wildcard_escape): .. to here.
669 Don't escape dot.
670 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
671 * grub-core/script/execute.c (wildcard_unescape): .. to here.
672 Don't escape dot.
673 * grub-core/script/execute.c (gettext_append): Always escape.
674 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
675 * grub-core/script/yylex.l: Don't cut away the escaping.
676 * tests/grub_script_echo1.in: Add tests with wildcard.
677
678 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
679
680 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
681 (ftdi_hw_configure): Likewise.
682 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
683 define.
684 (real_config): Handle 1.5 stop bits.
685 (pl2303_hw_configure): Likewise.
686
687 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
688
689 * Makefile.am: Add ppc linux bootcheck.
690 * grub-core/tests/boot/linux-ppc.cfg: New file.
691 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
692
693 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
694
695 * tests/grub_script_expansion.in: Skip network protocols.
696
697 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
698
699 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
700
701 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
702
703 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
704 --rom-directory.
705 Add -graft-points.
706
707 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
708
709 ESCC serial driver for conducting sautomated tests in qemu.
710 Not tested on real hardware.
711
712 * include/grub/serial.h (grub_serial_port): New field escc_desc.
713 * grub-core/term/ieee1275/escc.c: New file.
714 * grub-core/Makefile.core.def (escc): New module.
715
716 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
717
718 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
719 invalid on error.
720 (serial_hw_fetch): Don't read invalid handle.
721 (serial_hw_put): Don't write into invalid handle.
722
723 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
724
725 Add a 1.5 stop bits value.
726
727 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
728 * include/grub/serial.h (grub_serial_stop_bits_t): Add
729 GRUB_SERIAL_STOP_BITS_1_5.
730
731 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
732
733 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
734 value rather than let it uninited.
735
736 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
737
738 * grub-core/commands/wildcard.c (+check_file): New function.
739 (wildcard_expand): Don't expand to non-existing files, expand with
740 suffix and not attempt to expand if not needed.
741
742 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
743
744 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
745 out of partitions containing other partitions.
746
747 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
748
749 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
750 on some qemu versions with GRUB.
751
752 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
753 define.
754 (grub_openbsd_bootarg_pcibios): New struct.
755 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
756 Add PCIINFO.
757
758 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
759
760 * tests/util/grub-shell.in: Trim firmware output on EFI.
761
762 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
763
764 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
765 and coreboot since it's already in kernel.
766
767 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
768
769 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
770 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
771 to here. New return value start. All users updated.
772 Recursively scan linear mappings.
773 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
774 proto.
775 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
776 Use grub_util_get_dm_node_linear_info.
777 * util/getroot.c (convert_system_partition_to_system_disk): Use
778 grub_util_info rather than grub_dprintf.
779 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
780
781 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
782
783 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
784
785 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
786 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
787
788 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
789
790 * include/grub/types.h (grub_set_unaligned64): New function.
791 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
792 (setup): Likewise.
793
794 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
795
796 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
797 (grub_ofdisk_fini): Quiesce USB devices.
798
799 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
800
801 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
802 caches.
803
804 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
805
806 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
807
808 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
809
810 * grub-core/disk/pata.c (grub_pata_pio_read)
811 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
812 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
813
814 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
815
816 Extend automated tests to qemu-mips.
817
818 * Makefile.am: reorganise tests and enable qemu-mips.
819 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
820 * grub-core/tests/boot/linux.init-mips.S: New file.
821 * tests/partmap_test.in: Handle ata0 disks.
822 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
823 non-pc i386.
824
825 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
826
827 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
828 ia64.
829 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
830 quotes while on it.
831
832 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
833
834 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
835 (grub_halt): Likewise.
836 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
837
838 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
839
840 * grub-core/term/serial.c (grub_serial_register)
841 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
842 the behaviour in line with x86 platforms.
843
844 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
845
846 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
847 (grub_ata_strncpy): Likewise.
848 (grub_ata_identify): Add missing byteswaps.
849
850 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
851
852 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
853 byte-swap.
854 (screen_read_char): Likewise.
855 (grub_vga_text_cls): Likewise.
856
857 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
858
859 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
860 filenames.
861 (make_file_path): Likewise.
862
863 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
864
865 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
866 machines.
867 Tested by: Paulo Flabiano Smorigo.
868 Crucial information about API supplied by: Coleen <Last name unknown>.
869 Reviewed by: Coleen <Last name unknown>.
870
871 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
872
873 * util/grub-mkimage.c: Disable -Wcast-align.
874
875 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
876
877 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
878 as they are fatal.
879
880 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
881
882 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
883
884 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
885
886 * util/grub-probe.c (escape_of_path): Fix double free.
887
888 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
889
890 * grub-core/commands/videoinfo.c (hook): Show pitch.
891
892 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
893
894 * util/grub.d/20_linux_xen.in: Skip xen-syms.
895
896 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
897
898 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
899 (probe): Add ieee1275 to OFW devices.
900
901 2012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
902
903 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
904
905 2012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
906
907 Handle IBM OFW path.
908
909 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
910 available.
911 (of_path_of_scsi): Handle vdevice.
912
913 2012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
914
915 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
916 Allocate in multiples of 16 to avoid adding a few bytes free region the
917 windows bugs upon.
918
919 2012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
920
921 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
922 Allocate in multiples of 16 to avoid adding a few bytes free region the
923 windows bugs upon.
924 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
925
926 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
927
928 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
929 resolutions.
930 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
931 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
932
933 2012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
934
935 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
936
937 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
938
939 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
940 resulted in \\ at the end of the line.
941
942 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
943
944 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
945 (grub_parser_cmdline_state): Likewise.
946 (grub_parser_split_cmdline): Likewise.
947
948 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
949
950 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
951 /dev/root and /dev/dm-*.
952
953 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
954
955 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
956 fix partially stale display.
957
958 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
959
960 * grub-core/normal/menu_entry.c (backward_char): Use right line for
961 substraction.
962
963 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
964
965 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
966 Fix MBR remapping workaround.
967 (grub_util_biosdisk_read) [__linux__]: Likewise.
968
969 2012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
970
971 * util/grub-install.in: Check for ieee1275 and not ieee1276.
972
973 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
974
975 * configure.ac: Bump to beta6.
976
977 2012-05-31 Christer Weinigel <christer@weinigel.se>
978
979 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
980
981 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
982
983 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
984 (grub_cmd_linux): Likewise.
985
986 2012-05-31 Christer Weinigel <christer@weinigel.se>
987
988 Fix EHCI low-speed.
989
990 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
991 (GRUB_EHCI_MULT_TWO): Likewise.
992 (GRUB_EHCI_MULT_THREE): Likewise.
993 (GRUB_EHCI_CMASK_MASK): New enum value.
994 (GRUB_EHCI_SMASK_MASK): Likewise.
995 (GRUB_EHCI_CMASK_OFF): Likewise.
996 (GRUB_EHCI_SMASK_OFF): Likewise.
997 (grub_ehci_pci_iter): Enable periodic schedule.
998 (grub_ehci_parse_notrun): Likewise.
999 (grub_ehci_restore_hw): Likewise.
1000 (grub_ehci_setup_qh): Set flags for low speed transfers.
1001 (grub_ehci_find_qh): Use periodic list for low speed.
1002 (grub_ehci_setup_transfer): Check periodic queue as well.
1003 (grub_ehci_check_transfer): Likewise.
1004 (grub_ehci_cancel_transfer): Cancel periodic transfer.
1005
1006 2012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1007
1008 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
1009 parameter is used.
1010
1011 2012-05-31 Peter Jones <pjones@redhat.com>
1012
1013 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
1014 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
1015 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
1016
1017 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1018
1019 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
1020 uninited variable. Allocate at least setup_sects.
1021
1022 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1023
1024 Fix handling of EFI with big memory maps.
1025
1026 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
1027 (real_mode_mem): Likewise.
1028 (real_mode_target): Likewise.
1029 (real_mode_pages): Likewise.
1030 (prot_mode_pages): Likewise.
1031 (linux_params): New var.
1032 (linux_cmdline): Likewise.
1033 (free_pages): Don't set real mode variables.
1034 (allocate_pages): Don't allocate real mode memory.
1035 (grub_e820_add_region): Remove the limit.
1036 (grub_linux_boot): Allocate and copy real mode memory.
1037 (grub_linux_unload): Free linux_cmdline.
1038 (grub_cmd_linux): Use temporary storage for parameters.
1039 (grub_cmd_initrd): Likewise.
1040 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
1041 (linux_kernel_params): Make it 1K big.
1042
1043 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1044
1045 * Makefile.util.def: Remove -Wno-format.
1046 * grub-core/Makefile.core.def: Likewise.
1047
1048 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1049
1050 * tests/cmp_unit_test.c: Add missing failure message.
1051 * tests/example_unit_test.c: Likewise.
1052 * tests/printf_unit_test.c: Likewise.
1053
1054 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1055
1056 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
1057 relaxation of protective MBR requirements.
1058
1059 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
1060
1061 * configure.ac: Add condition for COND_HOST_XNU.
1062 * Makefile.util.def (10_xnu): New script.
1063 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
1064
1065 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
1066
1067 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
1068 objconv bug.
1069
1070 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
1071
1072 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
1073 Binary on other platforms stays identical.
1074
1075 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1076
1077 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
1078 Apple.
1079
1080 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1081
1082 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
1083
1084 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1085
1086 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
1087 rather than defining size_t ourselves to avoid conflict.
1088
1089 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1090
1091 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
1092 initialisation to avoid __bzero reference.
1093
1094 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1095
1096 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
1097 version.
1098 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
1099 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
1100 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
1101 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
1102 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
1103
1104 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1105
1106 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
1107 * grub-core/kern/misc.c: Likewise.
1108 * grub-core/loader/i386/xnu.c: Likewise.
1109 * include/grub/i386/tsc.h: Likewise.
1110 * include/grub/symbol.h: Likewise.
1111
1112 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1113
1114 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
1115 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
1116 on older compiler.
1117
1118 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1119
1120 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
1121 Implement Apple flavour.
1122 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
1123
1124 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1125
1126 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
1127 (memmove) [__APPLE__]: Likewise.
1128 (memcpy) [__APPLE__]: Likewise.
1129 (memset) [__APPLE__]: Likewise.
1130 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
1131 (memmove) [__APPLE__]: Likewise.
1132 (memcpy) [__APPLE__]: Likewise.
1133 (memset) [__APPLE__]: Likewise.
1134
1135 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1136
1137 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
1138 dependency discard.
1139
1140 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1141
1142 * grub-core/normal/main.c (read_config_file): Provide config_file and
1143 config_directory.
1144 * util/grub.d/41_custom.in: Use config_directoy when available.
1145
1146 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1147
1148 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
1149 (grub_bfs_dir): Likewise.
1150
1151 2012-05-27 Peter Jones <pjones@redhat.com>
1152
1153 The old code gives arguments to a printf function which can't work
1154 correctly, and the compiler complains.
1155
1156 * grub-core/tests/example_functional_test.c (example_test): Add
1157 missing text.
1158 * grub-core/tests/lib/test.c (add_failure): Rewrite.
1159 * include/grub/test.h (grub_test_assert_helper): New declaration.
1160 (grub_test_assert): Use grub_test_assert_helper.
1161
1162 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1163
1164 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
1165 (exfctest): ... this to avoid overlong filenames.
1166 All users updated.
1167
1168 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1169
1170 Handle "." and ".." on squashfs.
1171
1172 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
1173 Make inode numbers into stack.
1174 (grub_squash_read_symlink): Use stack.
1175 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
1176 (make_root_node): Fill stack.
1177 (grub_squash_open): Use stack.
1178
1179 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1180
1181 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
1182 freeing.
1183
1184 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1185
1186 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
1187 stderr on test calls.
1188
1189 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1190
1191 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
1192
1193 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1194
1195 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
1196
1197 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1198
1199 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
1200 "..".
1201
1202 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1203
1204 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
1205 (grub_hfsplus_iterate_dir): Add "." and "..".
1206
1207 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1208
1209 * grub-core/fs/cpio.c (canonicalize): Handle "..".
1210 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
1211
1212 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1213
1214 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
1215 (find_path): Handle "." and "..".
1216
1217 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1218
1219 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
1220 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
1221 (grub_affs_iterate_dir): Handle hardlinks.
1222
1223 2012-05-26 Matthew Garrett <mjg@redhat.com>
1224
1225 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
1226 (grub_efi_console_fini): Likewise.
1227 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
1228 (grub_video_gop_fill_mode_info): Rename to ...
1229 (grub_video_gop_fill_real_mode_info): ... this.
1230 (grub_video_gop_fill_mode_info): New function.
1231 (grub_video_gop_setup): Setup double framebuffer.
1232 (grub_video_gop_get_info_and_fini): Use original framebuffer.
1233 Free offscreen.
1234 (grub_video_gop_swap_buffers): Copy framebuffer.
1235 (grub_video_gop_fini): Free offscreen buffer.
1236 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
1237 New enum.
1238 (grub_efi_gop_blt_pixel): New struct.
1239
1240 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
1241
1242 * gentpl.py: Remove error disabling for objconv.
1243
1244 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
1245
1246 * configure.ac: Remove -Wunitialized as it's not available on older
1247 compilers.
1248
1249 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
1250
1251 Fix extent overflow comparator.
1252
1253 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
1254 (grub_hfsplus_read_block): Set type.
1255 (grub_hfsplus_cmp_extkey): Compare type.
1256
1257 2012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
1258
1259 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
1260
1261 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
1262
1263 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
1264 than 0.
1265
1266 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
1267
1268 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
1269 (dejavu_bold_14.pf2): New target.
1270
1271 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
1272
1273 * configure.ac: Fix djvu font detection.
1274
1275 2012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1276
1277 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
1278 ext* instead of ext2.
1279
1280 2012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1281
1282 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
1283 name with \0.
1284
1285 2012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
1286
1287 * docs/grub-dev.texi: Remove dot from .png.
1288
1289 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1290
1291 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
1292 protective entry in any slot.
1293 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
1294 if protective entry is found in any slot.
1295
1296 Protective entry in non-first slot make no sense but is a widespread
1297 brain damage.
1298
1299 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1300
1301 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
1302
1303 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1304
1305 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
1306 with old reiserfs.
1307 (grub_reiserfs_open): Don't free root.
1308
1309 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1310
1311 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
1312 after freeing for safety.
1313
1314 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1315
1316 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
1317 Reported by: Jordan Uggla.
1318
1319 2012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
1320
1321 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
1322 actual implementation. Specifically, clarify that the grub menu will
1323 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
1324 passed.
1325
1326 2012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
1327
1328 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
1329 of r0.
1330
1331 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1332
1333 Remove unjustified hard dependency of normal.mod on gfxterm.
1334
1335 * include/grub/term.h (grub_term_output): New member fullscreen.
1336 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
1337 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
1338 (grub_gfxterm): Set .fullscreen.
1339 * grub-core/normal/menu.c (menu_init): Use fullscreen.
1340 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
1341
1342 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1343
1344 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
1345 mentioning possible problems with non-ASCII (non-compliant) ISOs.
1346 Mention case-insensitive AFFS, SFS and JFS.
1347
1348 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1349
1350 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
1351
1352 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1353
1354 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
1355 a bad FS.
1356
1357 2012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1358
1359 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
1360 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
1361
1362 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1363
1364 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
1365 (grub_jfs_mount): Fill caseins.
1366 (grub_jfs_find_file): Respect caseins.
1367
1368 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1369
1370 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
1371 through UTF-16.
1372
1373 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1374
1375 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
1376 New argument origpath. All users updated.
1377
1378 2012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1379
1380 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
1381 (read_attr): Ensure that we read start of possibly compressed block.
1382
1383 2012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1384
1385 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
1386 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
1387 All users updated.
1388
1389 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1390
1391 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
1392 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
1393 (dejavu.pf2): Replace with ...
1394 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
1395 this.
1396
1397 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1398
1399 * util/grub.d/20_linux_xen.in: Add missing line.
1400
1401 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1402
1403 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
1404 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
1405 (grub_utf16_to_utf8): Likewise.
1406
1407 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
1408
1409 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
1410 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
1411 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
1412 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
1413 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
1414 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
1415
1416 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
1417
1418 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
1419 a bad FS.
1420
1421 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
1422
1423 * grub-core/fs/udf.c (read_string): Bail out on size=0.
1424 (grub_udf_read_symlink): Handle read_string failure.
1425
1426 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1427
1428 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
1429 comment.
1430
1431 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1432
1433 Fix handling of UDF symlinks.
1434
1435 * grub-core/fs/udf.c (read_string): New argument outbuf.
1436 All users updated.
1437 (grub_ufs_read_symlink): Rename to ...
1438 (grub_udf_read_symlink): ... this. All users updated.
1439 Handle symlinks with more than one component.
1440
1441 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1442
1443 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
1444 symlinks. Replace leading colon with a slash.
1445
1446 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1447
1448 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
1449 filename.
1450
1451 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1452
1453 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
1454 match in inner node.
1455
1456 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1457
1458 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
1459 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
1460 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
1461 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
1462 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
1463 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
1464 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
1465 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
1466 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
1467
1468 2012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1469
1470 Use grub-probe and not cmp to check that disk is empty.
1471
1472 * util/grub-install.in: Use grub-probe for zero-check.
1473 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
1474 (probe): Handle PRINT_ZERO_CHECK.
1475 (argp_parser): Handle -t zero_check.
1476
1477 2012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1478
1479 Flush block cache on adding disk to device map.
1480
1481 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
1482 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
1483 adding.
1484 (read_device_map): Likewise.
1485 (open_device): Flush on opening.
1486
1487 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1488
1489 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
1490 (handle_symlink): Fix off-by-one error.
1491 Canonicalize the target.
1492 (grub_cpio_dir): Canonicalize the name.
1493 Fix memory leak.
1494 Set directory.
1495 (grub_cpio_open): Canonicalize the name.
1496
1497 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1498
1499 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
1500 handling.
1501
1502 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1503
1504 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
1505 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
1506
1507 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1508
1509 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
1510 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
1511 All users updated.
1512
1513 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1514
1515 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
1516 counterpart.
1517
1518 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1519
1520 Fix UFS1 big file support.
1521
1522 * grub-core/fs/ufs.c (INODE): Removed.
1523 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
1524 64-bit.
1525 (INODE_MODE): Simplify.
1526 (grub_ufs_inode): Use uint64_t for size and not int64_t.
1527 (grub_ufs_lookup_symlink): Don't use INODE.
1528
1529 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1530
1531 Fix minixfs with non-power-of-two blocks since it's supported by minix.
1532
1533 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
1534 (grub_minix_data): Replace log_block_size with block_size.
1535 (grub_minix_read_file): Use block_size but avoid 64-bit division.
1536 (grub_minix_mount): Fill block_size.
1537
1538 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1539
1540 * configure.ac: Bump to beta5.
1541
1542 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1543
1544 Fix wrapped HFS+ handling.
1545
1546 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
1547 blocks_start. All users updated.
1548 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
1549 wrapping offset.
1550 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
1551
1552 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1553
1554 Fix long symlinks on reiserfs.
1555
1556 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
1557 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
1558 (grub_reiserfs_iterate_dir): Save size for non-directories.
1559 (grub_reiserfs_open): Don't reread stat block as we already know the
1560 size.
1561 (grub_reiserfs_read): Split into...
1562 (grub_reiserfs_read_real): ... and ...
1563 (grub_reiserfs_read): ...this.
1564
1565 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1566
1567 Fix non-indexed JFS.
1568
1569 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
1570 (grub_jfs_data): New field namecomponentlen.
1571 (grub_jfs_mount): Fill namecomponentlen.
1572 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
1573
1574 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1575
1576 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
1577 * tests/grub_script_echo1.in: Add tests.
1578
1579 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1580
1581 * util/grub-install.in: Ignore empty devicetree directory.
1582
1583 2012-05-08 Bean <bean123ch@gmail.com>
1584
1585 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
1586 All users updated.
1587 (free_rsm): Free header as well.
1588 (free_old_fragments): Fix memory leak.
1589 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
1590 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
1591 (destroy_pq): Likewise.
1592 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
1593
1594 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1595
1596 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
1597 resulting hash as a precaution.
1598
1599 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1600
1601 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
1602 '_' in variable names.
1603 * grub-core/net/net.c (grub_net_network_level_interface_register):
1604 Likewise.
1605
1606 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1607
1608 Fix AFFS with non-512B blocks.
1609
1610 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
1611 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
1612 (grub_affs_data): Replace blocksize with log_blocksize.
1613 (grub_affs_read_block): Fix non-512B blocks.
1614 (grub_affs_read_symlink): Likewise.
1615 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
1616 (grub_affs_read): Fix non-512B blocks.
1617 (grub_affs_label): Likewise.
1618 (grub_affs_mtime): Likewise.
1619 (grub_affs_mount): Fix block detection routine.
1620
1621 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1622
1623 Add filesystem mtime to AFFS.
1624
1625 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
1626 (aftime2ctime): New function.
1627 (grub_affs_dir): Use aftime2ctime.
1628 (grub_affs_label): Fix return value.
1629 (grub_affs_mtime): New function.
1630 (grub_affs_fs): Add mtime.
1631
1632 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1633
1634 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
1635 UTF-8.
1636
1637 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1638
1639 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
1640 UTF-8.
1641
1642 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1643
1644 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
1645
1646 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1647
1648 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
1649 flags.
1650 (FLAGS_CASE_SENSITIVE): New enum value.
1651 (cache_entry): New struct.
1652 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
1653 cache_size and cache.
1654 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
1655 Add log_blocksize and fshelp_flags.
1656 (grub_sfs_read_extent): Handle non-512 blocks.
1657 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
1658 (grub_sfs_read_file): Handle non-512 blocks.
1659 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
1660 fshelp_flags.
1661 (grub_sfs_read_symlink): Handle non-512 blocks.
1662 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
1663 (grub_sfs_dir): Free cache.
1664 (grub_sfs_close): Likewise.
1665
1666 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
1667
1668 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
1669 filesystems.
1670
1671 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
1672
1673 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
1674
1675 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
1676
1677 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
1678
1679 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
1680
1681 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
1682 (grub_sfs_read_extent): Likewise.
1683 (grub_sfs_read_block): Likewise.
1684 (grub_sfs_mount): Likewise.
1685 (grub_sfs_iterate_dir): Likewise.
1686 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
1687 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
1688
1689 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1690
1691 Fix errors on compressed NTFS with 512B clusters.
1692
1693 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
1694 types.
1695 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
1696 not 0.
1697 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
1698 Relax check for inline extents.
1699 (ntfscomp): Return correct -1 on error and not 0.
1700
1701 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1702
1703 * util/grub-install.in: Fix handling of prefix containing spaces.
1704
1705 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1706
1707 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
1708 (grub_squash_read_data): Fix offset byte-swapping.
1709
1710 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1711
1712 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
1713 per common usage and preffered in several parts of code.
1714 (grub_memcmp): Likewise.
1715 (grub_strncmp): Likewise.
1716 * include/grub/misc.h (grub_strcasecmp): Likewise.
1717 (grub_strncasecmp): Likewise.
1718 * Makefile.util.def (cmp_test): New test.
1719 (grub_script_strcmp): Likewise.
1720 * tests/cmp_unit_test.c: New file.
1721 * tests/grub_script_strcmp.in: Likewise.
1722 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
1723
1724 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1725
1726 * include/grub/pci.h: Move enums into no-asm part.
1727
1728 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1729
1730 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
1731
1732 2012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
1733
1734 * util/getroot.c (find_hurd_root_device): Try to make error message
1735 and comments to translators clearer.
1736
1737 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1738
1739 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
1740
1741 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1742
1743 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
1744 btrfs.
1745
1746 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1747
1748 * docs/grub.cfg: Update.
1749
1750 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1751
1752 * docs/grub.texi (PXE): Remove not present variables.
1753
1754 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1755
1756 * grub-core/net/net.c (defserver_set_env): New function.
1757 (defserver_get_env): Likewise.
1758 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
1759
1760 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1761
1762 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
1763 entries.
1764
1765 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1766
1767 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
1768 * grub-core/kern/emu/hostdisk.c: Likewise.
1769
1770 2012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
1771
1772 Handle hurd userspace partitions.
1773
1774 * util/getroot.c (find_hurd_root_device): New function.
1775 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
1776
1777 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1778
1779 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
1780 names.
1781 Reported by: Bastian Blank.
1782
1783 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1784
1785 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
1786 crossing page boundary.
1787
1788 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1789
1790 Fix B-tree search in BFS, especially in presence of non-ASCII
1791 characters.
1792
1793 * grub-core/fs/bfs.c (bfs_strcmp): New function.
1794 (find_in_b_tree): Use standard bsearch + btree algorithm.
1795
1796 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1797
1798 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
1799 and so on.
1800
1801 2012-05-03 Matthew Garrett <mjg@redhat.com>
1802 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1803
1804 Suspend broadcom cards in order to stop their DMA.
1805
1806 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
1807 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
1808 (pci): Don't build on x86 EFI.
1809 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
1810 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
1811 New function.
1812 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
1813 stop_broadcom if running on EFI.
1814 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
1815 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
1816 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
1817 (grub_pci_find_capability): New proto.
1818
1819 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1820
1821 * docs/grub.texi: Remove dot from the extension as it apparently
1822 doesn't work with some makeinfo versions.
1823
1824 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1825
1826 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
1827 with GRUB expectance.
1828
1829 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1830
1831 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
1832
1833 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1834
1835 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
1836 zero after directory block since last entry may be not 0-terminated if
1837 it ends on block boundary. Use continue instead of if spanning whole
1838 loop.
1839
1840 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1841
1842 Support 4K sectors UDF inline files.
1843
1844 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
1845 (grub_udf_extended_file_entry): Likewise.
1846 (grub_fshelp_node): Name the anonymous union. Put block at the end.
1847 All users updated.
1848 (get_fshelp_size): New function.
1849 (grub_udf_read_icb): Read whole block.
1850 (grub_udf_iterate_dir): Likewise.
1851 (grub_udf_dir): Likewise.
1852 (grub_udf_open): Likewise.
1853
1854 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1855
1856 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
1857
1858 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1859
1860 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
1861 inline symlinks in addition to workaround.
1862
1863 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1864
1865 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
1866
1867 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1868
1869 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
1870
1871 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1872
1873 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
1874
1875 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1876
1877 Fix reiserfs big seek times.
1878
1879 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
1880 exact. All users updated.
1881 (grub_reiserfs_read): Use nearest btree search for seeking.
1882 Fix return value on error.
1883
1884 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1885
1886 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
1887 entries.
1888 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
1889 * docs/grub.texi: Update menuentry description.
1890
1891 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1892
1893 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
1894 crash when embedding onto filesystem.
1895
1896 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1897
1898 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
1899 name.
1900
1901 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1902
1903 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
1904
1905 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1906
1907 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
1908 commit.
1909
1910 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1911 2012-05-01 Bean <bean123ch@gmail.com>
1912
1913 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
1914
1915 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1916
1917 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
1918 Special behaviour for len = 0 to read whole file isn't used anywhere and
1919 can cause buffer ovewrflows in several places.
1920
1921 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1922
1923 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
1924
1925 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1926
1927 Handle RAIDZ on non-512B sectors.
1928
1929 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
1930 max_children_ashift.
1931 (fill_vdev_info_real): Fill max_children_ashift.
1932 (read_device): Use max_children_ashift.
1933
1934 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1935
1936 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
1937
1938 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1939
1940 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
1941 disk names.
1942 * docs/grub.texi: Update device.map parts.
1943
1944 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1945
1946 Don't scan into non-diskfilter devices having diskfilter names.
1947
1948 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
1949 (scan_disk): New argument accept_diskfilter. Fix recursion depth
1950 handling.
1951 (scan_disk_hook): New function.
1952
1953 2012-04-29 Bean <bean123ch@gmail.com>
1954
1955 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
1956 allocation.
1957
1958 2012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
1959
1960 * configure.ac: Detect starfield theme font path
1961 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
1962
1963 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1964
1965 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
1966 geometry on serial consoles.
1967
1968 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1969
1970 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
1971 because of network consoles.
1972
1973 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1974
1975 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
1976 handling.
1977
1978 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1979
1980 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
1981 falls on Q syndrom.
1982
1983 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1984
1985 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
1986 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
1987
1988 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1989
1990 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
1991 Allocate at lest 8192 for temporary buffer as required for lzo.
1992
1993 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1994
1995 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
1996 to cluster_bits, since it's already added in.
1997 (grub_fat_read_data): Likewise.
1998
1999 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2000
2001 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
2002 as long as cluster size is multiple of 512 bytes.
2003
2004 2012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
2005
2006 * util/grub-mkrescue.in: Fix locale directory.
2007
2008 2012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
2009
2010 * grub-core/kern/emu/hostdisk.c (map): Make static.
2011
2012 2012-04-23 Bean <bean123ch@gmail.com>
2013
2014 * util/grub-fstest.c (fstest): Add missing break.
2015
2016 2012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
2017
2018 Fix hurd build.
2019
2020 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
2021 not define nr variable.
2022 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
2023 find_root_devices_from_poolname, find_root_devices_from_libzfs,
2024 grub_find_device): Do not define.
2025
2026 2012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2027
2028 Fix kfreebsd compile and behaviour.
2029
2030 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
2031 format-security.
2032 * util/getroot.c: Fix wait.h include.
2033 (grub_guess_root_devices): Error if grub_find_device fails.
2034 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
2035 (grub_util_get_dev_abstraction): Likewise.
2036 (grub_util_pull_device): Likewise.
2037 (grub_util_get_grub_dev): Likewise.
2038 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
2039
2040 2012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2041
2042 Fix and unify wholedisk detection.
2043
2044 * util/getroot.c (convert_system_partition_to_system_disk): New argument
2045 is_part. All users updated.
2046 (device_is_wholedisk): Removed.
2047 (grub_util_biosdisk_get_grub_dev): Use is_part.
2048
2049 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2050
2051 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
2052 mode.
2053
2054 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2055
2056 * configure.ac: Bump to beta4.
2057
2058 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2059
2060 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
2061 --fs-uuid --set UUID syntax.
2062
2063 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2064
2065 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
2066 disunification.
2067
2068 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2069
2070 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
2071
2072 2012-04-18 Mads Kiilerich <mads@kiilerich.com>
2073
2074 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
2075
2076 2012-04-18 Mike Gilbert <floppym@gentoo.org>
2077
2078 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
2079
2080 2012-04-18 Bean <bean123ch@gmail.com>
2081
2082 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
2083 place.
2084
2085 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2086
2087 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
2088 users updated.
2089 (grub_util_biosdisk_read): Handle Linux partitions not exactly
2090 corresponding to GRUB partitions.
2091 (grub_util_biosdisk_write): Likewise.
2092
2093 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2094
2095 Scan mdraid before LVM.
2096
2097 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
2098 (grub_diskfilter_register_front): ... this.
2099 (grub_diskfilter_register_back): New function.
2100 All users of grub_diskfilter_register updated.
2101
2102 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2103
2104 * util/grub-install.in: Fix an automatic target detection bug.
2105
2106 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2107
2108 * util/grub-install.in: New option --efi-directory.
2109
2110 2012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2111
2112 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
2113 boot services if we have no other choice.
2114
2115 2012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2116
2117 * util/grub-mknetdir.in: Rename --override-directory to --directory and
2118 document it.
2119 * tests/util/grub-shell.in: Update to --directory.
2120
2121 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2122
2123 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
2124
2125 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2126
2127 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
2128 (grub_minix_read_file): Likewise.
2129 (grub_minix_read_inode): Likewise.
2130 (grub_minix_find_file): Likewise.
2131 (grub_minix_dir): Likewise.
2132
2133 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2134
2135 * util/grub-setup.c (setup): Fix partition handling and blocklist
2136 check.
2137
2138 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2139
2140 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
2141 redundant buggy overlap check.
2142
2143 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2144
2145 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
2146 and grub-mknetdir.
2147
2148 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2149
2150 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
2151 kh.loadflags on pre-2.00 kernels.
2152
2153 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2154
2155 Terminate UNDI and PXE before launching the payload to avoid problems
2156 with DMA.
2157
2158 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
2159 (grub_loader_flags): ... this. All users updated.
2160 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
2161 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
2162 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
2163 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
2164 function.
2165 (grub_pxe_restore): Likewise.
2166 (fini_hnd): New var.
2167 (GRUB_MOD_INIT): Register shutdown hook.
2168 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
2169 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
2170 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
2171 (grub_loader_set): Rename second argument to flags.
2172
2173 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2174
2175 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
2176 written bytes.
2177 (grub_get_num_of_utf8_bytes): New function.
2178 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
2179 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
2180 executing it.
2181 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
2182 (grub_ucs4_to_utf8): Change return type.
2183
2184 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2185
2186 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
2187 warning.
2188 * grub-core/fs/bfs.c (hop_level): Likewise.
2189 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
2190
2191 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2192
2193 * grub-core/lib/adler32.c: Recode due to license unclearness.
2194
2195 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2196
2197 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
2198 (test_header): Likewise.
2199
2200 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2201
2202 Fix --help formatting.
2203
2204 * util/grub-mkconfig_lib.in (print_option_help): New function.
2205 (grub_fmt): Likewise.
2206 * util/grub-install.in: Use print_option_help and grub_fmt.
2207 * util/grub-kbdcomp.in: Likewise.
2208 * util/grub-mkconfig.in: Likewise.
2209 * util/grub-mknetdir.in: Likewise.
2210 * util/grub-mkrescue.in: Likewise.
2211 * util/grub-mkstandalone.in: Likewise.
2212 * util/grub-reboot.in: Likewise.
2213 * util/grub-set-default.in: Likewise.
2214 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2215
2216 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2217
2218 * linguas.sh: Remove autogenerated *.po.
2219
2220 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2221
2222 * po/README: Move language fetcing to ...
2223 * linguas.sh: ... here.
2224 * po/README: Point to linguas.sh.
2225
2226 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2227
2228 * po/README: Exclude ko.po due to disclaimer problems.
2229
2230 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2231
2232 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
2233 len = 0.
2234 (grub_gettext_translate_real): Handle 0th string.
2235 (grub_gettext_translate): Ensure that "" isn't translated.
2236
2237 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2238
2239 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
2240 TRANSLATORS comment.
2241 (grub_diskfilter_print_partmap): Propagate changing of error into
2242 warning.
2243
2244 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2245
2246 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
2247 to uint64_t to prevent overflow.
2248 (grub_diskfilter_lv): Increase start_extent and extent_count
2249 to uint64_t to prevent overflow.
2250
2251 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2252
2253 * configure.ac: Increase version.
2254
2255 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2256
2257 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
2258
2259 * po/Rules-translit: New file.
2260 * po/arabic.sed: Likewise.
2261 * po/cyrillic.sed: Likewise.
2262 * po/greek.sed: Likewise.
2263 * po/hebrew.sed: Likewise.
2264 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
2265 * po/Makefile.in.in: Add extra_dist4.
2266
2267 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2268
2269 Handle big-endian minixfs (fixes minixfs tests on bigendian).
2270
2271 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
2272 modify names. Introduce MODE_BIGENDIAN.
2273 * grub-core/fs/minix_be.c: New file.
2274 * grub-core/fs/minix2_be.c: Likewise
2275 * grub-core/fs/minix3_be.c: Likewise.
2276 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
2277 minix3_be.
2278 * grub-core/Makefile.core.def (minix_be): New module.
2279 (minix2_be): Likewise.
2280 (minix3_be): Likewise.
2281
2282 2012-04-01 Felix <email@hamburg.de>
2283
2284 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
2285 (devs): Add MBP 2011.
2286
2287 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2288
2289 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
2290
2291 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2292
2293 * grub-core/normal/cmdline.c (print_completion): New field
2294 prompt_len.
2295 (grub_cmdline_get): Handle width properly.
2296
2297 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2298
2299 * grub-core/commands/lsacpi.c (options): Add missing terminator.
2300
2301 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2302
2303 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
2304 after 29th of February.
2305
2306 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2307
2308 Fix exfat endianness handling.
2309
2310 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
2311 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
2312 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
2313 Byte-swap utf16 when necessary.
2314 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
2315
2316 2012-03-31 Anton Blanchard <anton@samba.org>
2317 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2318
2319 Fix btrfs endianness handling.
2320
2321 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
2322 (lower_bound): Make root uint64_t. Use root in le.
2323 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
2324 (find_path): Fix template key init.
2325 (grub_btrfs_dir): Fix mtime byteswap.
2326 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
2327
2328 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2329
2330 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
2331 recursion_depth. Break infinite resursions. All users updated.
2332
2333 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2334
2335 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
2336 after free.
2337 Reported by: Peter Jones.
2338
2339 2012-03-31 Anton Blanchard <anton@samba.org>
2340
2341 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
2342 8 bit values.
2343
2344 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2345
2346 * util/grub-install.in: Fix nvram call for PreP.
2347
2348 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2349
2350 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
2351 the error when some elements are missing into a warning.
2352
2353 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2354
2355 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
2356
2357 2012-03-28 Colin Watson <cjwatson@ubuntu.com>
2358
2359 * docs/grub.texi (Invoking grub-probe): New section.
2360 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
2361
2362 2012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
2363
2364 Fix tab and wide character handling in editor and menu.
2365
2366 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
2367 agglomerate control characters with combining marks.
2368 (bidi_line_wrap): Allow break on tab.
2369 (grub_unicode_get_comb_start): New function.
2370 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
2371 and tab correctly.
2372 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
2373 with a space.
2374 * grub-core/normal/term.c (print_ucs4_terminal): New argument
2375 fixed_tab_size. All users updated.
2376 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
2377 (grub_term_getcharwidth): Handle \t.
2378 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
2379 and copy.
2380
2381 2012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2382
2383 Handle big-endian mdraid.
2384
2385 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
2386 * grub-core/Makefile.core.def (mdraid09_be): New module.
2387 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
2388 rather than grub_le_to_cpu* and grub_cpu_to_le*.
2389 * grub-core/disk/mdraid_linux_be.c: New file.
2390
2391 2012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2392
2393 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
2394
2395 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2396
2397 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
2398 missing quotes which caused confusion among translators.
2399
2400 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2401
2402 * util/grub-mkconfig_lib.in: Fix typo.
2403
2404 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2405
2406 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
2407 spaces.
2408 * tests/grub_script_leading_whitespace.in: New file.
2409 * Makefile.util.def (grub_script_leading_whitespace): New test.
2410
2411 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2412
2413 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
2414 to work.
2415
2416 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2417
2418 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
2419 starts with control character.
2420
2421 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2422
2423 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
2424 overflow.
2425 (grub_gdb_outbuf): Likewise.
2426
2427 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2428
2429 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
2430 zero terminator. Fixes a crash.
2431
2432 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2433
2434 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
2435 beyond 4 GiB.
2436 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
2437 images independently of preffered adderss field.
2438
2439 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2440
2441 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
2442 * grub-core/commands/regexp.c: Likewise.
2443 * grub-core/loader/i386/linux.c: Likewise.
2444 * grub-core/partmap/msdos.c: Likewise.
2445 * grub-core/script/execute.c: Likewise.
2446 * grub-core/term/gfxterm.c: Likewise.
2447
2448 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2449
2450 Add variable parsing in $"..." and fix several mismatches with bash.
2451
2452 * Makefile.util.def (grub_script_gettext): New test.
2453 * grub-core/script/execute.c (parse_string): New function.
2454 (gettext_append): Likewise.
2455 (grub_script_arglist_to_argv): Use gettext_append.
2456 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
2457 * tests/grub_script_gettext.in: New file.
2458
2459 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2460
2461 Fix handling of leading spaces in scripts.
2462
2463 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
2464 spaces.
2465 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
2466 other than skipping \r. All users updated.
2467 * tests/grub_script_echo1.in: Add space-related tests.
2468 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
2469
2470 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2471
2472 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
2473
2474 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2475
2476 * configure.ac: Bump up the version to beta2.
2477
2478 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2479
2480 Fix gettext reload bugs (e.g. inability to disable gettext
2481 once enabled).
2482
2483 * grub-core/gettext/gettext.c: Encapsulate all static variables in
2484 main_context and secondary_context. All functions updated.
2485 (grub_gettext_translate): Rename to ...
2486 (grub_gettext_translate_real): ... this. Return NULL on failed
2487 translate.
2488 (grub_gettext_translate): Handle secondary context.
2489 (grub_gettext_delete_list): Close file and zero-out the context.
2490 (grub_mofile_open): Don't call grub_gettext_delete_list.
2491 Don't close file.
2492 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
2493 if locale="" to avoid pointless error message.
2494 (grub_gettext_env_write_lang): Update lang even if load fails.
2495 Handle secondary context.
2496 (grub_gettext_reread_prefix): New function.
2497 (read_main): Likewise.
2498 (read_secondary): Likewise.
2499 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
2500 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
2501 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
2502 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
2503
2504 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2505
2506 * configure.ac: Decrease warning level to avoid spurious warnings and
2507 to be able to compile with GCC 4.2.
2508 * Makefile.util.def: Remove -Wno-error=logical-op.
2509
2510 2012-03-10 William Bittner <william.bittner@gmail.com>
2511
2512 * util/import_unicode.py: Add missing brackets around string for
2513 python 3 support.
2514
2515 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2516
2517 Fix efi chainloader on network root.
2518
2519 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
2520 network devices.
2521 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
2522 New function.
2523
2524 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2525
2526 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
2527 unused show_text member.
2528 * docs/grub.texi: Document "text" property.
2529
2530 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2531
2532 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
2533 in dprintf.
2534
2535 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2536
2537 Fix IMSM handling on Fedora.
2538
2539 * util/getroot.c (grub_util_is_imsm): New function.
2540 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
2541
2542 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2543
2544 * Makefile.am: Strip gold section.
2545 * conf/Makefile.common: Likewise.
2546 * gentpl.py: Likewise.
2547 * grub-core/Makefile.core.def: Likewise.
2548 * grub-core/genmod.sh.in: Likewise.
2549
2550 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2551
2552 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
2553 * util/grub.d/20_linux_xen.in: Likewise.
2554 Based on Debian patch.
2555
2556 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2557
2558 * util/grub.d/10_linux.in: Fix syntax error resulting in
2559 Richard Laager's patch.
2560 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
2561
2562 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2563
2564 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
2565 dependencies.
2566
2567 2012-03-10 Richard Laager <rlaager@wiktel.com>
2568
2569 * util/grub.d/10_linux.in: Fix ZFS root passing.
2570
2571 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2572
2573 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
2574 * grub-core/commands/xnu_uuid.c: Likewise.
2575 * grub-core/loader/efi/appleloader.c: Likewise.
2576 * grub-core/script/execute.c: Likewise.
2577 * grub-core/script/main.c: Likewise.
2578 * util/grub-mkfont.c: Likewise.
2579
2580 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2581
2582 * util/grub-mkfont.c (options): Use more appropriate "select" that
2583 "set" for face index.
2584
2585 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2586
2587 * util/grub-editenv.c (options): Gettextize command summaries.
2588
2589 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2590
2591 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
2592 "out of memory" error messagge.
2593
2594 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2595
2596 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
2597 of diskfilter for diskfilter on diskfilter support.
2598
2599 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2600
2601 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
2602
2603 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2604
2605 * util/grub-install.in: Check for themes/starfield/theme.txt and not
2606 themes/starfield.
2607
2608 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2609
2610 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
2611
2612 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2613
2614 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
2615
2616 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2617
2618 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
2619 of error message.
2620
2621 2012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
2622
2623 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
2624
2625 2012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
2626
2627 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
2628 message.
2629 * util/grub-install.in: Fix and gettextize error message.
2630
2631 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2632
2633 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
2634 Gettextize.
2635 * util/grub-mount.c (options): Likewise.
2636
2637 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2638
2639 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
2640 gettextize.
2641 * grub-core/commands/search_wrap.c (options): Likewise.
2642
2643 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2644
2645 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
2646
2647 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2648
2649 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
2650 size calculation.
2651 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
2652 none is known.
2653
2654 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2655
2656 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
2657 "temporary" since it's used in identifier and is limited in space.
2658
2659 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2660
2661 * po/POTFILES.in: Regenerate. Include *.h since they contain
2662 translatable strings as well.
2663
2664 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2665
2666 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
2667 byte-swap on big-endian.
2668 Reported by: Lennart Sorensen
2669
2670 2012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
2671
2672 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
2673 (allocate_pages): Improve dprintf.
2674 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
2675 code32_start. Fill code32_start and kernel_alignment in params.
2676 (grub_cmd_initrd): Use prot_init_space.
2677
2678 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2679
2680 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
2681
2682 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2683
2684 * util/grub-install.in: Add missing dot at the end of sentence.
2685
2686 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2687
2688 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
2689 * grub-core/commands/videotest.c: Likewise.
2690 * grub-core/loader/i386/linux.c: Likewise.
2691
2692 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2693
2694 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
2695 sentence.
2696 Reported by: Milo Casagrande.
2697
2698 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2699
2700 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
2701 * grub-core/commands/gptsync.c: Likewise.
2702 * grub-core/commands/hashsum.c: Likewise.
2703 * grub-core/commands/i386/pc/sendkey.c: Likewise.
2704 * grub-core/commands/legacycfg.c: Likewise.
2705 * grub-core/io/gzio.c: Likewise.
2706 * grub-core/net/net.c: Likewise.
2707 * grub-core/term/gfxterm.c: Likewise.
2708 * grub-core/term/terminfo.c: Likewise.
2709 * grub-core/tests/test_blockarg.c: Likewise.
2710 * grub-core/video/video.c: Likewise.
2711 * util/grub-install.in: Likewise.
2712 * util/grub-mkfont.c: Likewise.
2713
2714 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2715
2716 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
2717
2718 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2719
2720 * grub-core/commands/search_wrap.c (options): Fix a typo.
2721 Reported by: David Prévot.
2722
2723 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2724
2725 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
2726 description.
2727
2728 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2729
2730 * util/grub-script-check.c (main): Fix a syntax error message which was
2731 unclear.
2732
2733 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2734
2735 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
2736
2737 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2738
2739 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
2740 messages.
2741
2742 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2743
2744 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
2745 without argument.
2746 * util/grub-mount.c (options): Likewise.
2747
2748 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2749
2750 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
2751
2752 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2753
2754 * grub-core/net/http.c: Add TRANSLATORS comments.
2755 * grub-core/normal/cmdline.c: Likewise.
2756 * grub-core/normal/misc.c: Likewise.
2757 * grub-core/partmap/msdos.c: Likewise.
2758 * grub-core/parttool/msdospart.c: Likewise.
2759 * grub-core/script/execute.c: Likewise.
2760 * grub-core/script/main.c: Likewise.
2761 * grub-core/term/terminfo.c: Likewise.
2762 * grub-core/video/bitmap.c: Likewise.
2763 * util/grub-install.in: Likewise.
2764 * util/grub-mkimage.c: Likewise.
2765 * util/grub-mklayout.c: Likewise.
2766 * util/grub-setup.c: Likewise.
2767
2768 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2769
2770 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
2771 with similar messages in grub-fstest.
2772
2773 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2774
2775 * util/grub-install.in: Unify "option requires an argument" message
2776 with similar messages in other files.
2777 * util/grub-mkconfig.in: Likewise.
2778
2779 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2780
2781 * util/grub-set-default.in: Replace printf with gettext_printf (the
2782 string in in question is already translated from grub-reboot)
2783
2784 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2785
2786 * configure.ac: Bump up the version to beta1.
2787
2788 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2789
2790 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
2791 case when min_align = 0.
2792
2793 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2794
2795 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
2796 and fix a case when line_start overflows.
2797
2798 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2799
2800 * util/grub-reboot.in (usage): Mention id posibility.
2801 * util/grub-set-default.in (usage): Likewise.
2802
2803 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2804
2805 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
2806 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
2807 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
2808 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
2809 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
2810 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
2811 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
2812
2813 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2814
2815 * grub-core/commands/menuentry.c (options): Remove
2816 GRUB_ARG_OPTION_REPEATABLE.
2817 Reported by: Andreas Vogel
2818
2819 2012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
2820
2821 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
2822
2823 2012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
2824
2825 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
2826 error.
2827
2828 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2829
2830 Use sort -V by the idea of Georgi Georgiev.
2831
2832 * util/grub-mkconfig_lib.in (version_sort): New function.
2833 (version_test_numeric): Use version_sort.
2834
2835 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2836
2837 Use submenus in grub-mkconfig.
2838
2839 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
2840 * util/grub-mkconfig_lib.in (grub_quote): New function.
2841 (gettext_printf): Use gettext and not gettext_quoted to fix several
2842 messages.
2843 * util/grub.d/10_hurd.in: Use submenus.
2844 * util/grub.d/10_kfreebsd.in: Likewise.
2845 * util/grub.d/10_linux.in: Likewise.
2846 * util/grub.d/10_netbsd.in: Likewise.
2847 * util/grub.d/20_linux_xen.in: Likewise.
2848 * util/grub.d/30_os-prober.in: Likewise.
2849 * util/grub.d/10_illumos.in: Add missing quoting.
2850 * util/grub.d/10_windows.in: Likewise.
2851
2852 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2853
2854 Fix menu title instability bug.
2855
2856 * grub-core/commands/menuentry.c (options): New option --id.
2857 (grub_normal_add_menu_entry): New argument id. All users updated.
2858 (grub_cmd_menuentry): Handle --id.
2859 (grub_menu_init): Accept unknown arguments.
2860 * grub-core/normal/main.c (features): Add feature_menuentry_id and
2861 feature_menuentry_options.
2862 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
2863 saved_entry.
2864 (get_entry_number): Match with id as well.
2865 * include/grub/menu.h (grub_menu_entry): New member id.
2866 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
2867 * util/grub.d/00_header.in: Define menuentry_id_option.
2868 * util/grub.d/10_hurd.in: Define id.
2869 * util/grub.d/10_illumos.in: Likewise.
2870 * util/grub.d/10_kfreebsd.in: Likewise.
2871 * util/grub.d/10_linux.in: Likewise.
2872 * util/grub.d/10_netbsd.in: Likewise.
2873 * util/grub.d/10_windows.in: Likewise.
2874 * util/grub.d/20_linux_xen.in: Likewise.
2875 * util/grub.d/30_os-prober.in: Likewise.
2876
2877 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2878
2879 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
2880 "scope" with "body".
2881
2882 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2883
2884 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
2885 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
2886 prot_size and prot_file_size.
2887
2888 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2889
2890 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
2891 All users updated. If easily=1 require raid-5/-6 to be full.
2892 (is_node_readable): Likewise.
2893 (scan_devices): Scan incomplete but readable LVs at the end.
2894 (grub_diskfilter_memberlist): Pull missing devices.
2895 (insert_array): Skip scanning until device is complete or scan is
2896 done otherwise.
2897 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
2898 check.
2899 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
2900 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
2901
2902 2012-03-03 Matthew Garrett <mjg@redhat.com>
2903 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2904
2905 Avoid EFI boot services when loading Linux.
2906
2907 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
2908 avoid_efi_bootservices. All users updated.
2909 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
2910 argument avoid_efi_bootservices. All users updated.
2911 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
2912 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
2913 align, min_align, relocatable, prefered_address. All users updated.
2914 Allocate avoiding boot services if kernel is relocatable.
2915 (grub_cmd_linux): Check if kernel is relocatable.
2916 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
2917 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
2918 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
2919 avoid_efi_boot_services.
2920 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
2921 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
2922 (linux_kernel_params): Likewise.
2923
2924 2012-03-03 Matthew Garrett <mjg@redhat.com>
2925 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2926
2927 Use EDID on EFI.
2928
2929 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
2930 datasize_out.
2931 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
2932 modes. Set gop_handle.
2933 (grub_video_gop_get_edid): New function.
2934 (grub_gop_get_preferred_mode): Likewise.
2935 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
2936 (grub_video_efi_gop_adapter): Set .get_edid.
2937 * include/grub/efi/edid.h: New file.
2938 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
2939
2940 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2941
2942 * util/grub-install.in: Load efivars unconditionally.
2943
2944 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2945
2946 * po/Rules-piglatin: Change suffix from .po-update-en to
2947 .po-update-en-piglatin.
2948
2949 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2950
2951 Add a pig farm.
2952
2953 * po/piglatin.sed: New file.
2954 * po/en@piglatin.header: Likewise.
2955 * po/Rules-piglatin: Likewise.
2956 * po/README: Add en@piglatin to autogenerated languages.
2957
2958 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2959
2960 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
2961 "Command for ...".
2962 * grub-core/commands/hdparm.c (options): Use "Display" rather than
2963 "Check" since we don't check anything.
2964 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
2965 is 64-bit one.
2966 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
2967 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
2968 (grub_md_sha512_real): Likewise.
2969
2970 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2971
2972 * grub-core/commands/gptsync.c: Fix typographic quoting.
2973 * grub-core/commands/ieee1275/suspend.c: Likewise.
2974 * grub-core/commands/parttool.c: Likewise.
2975 * grub-core/commands/search_wrap.c: Likewise.
2976 * grub-core/commands/videoinfo.c: Likewise.
2977 * grub-core/gfxmenu/gui_label.c: Likewise.
2978 * grub-core/hello/hello.c: Likewise.
2979 * grub-core/kern/emu/main.c: Likewise.
2980 * grub-core/net/net.c: Likewise.
2981 * grub-core/normal/menu.c: Likewise.
2982 * grub-core/normal/menu_text.c: Likewise.
2983 * grub-core/normal/misc.c: Likewise.
2984 * util/grub-editenv.c: Likewise.
2985 * util/grub-install.in: Likewise.
2986 * util/grub-kbdcomp.in: Likewise.
2987 * util/grub-mkconfig.in: Likewise.
2988 * util/grub-mknetdir.in: Likewise.
2989 * util/grub-mkrescue.in: Likewise.
2990 * util/grub-mkstandalone.in: Likewise.
2991 * util/grub-reboot.in: Likewise.
2992 * util/grub-set-default.in: Likewise.
2993 * util/grub-setup.c: Likewise.
2994 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2995
2996 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2997
2998 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
2999 * grub-core/commands/keystatus.c: Likewise.
3000 * grub-core/commands/loadenv.c: Likewise.
3001 * grub-core/commands/probe.c: Likewise.
3002 * grub-core/commands/regexp.c: Likewise.
3003 * grub-core/commands/true.c: Likewise.
3004 * grub-core/commands/videoinfo.c: Likewise.
3005 * grub-core/disk/cryptodisk.c: Likewise.
3006 * grub-core/disk/ldm.c: Likewise.
3007 * grub-core/disk/loopback.c: Likewise.
3008 * grub-core/disk/luks.c: Likewise.
3009 * grub-core/fs/zfs/zfsinfo.c: Likewise.
3010 * grub-core/kern/disk.c: Likewise.
3011 * grub-core/kern/emu/hostdisk.c: Likewise.
3012
3013 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3014
3015 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
3016 * util/grub-install.in: Add missing quote in the comment.
3017
3018 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3019
3020 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
3021 * grub-core/commands/lsmmap.c: Likewise.
3022 * grub-core/commands/minicmd.c: Likewise.
3023 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
3024 * grub-core/commands/regexp.c: Likewise.
3025 * grub-core/gdb/gdb.c: Likewise.
3026 * grub-core/term/gfxterm.c: Likewise.
3027 * util/grub-mkconfig.in: Likewise.
3028 * util/grub-mkfont.c: Likewise.
3029 * util/grub-mklayout.c: Likewise.
3030 * util/grub-mknetdir.in: Likewise.
3031 * util/grub-mkrescue.in: Likewise.
3032 * util/grub.d/30_os-prober.in: Likewise.
3033
3034 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3035
3036 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
3037 with "Direct color" and "Packed" with "Packed pixel".
3038 (grub_cmd_videoinfo): Simplify legend.
3039
3040 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3041
3042 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
3043 absolutely unclear error message.
3044
3045 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3046
3047 * util/grub-mkstandalone.in: Remove confusing leftover print.
3048
3049 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3050
3051 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
3052 comments.
3053 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
3054 (GRUB_MOD_INIT): Likewise.
3055 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
3056 VGA mode.
3057 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
3058 comments.
3059 * util/grub-install.in (usage): Likewise.
3060 Spell ID in whole letters.
3061 Add missing ending dot.
3062 Quote variables.
3063 * util/grub-reboot.in: Fix capitalisation.
3064 * util/grub-set-default.in: Likewise.
3065
3066 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3067
3068 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
3069 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
3070 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
3071 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
3072 Disable -Werror for -Wdeprecated-declarations.
3073 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
3074 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
3075 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
3076 (grub_util_get_grub_dev): Make luks handling dependent on
3077 HAVE_DEVICE_MAPPER and not __linux__.
3078 (get_win32_path): Fix format security.
3079 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
3080 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
3081 Don't try grub_find_zpool_from_dir.
3082 (grub_make_system_path_relative_to_its_root) [!__linux__]:
3083 #ifdef-out paresdir.
3084
3085 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3086
3087 * util/grub-pe2elf.c (usage): Add missing noreturn.
3088 (write_section_data): Rename name to shname to avoid shadowing.
3089 (write_symbol_table): Rename name to symname to avoid shadowing.
3090 Fix write_reloc_section call.
3091
3092 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3093
3094 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
3095 to ensure that it's after the last byte of .text.
3096
3097 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3098
3099 * util/ieee1275/ofpath.c (my_isdigit): New function.
3100 (trailing_digits): Use my_isdigit.
3101 (strip_trailing_digits): Likewise.
3102
3103 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3104
3105 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
3106 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
3107
3108 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3109
3110 * grub-core/kern/i386/pc/startup.S: Define __start.
3111
3112 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3113
3114 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
3115 strip already transforms he format.
3116
3117 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3118
3119 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
3120
3121 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3122
3123 * util/grub-install.in: Add missing gettext init.
3124 * util/grub-kbdcomp.in: Likewise.
3125 * util/grub-mkconfig.in: Likewise.
3126 * util/grub-mknetdir.in: Likewise.
3127 * util/grub-mkrescue.in: Likewise.
3128 * util/grub-mkstandalone.in: Likewise.
3129 * util/grub-reboot.in: Likewise.
3130 * util/grub-set-default.in: Likewise.
3131 * util/grub.d/00_header.in: Likewise.
3132 * util/grub.d/10_hurd.in: Likewise.
3133 * util/grub.d/10_windows.in: Likewise.
3134 * util/grub.d/30_os-prober.in: Likewise.
3135 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3136
3137 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3138
3139 * po/Rules-swiss: Fix header comment.
3140
3141 2012-02-29 Andreas Vogel <anvoit>
3142
3143 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
3144 resulted in leak of arguments.
3145
3146 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3147
3148 * grub-core/boot/i386/pc/startup_raw.S: Use separate
3149 reed_solomon_size const definition instead of computing it since
3150 Apple assembler doesn't support the later.
3151
3152 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3153
3154 * gentpl.py (kernel): Rewrite Apple part.
3155
3156 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3157
3158 * include/grub/kernel.h (FOR_MODULES): Check module magic.
3159
3160 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3161
3162 * util/grub-mkimagexx.c (locate_sections): Support non-standard
3163 ELF section gap.
3164 (load_image): Likewise.
3165
3166 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3167
3168 * configure.ac: Fix a typo in previous commit.
3169
3170 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3171
3172 Don't add -Wl,-N on Apple platform.
3173
3174 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
3175 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
3176
3177 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3178
3179 * grub-core/Makefile.core.def (lzma_decompress): Use
3180 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
3181
3182 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3183
3184 * grub-core/genmod.sh.in: Rewrite the Apple part.
3185
3186 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3187
3188 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
3189 comparison.
3190
3191 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3192
3193 * acinclude.m4 (grub_CHECK_PIC): New test.
3194 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
3195
3196 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3197
3198 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
3199 to avoid the warning.
3200
3201 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3202
3203 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
3204 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
3205 after. All users updated.
3206
3207 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3208
3209 Use the common size routine in hostfs so we can read disks as well.
3210
3211 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
3212 (grub_util_get_fd_size): ... this. Return size in bytes.
3213 All users updated.
3214 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
3215 grub_util_get_fd_size.
3216
3217 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3218
3219 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
3220 Add blocksize retrieval.
3221
3222 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3223
3224 * configure.ac: Restore CFLAGS after efiemu check.
3225
3226 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3227
3228 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
3229 Apple bug.
3230
3231 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3232
3233 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
3234
3235 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3236
3237 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
3238 (grub_cmd_halt): Likewise.
3239
3240 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3241
3242 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
3243 for local arithmetics.
3244 Break %sp init into 2 instructions.
3245 Add 0 byte at the end.
3246
3247 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3248
3249 * grub-core/disk/diskfilter.c (read_segment): Initialise err
3250 before loops.
3251
3252 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3253
3254 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
3255 for context.
3256
3257 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3258
3259 * grub-core/disk/ldm.c (make_vg): Init part.name.
3260 (grub_ldm_detect): Silence spurious warning.
3261 (grub_util_is_ldm): Likewise.
3262
3263 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3264
3265 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
3266 sane value to avoid a spurious warning.
3267
3268 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3269
3270 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
3271 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
3272
3273 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3274
3275 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
3276 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
3277
3278 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3279
3280 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
3281 hardcoding the relevant info.
3282
3283 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3284
3285 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
3286 missing const qualifiers.
3287 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
3288
3289 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3290
3291 * util/getroot.c [__APPLE__]: Add missing includes.
3292 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
3293
3294 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3295
3296 * util/grub-mkimage.c (generate_image): Silence spurious warning.
3297
3298 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3299
3300 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
3301 avoid conflicts.
3302
3303 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3304
3305 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
3306
3307 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3308
3309 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
3310 and grub_file_close call.
3311
3312 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3313
3314 Add LZSS Mach-O support (needed for new xnu kernelcache).
3315
3316 * grub-core/Makefile.core.def (xnu): Add file lzss.c
3317 * grub-core/loader/lzss.c: New file.
3318 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
3319 on Mach-O open failure.
3320 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
3321 Don't free cmdsXX in uncompressedXX is set.
3322 (grub_macho_file): Init new fields.
3323 New argument is_64bit. All users updated.
3324 Handle compressed. Error out if no suitable architecture is found.
3325 Don't close file.
3326 (grub_macho_open): New argument is_64bit. All users updated.
3327 * grub-core/loader/macho32.c: Add defines for new fields.
3328 * grub-core/loader/macho64.c: Likewise.
3329 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
3330 (grub_macho_parse): Handle compressed.
3331 Defer actual processing if compressed.
3332 (grub_macho_cmds_iterate): Decompress if compressed. New argument
3333 "filename". All users updated.
3334 (grub_macho_size): New argument "filename". All users updated.
3335 (grub_macho_get_entry_point): Likewise.
3336 (grub_macho_load): Handle compressed.
3337 * include/grub/macho.h (grub_macho_lzss_header): New struct.
3338 (GRUB_MACHO_LZSS_OFFSET): New define.
3339 (grub_decompress_lzss): New proto.
3340 * include/grub/machoload.h (grub_macho_file): New fields to handle
3341 compressed.
3342 (grub_macho_contains_macho64): Remove proto.
3343 (grub_macho_contains_macho32): Likewise.
3344 * util/grub.d/30_os-prober.in: Use kernel cache if available.
3345
3346 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3347
3348 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
3349
3350 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3351
3352 Fix make dist.
3353
3354 * Makefile.am (starfield_theme_files): New var.
3355 (starfield_DATA): Use starfield_theme_files.
3356 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
3357 Add bootcheck-related files.
3358 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
3359 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
3360 and font_char_metrics.txt.
3361 * grub-core/Makefile.core.def (kernel): Update extra_dist.
3362 (setjmp): Add lib/ia64/longjmp.S.
3363 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
3364 * po/POTFILES.in: Regenerate.
3365 * po/Rules-swiss: use DISTFILES.common.extra2 and not
3366 DISTFILES.common.extra1.
3367 * util/devicemap.c: Removed.
3368 * grub-core/lib/i386/relocator_backward.S: Likewise.
3369 * util/import_gcry.py: Remove unused files. Add extra_dist for
3370 ChangeLog.
3371
3372 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3373
3374 * grub-core/gettext/gettext.c (grub_mofile_open): Call
3375 grub_gettext_delete_list before changing grub_gettext_max to avoid
3376 running out of array bounds.
3377
3378 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3379
3380 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
3381 grub_vga_text_init/grub_vga_text_fini.
3382
3383 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3384
3385 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
3386
3387 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3388
3389 * configure.ac: Bump to 2.00~beta0.
3390
3391 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3392
3393 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
3394 missing initialisation.
3395
3396 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3397
3398 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
3399
3400 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3401
3402 Support v2 xnu boot arguments.
3403
3404 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
3405 New argument fsbfreq_out.
3406 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
3407 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
3408 be used.
3409 * grub-core/loader/machoXX.c (grub_macho_load): New argument
3410 darwin_version.
3411 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
3412 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
3413 (grub_xnu_boot_params): Rename to ...
3414 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
3415 (grub_xnu_boot_params_v2): New struct.
3416
3417 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3418
3419 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
3420 zeroing of CRC field before computing CRC.
3421
3422 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3423
3424 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
3425 Change order of allocations to decrease fragmentation.
3426
3427 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3428
3429 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
3430
3431 2012-02-27 Colin Watson <cjwatson@ubuntu.com>
3432
3433 Use write-combining MTRR to speed up video with buggy BIOSes.
3434
3435 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
3436 (cpuid): New define.
3437 (rdmsr): Likewise.
3438 (wrmsr): Likewise.
3439 (mtrr_base): Likewise.
3440 (mtrr_mask): Likewise.
3441 (grub_vbe_enable_mtrr_entry): New function.
3442 (grub_vbe_enable_mtrr): Likewise.
3443 (grub_vbe_disable_mtrr): Likewise.
3444 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
3445 control off to BIOS.
3446 (grub_video_vbe_init): Fill mtrr.
3447 (grub_video_vbe_fini): Disable mtrr.
3448 (grub_video_vbe_get_info_and_fini): Likewise.
3449 (grub_video_vbe_setup): Enable mtrr.
3450
3451 2012-02-27 Colin Watson <cjwatson@ubuntu.com>
3452
3453 * include/grub/partition.h (grub_partition_map): Change prototype of
3454 embed to take a maximum value for nsectors.
3455 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
3456 * include/grub/fs.h (grub_fs): Likewise.
3457 * grub-core/partmap/msdos.c (embed_signatures): New array.
3458 (pc_partition_map_embed): Check for and avoid sectors matching any
3459 of the signatures in embed_signatures, up to max_nsectors.
3460 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
3461 returned sector map to max_nsectors.
3462 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
3463 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
3464 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
3465 * util/grub-setup.c (setup): Allow for the embedding area being
3466 split into multiple blocklists. Tell dest_partmap->embed the
3467 maximum number of sectors we care about.
3468
3469 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3470
3471 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
3472 Specify blocklist_install and reserver_first_sector for all fs.
3473 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
3474 blocklists.
3475
3476 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3477
3478 * util/grub-install.in: Clarify strings.
3479 Fix source dir check.
3480
3481 2012-02-27 Richard Laager <rlaager@wiktel.com>
3482
3483 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
3484 "zfs" and "fuse.zfs" as synonyms.
3485
3486 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3487
3488 * configure.ac: Put platform and target_cpu substitutions back since
3489 they are used for directories.
3490
3491 2012-02-27 Richard Laager <rlaager@wiktel.com>
3492 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3493
3494 * util/grub.d/10_linux.in: Add ZFS-related arguments.
3495 * util/grub.d/20_linux_xen.in: Likewise.
3496
3497 2012-02-27 Richard Laager <rlaager@wiktel.com>
3498
3499 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
3500 with full paths.
3501
3502 2012-02-27 Richard Laager <rlaager@wiktel.com>
3503
3504 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
3505 unescape.
3506
3507 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3508
3509 Don't use insecure popen in getroot.
3510
3511 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
3512 (exec_pipe): ... here.
3513 (find_root_devices_from_poolname): Use exec_pipe.
3514
3515 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3516
3517 Remove platform and target_cpu replacement.
3518
3519 * configure.ac: Remove platform and target_cpu substitutions.
3520 * tests/util/grub-shell.in: Use modinfo.
3521 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
3522 explicitly.
3523
3524 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3525
3526 Autodetect platform in grub-install but allow override.
3527
3528 * util/grub-install.in: Autodetect platform. Support --target and
3529 --directory. Read platform from modinfo.sh.
3530
3531 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3532
3533 Support btrfs multi-volume probe.
3534
3535 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
3536 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
3537 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
3538 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
3539 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
3540 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
3541 grub_find_root_devices_from_btrfs if on btrfs.
3542
3543 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3544
3545 Remove any awareness of *.c util files about target.
3546
3547 * Makefile.util.def (grub-setup): Split to ...
3548 (grub-bios-setup): ... and this.
3549 (grub-sparc64-setup): ... and this.
3550 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
3551 * docs/man/grub-setup.h2m: Split into ...
3552 * docs/man/grub-sparc64-setup.h2m: ... this.
3553 * docs/man/grub-bios-setup.h2m: ... and this.
3554 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
3555 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
3556 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
3557 (grub_target_addr_t): Remove.
3558 (grub_target_size_t): Remove.
3559 (grub_target_ssize_t): Remove.
3560 * util/grub-install.in: Use new grub-*-setup.
3561 * util/grub-mkimagexx.c (Elf_Word): New define.
3562 (Elf_Half): Likewise.
3563 (Elf_Section): Likewise.
3564 (ELF_ST_TYPE): Likewise.
3565 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
3566 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
3567
3568 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3569
3570 Replace grub_target_addr with more appropriate types.
3571
3572 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
3573 grub_target_addr with grub_addr.
3574 * grub-core/commands/iorw.c (grub_cmd_read): Replace
3575 grub_target_addr with grub_port.
3576 (grub_cmd_write): Likewise.
3577 * grub-core/commands/memrw.c (grub_cmd_read): Replace
3578 grub_target_addr with grub_addr.
3579 (grub_cmd_write): Likewise.
3580 * grub-core/video/efi_uga.c (find_line_len): Likewise.
3581
3582 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3583
3584 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
3585 const qualifier for vendor_guid.
3586
3587 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3588
3589 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
3590 const qualifier.
3591 (efiemu_memequal): Likewise.
3592 (find_variable): Likewise.
3593
3594 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3595
3596 Fix missing console prototype on qemu-mips.
3597
3598 * include/grub/mips/qemu_mips/console.h: New file.
3599
3600 2012-02-27 Matthew Garrett <mjg@redhat.com>
3601 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3602
3603 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
3604 * include/grub/efi/efi.h: Likewise.
3605 * include/grub/efi/api.h: Add guid for EFI-specified variables.
3606 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
3607 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
3608 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
3609 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
3610 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
3611
3612 2012-02-27 Matthew Garrett <mjg@redhat.com>
3613
3614 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
3615
3616 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3617
3618 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
3619 error.
3620
3621 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3622
3623 * configure.ac: Remove inappropriate use of program_transform_name
3624 on grubdir and bootdir but allow explicit specification of those
3625 variables.
3626
3627 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3628
3629 * util/grub-mknetdir.in (grub_prefix): Removed.
3630 (subdir): Use @bootdirname@ and @grubdirname@.
3631
3632 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3633
3634 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
3635
3636 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3637
3638 * po/POTFILES.in: Regenerated.
3639
3640 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3641
3642 Remove improper use of program_transform_name on pkglibrootdir.
3643
3644 * configure.ac (pkglibrootdir): Removed.
3645 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
3646 * util/grub-mkimage.c: Likewise.
3647
3648 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3649
3650 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
3651 warning.
3652
3653 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3654
3655 * util/grub-install.in: Use file identifier if no UUID is available
3656 or user explicitly prompted for it.
3657
3658 2012-02-27 Navdeep Parhar <nparhar@gmail.com>
3659
3660 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
3661 (freebsd_get_zfs): New function.
3662 (grub_freebsd_boot): Pass zfs UUID.
3663 (grub_cmd_freebsd): Set zfs UUID.
3664
3665 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3666
3667 * conf/Makefile.common (platformdir): Base on pkglibdir and not
3668 pkglibrootdir.
3669
3670 2012-02-27 Mike Gilbert <floppym@gentoo.org>
3671
3672 Add configure flag to control libzfs integration.
3673
3674 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
3675
3676 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3677
3678 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
3679 device.
3680 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
3681 small devices.
3682
3683 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3684
3685 Remove grub_{modname}_init and grub_{modname}_fini. They should never
3686 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
3687 be used on non-modules.
3688
3689 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
3690 Rename to grub_boot_init.
3691 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
3692 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
3693 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
3694 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
3695 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
3696 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
3697 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
3698 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
3699 includes.
3700 (grub_machine_init): Remove empty inits.
3701 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
3702 includes.
3703 (grub_machine_init): Remove empty inits.
3704 * grub-core/term/arc/console.c: Remove explicit proto.
3705 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
3706 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
3707 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
3708 grub_at_keyboard_fini.
3709 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
3710 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
3711 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
3712 grub_gfxterm_fini.
3713 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
3714 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
3715 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
3716 grub_vgatext_fini.
3717 * grub-core/term/ieee1275/console.c: Remove explicit proto.
3718 * grub-core/term/serial.c (GRUB_MOD_INIT)
3719 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
3720 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
3721 grub_serial_fini.
3722 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
3723 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
3724 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
3725 grub_terminfo_fini.
3726 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
3727 (GRUB_MOD_FINI): Likewise.
3728 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
3729 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
3730 (GRUB_MOD_FINI) [LOONGSON]: Rename to
3731 grub_video_radeon_fuloong2e_fini.
3732 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
3733 [LOONGSON]: Rename to grub_video_sis315pro_init.
3734 (GRUB_MOD_FINI) [LOONGSON]: Rename to
3735 grub_video_sis315pro_fini.
3736 * grub-core/video/sm712.c (GRUB_MOD_INIT)
3737 [LOONGSON]: Rename to grub_video_sm712_init.
3738 (GRUB_MOD_FINI) [LOONGSON]: Rename to
3739 grub_video_sm712_fini.
3740 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
3741 (grub_at_keyboard_fini): Likewise.
3742 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
3743 Don't declare grub_{modname}_init.
3744 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
3745 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
3746 New proto.
3747 (grub_keylayouts_fini) [!EMU]: Likewise.
3748 * include/grub/serial.h (grub_serial_init) [!EMU]:
3749 New proto.
3750 (grub_serial_fini) [!EMU]: Likewise.
3751 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
3752 New proto.
3753 (grub_terminfo_fini) [!EMU]: Likewise.
3754 * include/grub/video.h (grub_font_init) [!EMU]:
3755 New proto.
3756 (grub_font_fini) [!EMU]: Likewise.
3757 (grub_gfxterm_init) [!EMU]: Likewise.
3758 (grub_gfxterm_fini) [!EMU]: Likewise.
3759 (grub_video_sm712_init) [!EMU]: Likewise.
3760 (grub_video_sm712_fini) [!EMU]: Likewise.
3761 (grub_video_sis315pro_init) [!EMU]: Likewise.
3762 (grub_video_sis315pro_fini) [!EMU]: Likewise.
3763 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
3764 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
3765
3766 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3767
3768 Make nand a prefix for nand devices.
3769
3770 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
3771
3772 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3773
3774 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
3775 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
3776
3777 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3778
3779 * include/grub/env.h (grub_env_find): Remove prototype.
3780 * grub-core/kern/env.c (grub_env_find): Make static.
3781 (grub_env_set): Remove useless set.
3782
3783 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3784
3785 * grub-core/kern/i386/realmode.S: Remove useless align.
3786
3787 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3788
3789 * include/grub/dl.h (grub_dl_load_file): Don't export.
3790
3791 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3792
3793 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
3794 grub_dprintf.
3795
3796 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3797
3798 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
3799 grub_errors.
3800 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
3801 not reloading whole superblock but only the part which is really needed.
3802 Remove useless grub_errors.
3803 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
3804 grub_errors.
3805
3806 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3807
3808 Don't export grub_get_rtc.
3809
3810 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
3811 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
3812
3813 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3814
3815 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
3816
3817 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3818
3819 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
3820 argument since it can be deduced from diskfilter. All users updated.
3821
3822 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3823
3824 Remove prio_list.
3825
3826 * include/grub/list.h (grub_prio_list): Removed.
3827 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
3828 GRUB_COMMAND_PRIO_MASK.
3829 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
3830 GRUB_COMMAND_FLAG_ACTIVE.
3831 (grub_prio_list_insert): Removed.
3832 (grub_prio_list_remove): Likewise.
3833 (GRUB_AS_PRIO_LIST): Likewise.
3834 (GRUB_AS_PRIO_LIST_P): Likewise.
3835 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
3836 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
3837 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
3838 * grub-core/kern/command.c (grub_register_command_prio): Inline
3839 the prio_list code.
3840 (grub_unregister_command): Likewise.
3841
3842 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3843
3844 Fix interrupt mixup from previous commit.
3845
3846 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
3847 (grub_realidt): New var.
3848 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
3849 Load idt.
3850 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
3851 New declaration.
3852 (grub_relocator16_boot): Set grub_relocator16_idt.
3853 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
3854 (LOCAL(realidt)): ... this.
3855 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
3856 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
3857 (grub_realidt): New variable.
3858
3859 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3860
3861 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
3862 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
3863 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
3864 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
3865 Gettextize.
3866 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
3867 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
3868 * po/POTFILES.in: Regenerate.
3869
3870 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3871
3872 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
3873 errors.
3874
3875 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3876
3877 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
3878 \0.
3879 (add_length): Likewise.
3880
3881 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3882 2012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
3883
3884 GDB serial and backtrace support.
3885
3886 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
3887 (prot_to_real): Likewise.
3888 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
3889 * grub-core/Makefile.core.def (backtrace): New module.
3890 (gdb): Likewise.
3891 * grub-core/gdb/cstub.c: New file.
3892 * grub-core/gdb/gdb.c: Likewise.
3893 * grub-core/gdb/i386/idt.c: Likewise.
3894 * grub-core/gdb/i386/machdep.S: Likewise.
3895 * grub-core/gdb/i386/signal.c: Likewise.
3896 * grub-core/lib/i386/backtrace.c: Likewise.
3897 * grub-core/lib/backtrace.c: Likewise.
3898 * include/grub/backtrace.h: Likewise.
3899 * include/grub/gdb.h: Likewise.
3900 * include/grub/i386/gdb.h: Likewise.
3901
3902 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3903
3904 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
3905 New function.
3906 (add_length): Likewise.
3907 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
3908 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
3909 proto.
3910 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
3911 __argp_get_display_len.
3912
3913 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3914
3915 $"..." support in scripts.
3916
3917 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
3918 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
3919 * grub-core/script/yylex.l: Likewise.
3920 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
3921 value.
3922
3923 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3924
3925 * gentpl.py: Remove obsolete pkglib_DATA handling.
3926
3927 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3928
3929 Don't transform PACKAGE_TARNAME following a discussion on autoconf
3930 mailing list.
3931
3932 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
3933 * util/grub-kbdcomp.in: Likewise.
3934 * util/grub-mkconfig.in: Likewise.
3935 * util/grub-mkconfig_lib.in: Likewise.
3936 * util/grub-mknetdir.in: Likewise.
3937 * util/grub-mkrescue.in: Likewise.
3938 * util/grub-mkstandalone.in: Likewise.
3939 * util/grub-reboot.in: Likewise.
3940 * util/grub-set-default.in: Likewise.
3941 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3942
3943 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3944
3945 Remove GRUB_PREFIX.
3946
3947 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
3948 * util/grub.d/00_header.in: Compute prefix in the only place it's still
3949 used for backward compatibility.
3950
3951 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3952
3953 Add new all_video module.
3954
3955 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
3956 * grub-core/Makefile.core.def (all_video): New module.
3957 * grub-core/genmoddep.awk: Generate dependency of all_video from
3958 video.lst.
3959 * grub-core/lib/fake_module.c: New file.
3960 * grub-core/normal/main.c (features): Add feature_all_video_module.
3961 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
3962 don't do explicit search again.
3963 insmod all_video in load_video if available.
3964
3965 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3966
3967 Another round of string clarification and adding TRANSLATORS comments.
3968
3969 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3970
3971 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
3972
3973 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3974
3975 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
3976 to grub_ssize_t.
3977 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
3978 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
3979
3980 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3981
3982 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
3983 trailing newline implicitly. All users updated.
3984
3985 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3986
3987 Implement serial on IEEE1275 and EFI.
3988
3989 * docs/grub.texi (Platform-specific limitations): Fix the columen video
3990 on emu. Mention arc and emu as the only platforms without serial
3991 support.
3992 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
3993 ieee1275 platforms.
3994 * grub-core/term/efi/serial.c: New file.
3995 * grub-core/term/ieee1275/serial.c: Likewise.
3996 * grub-core/term/serial.c (grub_serial_find): Disable direct port
3997 specification if no ns8250 driver is available.
3998 (grub_cmd_serial): Likewise.
3999 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
4000 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
4001 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
4002 (grub_efi_parity_type_t): New type.
4003 (grub_efi_stop_bits_t): Likewise.
4004 (grub_efi_serial_io_interface): New struct.
4005 * include/grub/serial.h (grub_serial_port): Make 'broken' field
4006 available for all interfaces.
4007 Add EFI and IEEE1275 fields.
4008 (grub_ofserial_init): New proto.
4009 (grub_efiserial_init): Likeiwse.
4010 * util/grub.d/00_header.in: Don't check for the presence of serial
4011 module.
4012
4013 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4014
4015 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
4016 name as if it was an alias.
4017
4018 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
4019
4020 * grub-core/commands/lsacpi.c (options): Fix typo.
4021
4022 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
4023
4024 Convert grub-emu to argp.
4025
4026 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
4027 emu.
4028 * util/argp_common.c: Rename to ...
4029 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
4030 Add missing includes.
4031 * grub-core/kern/emu/main.c: Convert to argp.
4032 * po/POTFILES.in: Regenerate.
4033 * util/grub-install.in (usage): Make first letter lowcase in messages
4034 for uniformity.
4035 * util/grub-setup.c (options): Likewise.
4036
4037 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4038
4039 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
4040 Put back accidently commented-out code.
4041
4042 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4043
4044 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
4045 loop check using Brent algorithm.
4046 (grub_hfsplus_btree_search): Likewise.
4047
4048 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4049
4050 * util/grub-install.in: Fix usage of wrong device for PreP install.
4051
4052 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4053
4054 * conf/Makefile.common (CFLAGS_GNULIB): Add
4055 -Wno-unsafe-loop-optimizations.
4056 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
4057 on tools.
4058 * grub-core/commands/legacycfg.c: Add pragma to skip
4059 -Wunsafe-loop-optimizations.
4060 (check_password_md5_real): Fix loop counter type.
4061 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
4062 reading.
4063 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
4064 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
4065 loop condition.
4066 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
4067 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
4068 * grub-core/net/net.c (grub_net_route_address): Add safety loop
4069 condition.
4070 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
4071 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
4072 avoid possible infinite loops.
4073 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
4074 and -Wunsafe-loop-optimizations.
4075 * grub-core/script/yylex.l: Likewise.
4076 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
4077 (print_glyphs): Avoid infinite loops.
4078 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
4079
4080 2012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
4081
4082 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
4083 to avoid infinite loop.
4084 (disp_acpi_rsdt_table): Likewise.
4085
4086 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4087
4088 * grub-core/font/font.c (grub_font_load): Add support for default
4089 path for fonts ($prefix/fonts).
4090 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
4091 for checking if string is a path.
4092 * grub-core/normal/main.c (features): Add feature_default_font_path.
4093 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
4094 * util/grub.d/00_header.in: Use default directory if possible.
4095 * util/grub-install.in: Install unicode.pf2.
4096
4097 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4098
4099 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
4100 * po/Rules-swiss: New file.
4101 * po/swiss.sed: Likewise.
4102
4103 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
4104
4105 * grub-core/fs/btrfs.c (find_device): Fix typos.
4106 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
4107 * util/grub-mkrelpath.c (argp_parser): Likewise.
4108 Reported by: Yuri Chornoivan.
4109
4110 2012-02-23 Dalet Omega <daletomega@gmail.com>
4111
4112 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
4113 for usual informative messages.
4114
4115 2012-02-23 Dalet Omega <daletomega@gmail.com>
4116
4117 Starfield theme.
4118
4119 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
4120 * conf/Makefile.common: Define starfielddir.
4121 * configure.ac: Configure starfield.
4122 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
4123 * themes/starfield/README: Likewise.
4124 * themes/starfield/blob_w.png: Likewise.
4125 * themes/starfield/boot_menu_c.png: Likewise.
4126 * themes/starfield/boot_menu_e.png: Likewise.
4127 * themes/starfield/boot_menu_n.png: Likewise.
4128 * themes/starfield/boot_menu_ne.png: Likewise.
4129 * themes/starfield/boot_menu_nw.png: Likewise.
4130 * themes/starfield/boot_menu_s.png: Likewise.
4131 * themes/starfield/boot_menu_se.png: Likewise.
4132 * themes/starfield/boot_menu_sw.png: Likewise.
4133 * themes/starfield/boot_menu_w.png: Likewise.
4134 * themes/starfield/slider_c.png: Likewise.
4135 * themes/starfield/slider_n.png: Likewise.
4136 * themes/starfield/slider_s.png: Likewise.
4137 * themes/starfield/src/blob_nw.xcf: Likewise.
4138 * themes/starfield/src/bootmenu/: Likewise.
4139 * themes/starfield/src/bootmenu/center.xcf: Likewise.
4140 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
4141 * themes/starfield/src/bootmenu/side.xcf: Likewise.
4142 * themes/starfield/src/slider_c.xcf: Likewise.
4143 * themes/starfield/src/slider_n.xcf: Likewise.
4144 * themes/starfield/src/slider_s.xcf: Likewise.
4145 * themes/starfield/src/terminalbox/: Likewise.
4146 * themes/starfield/src/terminalbox/center.xcf: Likewise.
4147 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
4148 * themes/starfield/src/terminalbox/side.xcf: Likewise.
4149 * themes/starfield/starfield.png: Likewise.
4150 * themes/starfield/terminal_box_c.png: Likewise.
4151 * themes/starfield/terminal_box_e.png: Likewise.
4152 * themes/starfield/terminal_box_n.png: Likewise.
4153 * themes/starfield/terminal_box_ne.png: Likewise.
4154 * themes/starfield/terminal_box_nw.png: Likewise.
4155 * themes/starfield/terminal_box_s.png: Likewise.
4156 * themes/starfield/terminal_box_se.png: Likewise.
4157 * themes/starfield/terminal_box_sw.png: Likewise.
4158 * themes/starfield/terminal_box_w.png: Likewise.
4159 * themes/starfield/theme.txt: Likewise.
4160
4161 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
4162
4163 * util/grub.d/00_header.in: Add missing export theme.
4164
4165 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4166
4167 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
4168 already included.
4169 Reported by: Eren D.
4170
4171 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4172
4173 * conf/Makefile.common (grubdatadir): Removed.
4174 (Makefile.am): Move eveything grubdata to pkgdata.
4175
4176 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4177
4178 * grub-core/commands/acpihalt.c (get_sleep_type):
4179 Remove unused variable.
4180
4181 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4182
4183 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
4184 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
4185 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
4186 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
4187 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
4188 i18n with gettext no-op.
4189 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
4190 GRUB_ACPI_OPCODE_STRING_CONST.
4191 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
4192 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
4193
4194 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4195
4196 * po/POTFILES.in: Regenerate.
4197
4198 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4199
4200 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
4201 -Wno-error=missing-noreturn.
4202
4203 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4204
4205 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
4206 condition to avoid possibly infinite loops.
4207 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
4208 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
4209
4210 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4211
4212 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
4213 condition to avoid possibly infinite loops.
4214
4215 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4216
4217 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
4218 on show_error.
4219
4220 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4221
4222 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
4223
4224 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4225
4226 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
4227
4228 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4229
4230 * util/bin2h.c (usage): Add missing attribute noreturn.
4231
4232 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4233
4234 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
4235 if the size isn't divisible by 512.
4236
4237 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4238
4239 Make list_push and list_remove functions rather than inline functions
4240 to decrease size and avoid aliasing violations.
4241
4242 * include/grub/list.h (grub_list_push): Move to ...
4243 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
4244 * include/grub/list.h (grub_list_remove): Move to ...
4245 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
4246
4247 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4248
4249 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
4250 and -Wunused-result.
4251
4252 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
4253
4254 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
4255 Reported by: Seth Goldberg
4256
4257 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
4258
4259 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
4260
4261 2012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
4262
4263 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
4264 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
4265 command line.
4266 * docs/grub.texi (Simple configuration): Document
4267 GRUB_CMDLINE_GNUMACH.
4268
4269 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
4270
4271 * conf/Makefile.common (platform_SCRIPTS): New variable.
4272 (platform_PROGRAMS): Likewise.
4273 * gentpl.py: Mark *,module and *.image for install.
4274 * grub-core/gdb_grub.in: Add a notice of expected environment.
4275 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
4276 (gmodule.pl): Likewise.
4277
4278 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
4279
4280 Replace grub_checkkey with grub_getkey_noblock.
4281
4282 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
4283 (grub_getkey_noblock): ... this. All users updated.
4284
4285 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
4286
4287 * grub-core/kern/emu/console.c: Move to ...
4288 * grub-core/term/emu/console.c: ...here.
4289 (grub_ncurses_getkey): Fix return value if no key is detected.
4290
4291 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4292
4293 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
4294 (grub_unit_test_fini): Likewise.
4295 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
4296
4297 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4298
4299 * include/grub/test.h (GRUB_UNIT_TEST)
4300
4301 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4302
4303 * grub-core/script/execute.c (grub_script_break): Clarify logic.
4304 Better error handling.
4305 (grub_script_return): Likewise.
4306 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
4307
4308 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4309
4310 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
4311 rimplicit redifinition.
4312
4313 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4314
4315 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
4316 GRUB.
4317
4318 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4319
4320 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
4321 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
4322 prompt here.
4323
4324 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4325
4326 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
4327 as GRUB_ERR_BUG. Don't malloc if no device is available.
4328
4329 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4330
4331 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
4332 Mark calling with invalid term as GRUB_ERR_BUG.
4333
4334 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4335
4336 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
4337 packets rather than raising an error.
4338
4339 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4340
4341 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
4342 in if.
4343
4344 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4345
4346 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
4347 diagnostic to dprintf.
4348 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
4349
4350 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4351
4352 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
4353 device name.
4354
4355 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4356
4357 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
4358 (grub_ntfs_iterate_dir): Likewise.
4359
4360 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4361
4362 Efiemu stylistic fixes and gettext.
4363
4364 * grub-core/efiemu/i386/loadcore32.c
4365 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
4366 * grub-core/efiemu/i386/loadcore64.c
4367 (grub_arch_efiemu_relocate_symbols64): Likewise.
4368 * grub-core/efiemu/i386/pc/cfgtables.c
4369 (grub_machine_efiemu_init_tables): Likewise.
4370 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
4371 (grub_efiemu_loadcore_initXX): Add a filename argument.
4372 All users updated.
4373 Improved error message.
4374 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
4375 Add a filename argument.
4376 All users updated.
4377 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
4378 Reclassify double relocation as GRUB_ERR_BUG.
4379
4380 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4381
4382 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
4383 handling.
4384
4385 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4386
4387 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
4388 on partition.
4389
4390 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4391
4392 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
4393
4394 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4395
4396 Improve string. Gettextize.
4397
4398 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4399
4400 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
4401 utils.
4402 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
4403
4404 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4405
4406 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
4407 [GRUB_UTIL]: New function.
4408 (insert_array) [GRUB_UTIL]: Store partmaps.
4409 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
4410 partmaps.
4411 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
4412 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
4413 (probe_abstraction): Print diskfilter and not raid.
4414 Reported by: Lennart Sorensen
4415
4416 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4417
4418 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
4419 * util/grub-mkimagexx.c (MASK3): New define.
4420 (add_value_to_slot_20b): Use MASK3.
4421 (add_value_to_slot_21): Likewise.
4422 (relocate_addresses): Fix format specification.
4423 (load_image): Explicitly init symtab_section.
4424
4425 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4426
4427 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
4428 (grub_util_biosdisk_get_grub_dev): Fix format specification.
4429
4430 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4431
4432 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
4433 on powerpc.
4434 Reported by: Lennart Sorensen
4435
4436 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4437
4438 * gentpl.py: Add missing license header.
4439 * docs/grub.texi: Update copyright year.
4440
4441 2012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
4442
4443 Source grub-mkconfig_lib from the build directory at build time.
4444 Suggested by: Vladimir Serbinenko.
4445
4446 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
4447 * util/grub-install.in: Define pkgdatadir if not already set, and source
4448 grub-mkconfig_lib from there.
4449 * util/grub-kbdcomp.in: Likewise.
4450 * util/grub-mkconfig.in: Likewise.
4451 * util/grub-mknetdir.in: Likewise.
4452 * util/grub-mkrescue.in: Likewise.
4453 * util/grub-mkstandalone.in: Likewise.
4454 * util/grub-reboot.in: Likewise.
4455 * util/grub-set-default.in: Likewise.
4456 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4457
4458 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4459
4460 Increase warning level.
4461
4462 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
4463 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
4464 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
4465 (TARGET_CFLAGS): Likewise.
4466 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
4467 * grub-core/Makefile.core.def (decompressor_xz): Add
4468 -Wno-unreachable-code.
4469 (normal): Add -Wno-redundant-decls.
4470 (xzio): Add -Wno-unreachable-code.
4471 (lzopio): Add -Wno-redundant-decls -Wno-error.
4472 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
4473 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
4474 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
4475 * grub-core/kern/dl.c: Add exception to -Wcast-align.
4476 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
4477 * grub-core/kern/i386/coreboot/init.c: Add exception to
4478 -Wsuggest-attribute=noreturn.
4479 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
4480 * grub-core/kern/ia64/dl_helper.c: Likewise.
4481 * grub-core/kern/mips/dl.c: Likewise.
4482 * grub-core/kern/sparc64/dl.c: Likewise.
4483 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
4484 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
4485 (memcmp): Likewise.
4486 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
4487 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
4488 * grub-core/loader/mips/linux.c: Likewise.
4489 * grub-core/loader/multiboot_elfxx.c: Likewise.
4490 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
4491 * grub-core/video/sm712.c: Add exception to -Wcast-align.
4492 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
4493 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
4494 fixme.
4495 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
4496 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
4497 Fix prototype.
4498
4499 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4500
4501 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
4502 address.
4503
4504 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4505
4506 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
4507 Avoid improper use of strings.
4508 (grub_cmd_legacy_initrdnounzip): Likewise.
4509
4510 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4511
4512 * include/grub/emu/misc.h (grub_util_warn): Add missing format
4513 attribute.
4514 (grub_util_info): Likewise.
4515 (grub_util_error): Likewise.
4516
4517 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4518
4519 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
4520 * util/grub-fstest.c (fstest): Likewise.
4521
4522 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4523
4524 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
4525 (grub_md_sha512_real): Likewise.
4526 (grub_util_get_geli_uuid): Likewise.
4527 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
4528 (grub_util_biosdisk_open): Fix format specification.
4529 Respect format security.
4530 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
4531 (xrealloc): Likewise.
4532 (xasprintf): Likewise.
4533
4534 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4535
4536 * util/import_gcry.py: Include grub/crypto.h in init.c.
4537
4538 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4539
4540 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
4541 (generate_image): Make prefix a const char *.
4542 Fix format specifications. Respect format security.
4543 Avoid void * arithmetics.
4544 Avoid shadowing.
4545 (argp_parser): Remove unused variable. Respect format security.
4546 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
4547 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
4548 (count_funcs): Remove unused variable.
4549 (relocate_addresses): Fix format specification.
4550 Disable x86-64 with elf32. Remove unused variables.
4551 (add_fixup_entry): Avoid shadowing.
4552 (make_reloc_section): Fix format specification.
4553 Use assert.
4554 (locate_sections): Fix format specifications.
4555 (load_image): Avoid shadowing.
4556
4557 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4558
4559 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
4560 Fix format specifications. Respect format security.
4561 Don't translate already translated grub_errmsg.
4562 (argp_parser): Remove unused variable
4563
4564 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4565
4566 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
4567
4568 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4569
4570 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
4571 (main): Likewise. Use xmalloc. Respect format security.
4572
4573 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4574
4575 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
4576 a const char *.
4577 (argp_parser): Remove unused variable.
4578
4579 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4580
4581 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
4582 (add_pixel): Make static.
4583 (add_font): Likewise.
4584 (write_string_section): Make name and str a const char *.
4585 (write_be16_section): Make name a const char *.
4586 (print_glyphs): Make static.
4587 (write_font_ascii_bitmap): Likewise.
4588 (write_font_width_spec): Likewise.
4589 (write_font_pf2): Likewise.
4590 (argp_parser): Remove unused variable.
4591 Respect format security.
4592 (main): Avoid shadowing. Respect format security.
4593
4594 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4595
4596 * util/grub-editenv.c (argp_parser): Make static.
4597 (create_envblk_file): Use xmalloc.
4598 (open_envblk_file): Likewise.
4599 Resepect format security.
4600 (set_variables): Respect format security.
4601
4602 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4603
4604 * util/getroot.c (grub_find_device): Respect format security.
4605 (get_mdadm_uuid): Remove unused variable.
4606 (grub_util_pull_device): Dont call gettext on already translated
4607 grub_errmsg.
4608 (find_system_device): Remove unused variable.
4609 (grub_util_get_grub_dev): Likewise.
4610 (grub_make_system_path_relative_to_its_root): Respect format security.
4611
4612 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4613
4614 * util/grub-fstest.c (execute_command): Make first argument
4615 a const char *.
4616 (read_file): Avoid shadowing.
4617 Reuse underlying error message if device open fails.
4618 (cmd_cmp): Respect format security.
4619 (root): Make const char *.
4620 (fstest): Remove args argument and use global copy.
4621 Respect format security.
4622 (argp_parser): Make static.
4623 (main): Make default_root const char *.
4624
4625 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4626
4627 * util/grub-mount.c (root): Make const char *.
4628 (execute_command): Make first argument a const char *.
4629 (fuse_init): Respect format security.
4630 (argp_parser): Make static. Remove unused variable.
4631 (main): Make default_root a const char *.
4632 Respect format security.
4633
4634 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4635
4636 * util/grub-probe.c (probe): Don't call gettext on already translated
4637 grub_errmsg.
4638 Remove unused variables.
4639 (argp_parser): Remove unused variable.
4640
4641 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4642
4643 * util/grub-script-check.c (argp_parser): Remove unused variable.
4644 (main): Rename read to curread to avoid shadowing.
4645
4646 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4647
4648 * util/misc.c (grub_util_write_image_at): Fix format specification.
4649 (grub_util_write_image): Likewise.
4650 (grub_script_execute_argument_to_string): Removed (unused).
4651 (grub_script_execute_menuentry): Likewise.
4652 (grub_putchar): Likewise.
4653
4654 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4655
4656 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
4657 (FUNCTION) [GRUB_UTIL]: Likewise.
4658 (VARIABLE) [GRUB_UTIL]: Likewise.
4659
4660 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4661
4662 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
4663 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
4664
4665 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4666
4667 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
4668 buffer.
4669
4670 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4671
4672 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
4673 (LzmaEnc_SaveState): Removed (unused).
4674 (LzmaEnc_RestoreState): Likewise.
4675 (LzmaEnc_InitPriceTables): Made static.
4676 (LzmaEnc_Construct): Likewise.
4677 (LzmaEnc_FreeLits): Likewise.
4678 (LzmaEnc_Destruct): Likewise.
4679 (LzmaEnc_Init): Likewise.
4680 (LzmaEnc_InitPrices): Likewise.
4681 (LzmaEnc_Finish): Likewise.
4682 (LzmaEnc_PrepareForLzma2): Removed (unused).
4683 (LzmaEnc_MemPrepare): Likewise.
4684 (LzmaEnc_GetNumAvailableBytes): Likewise.
4685 (LzmaEnc_GetCurBuf): Likewise.
4686 (LzmaEnc_CodeOneMemBlock): Likewise.
4687
4688 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4689
4690 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
4691 (grub_util_ldm_embed): Likewise.
4692
4693 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4694
4695 * util/grub-editenv.c (print_var): Rename name to varname to
4696 avoid shadowing.
4697 (main): Rename index to curindex to avoid shadowing.
4698 Make filename a const char *.
4699
4700 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4701
4702 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
4703 to arg_getline to avoid shadowing.
4704
4705 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4706
4707 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
4708 disk_ to avoid shadowing.
4709
4710 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4711
4712 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
4713 curindex to avoid shadowing.
4714 Make static.
4715 (MatchFinder_GetNumAvailableBytes): Make static.
4716
4717 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4718
4719 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
4720 avoid shadowing.
4721
4722 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4723
4724 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
4725 argument from encrypt to do_encrypt to avoid shadowing.
4726
4727 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4728
4729 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
4730 incorrect nesting of #if's.
4731
4732 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4733
4734 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
4735 checks which are always false on some platforms.
4736 (grub_cmd_lsacpi): Likewise.
4737 * grub-core/kern/misc.c (grub_strtoul): Likewise.
4738 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
4739 Likewise.
4740
4741 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4742
4743 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
4744 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
4745
4746 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4747
4748 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
4749 re_dfa_t to avoid breaking alignment invariants.
4750 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
4751 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
4752
4753 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4754
4755 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
4756 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
4757
4758 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4759
4760 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
4761 Fix declaration.
4762
4763 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4764
4765 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
4766 conserve alignment invariants.
4767 (grub_ehci_ehcc_read16): Likewise.
4768 (grub_ehci_oper_read32): Likewise.
4769 (grub_ehci_oper_write32): Likewise.
4770 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
4771 Conserve alignment invariants.
4772
4773 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4774
4775 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
4776 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
4777 declarations.
4778
4779 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4780
4781 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
4782 Remove unused variable.
4783
4784 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4785
4786 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
4787 Remove set in if.
4788
4789 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4790
4791 * include/grub/net.h: Remove double declarations.
4792
4793 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4794
4795 Remove "payload" command in ia64 Linux loader since I couldn't
4796 find any evidence of it being used for anything.
4797 Replace "relocate" command with an environment variable
4798
4799 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
4800 fields.
4801 (ia64_boot_payload): Removed.
4802 (last_payload): Likewise.
4803 (RELOCATE_OFF): Likewise.
4804 (RELOCATE_ON): Likewise.
4805 (RELOCATE_FORCE): Likewise.
4806 (relocate): Likewise.
4807 (free_pages): Don't free payloads.
4808 (grub_load_elf64): Use common error messages.
4809 Use "linux_relocate" variable.
4810 Increase the space after boot_params.
4811 (grub_cmd_payload): Removed.
4812 (grub_cmd_relocate): Likewise.
4813 (grub_cmd_fpswa): Improve messages.
4814 (cmd_payload): Removed.
4815 (cmd_relocate): Likewise.
4816 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
4817 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
4818
4819 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4820
4821 Convert UHCI to DMA framework.
4822
4823 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
4824 (grub_uhci_pci_iter): Fill new members
4825 (grub_alloc_td): Use P2V and V2P functions.
4826 (grub_free_queue): Likewise.
4827 (grub_alloc_qh): Likewise.
4828 (grub_uhci_setup_transfer): Likewise.
4829 (grub_uhci_check_transfer): Likewise.
4830
4831 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4832
4833 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
4834 Remove assignment in if while on it.
4835
4836 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4837
4838 * util/grub-mkstandalone.in: Fix modules directory.
4839
4840 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4841
4842 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
4843 on i386-pc target.
4844 (argp_parser): Accept "auto" as compression specification.
4845
4846 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4847
4848 Fix `help' with unloaded modules.
4849
4850 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
4851 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
4852 (grub_dyncmd_dispatcher): Small stylistic fix.
4853 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
4854 explicit help is requested.
4855
4856 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4857
4858 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
4859 Explicitly init restart while on it.
4860
4861 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4862
4863 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
4864 uninited variable.
4865
4866 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4867
4868 * util/grub-mknetdir.in: Use . rather than source for POSIX
4869 compatibility.
4870
4871 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4872
4873 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
4874
4875 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4876
4877 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
4878 variable.
4879
4880 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4881
4882 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
4883 without quotes.
4884
4885 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4886
4887 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
4888
4889 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4890
4891 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
4892 iteration of partitions.
4893
4894 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4895
4896 Improve gettext support. Stylistic fixes and error handling fixes while
4897 on it.
4898
4899 2012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4900
4901 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
4902 part. Instead setup the correct stack in RM.
4903 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
4904 for stack.
4905 * include/grub/i386/relocator_private.h: New file.
4906
4907 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
4908
4909 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
4910 argument.
4911 * util/grub-fstest.c (options): Add missing DEVICE part.
4912
4913 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
4914
4915 Clarify and unify messages.
4916
4917 * grub-core/commands/hashsum.c (options): Unify messages.
4918 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
4919 literal-only message as translatable.
4920 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
4921 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
4922 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
4923 commands.
4924 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
4925 key, not the key used to unlock. Clarify what it's used for.
4926 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
4927 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
4928 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
4929 * util/grub-editenv.c (options): Unify "verbose" message.
4930 * util/grub-fstest.c (read_file): Unify error message.
4931 (fstest): Add quotes around commands.
4932 (options): Unify "verbose" message.
4933 * util/grub-install.in: Add quotes around variable name.
4934 * util/grub-kbdcomp.in: Unify error message.
4935 * util/grub-mkfont.c (main): Likewise.
4936 * util/grub-mkrescue.in: Likewise.
4937 * util/grub-mklayout.c (options): Unify "verbose" message.
4938 * util/grub-mkstandalone.in: Unify help and verbose messages.
4939 * util/grub-mount.c (options): Unify "verbose" message.
4940 * util/grub-probe.c (options): Likewise.
4941 * util/grub-script-check.c (options): Likewise.
4942 * util/grub-setup.c (setup): Unify no-terminator message.
4943 (options): Use DEVICE and not DEV.
4944 Unify "verbose" message.
4945 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
4946
4947 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
4948
4949 Improve and unify messages.
4950
4951 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
4952 name. All users updated.
4953 Print filename in error.
4954 (read_device_map): Print filename in error.
4955 * util/getroot.c (grub_guess_root_devices): Print filename in error.
4956 (grub_util_get_os_disk): Likewise.
4957 (grub_util_biosdisk_get_grub_dev): Likewise.
4958 (grub_util_check_block_device): Likewise.
4959 (grub_util_check_char_device): Likewise.
4960 (grub_make_system_path_relative_to_its_root): Likewise.
4961 * util/grub-editenv.c (create_envblk_file): Likewise.
4962 (open_envblk_file): Likewise.
4963 (write_envblk): Likewise.
4964 * util/grub-fstest.c (cmd_cp): Likewise.
4965 (cmd_cat): Likewise.
4966 (cmd_cmp): Likewise.
4967 * util/grub-menulst2cfg.c (main): Likewise.
4968 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
4969 (write_font_width_spec): Likewise.
4970 (write_font_pf2): Likewise.
4971 * util/grub-mkimage.c (generate_image): New argument outname.
4972 All users updated.
4973 Remove unreacheable message.
4974 (options): Unify messages.
4975 (help_filter): Likewise.
4976 * util/grub-mklayout.c (usage): Removed (unused).
4977 (main): Print filename in error.
4978 * util/grub-mkrescue.in: Fix wrong quoting.
4979 * util/grub-setup.c (setup): Print filename in error.
4980 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
4981 (check_sas): Likewise.
4982 * util/misc.c (grub_util_get_fp_size): Removed.
4983 (grub_util_get_image_size): Print filename in error.
4984 (grub_util_read_at): Removed.
4985 (grub_util_read_image): Print filename in error.
4986 (grub_util_load_image): Likewise.
4987 (grub_util_write_image_at): New argument filename. All users updated.
4988 Print filename in error.
4989 (grub_util_write_image): New argument filename. All users updated.
4990 Print filename in error.
4991 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
4992 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
4993
4994 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
4995
4996 * grub-core/Makefile.core.def (pxechain): New module.
4997 * grub-core/loader/i386/pc/pxechainloader.c: New file.
4998 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
4999 function.
5000 (grub_pc_net_config_real): Use grub_pxe_get_cached.
5001 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
5002
5003 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5004
5005 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
5006 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
5007 * include/grub/err.h (grub_error_saved): New struct.
5008 (grub_errmsg): Make array size explicit.
5009 * include/grub/misc.h (grub_error_save): New function.
5010 (grub_error_load): Likewise.
5011 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
5012 (grub_error_push): Update `errno' member name.
5013 (grub_error_pop): Likewise
5014 * grub-core/net/tftp.c (tftp_data): New member save_err.
5015 (tftp_receive): Save error.
5016 (tftp_open): Restore error.
5017
5018 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5019
5020 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
5021 to real mode down to execute A20-related code in protected mode as
5022 intended.
5023
5024 2012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
5025
5026 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
5027 NULL when the argument `level' has an unexpected value.
5028
5029 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5030
5031 Move platform-dependent files from $prefix to $prefix/$platform.
5032
5033 * config.h.in (GRUB_TARGET_CPU): New definition.
5034 (GRUB_PLATFORM): Likewise.
5035 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
5036 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
5037 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
5038 * grub-core/kern/dl.c (grub_dl_load): Likewise.
5039 * grub-core/normal/autofs.c (read_fs_list): Likewise.
5040 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
5041 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
5042 * grub-core/normal/term.c (read_terminal_list): Likewise.
5043 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
5044 $prefix/locale.
5045 (grub_gettext_init_ext): Likewise.
5046 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
5047 grub_platform.
5048 * util/grub-install.in: Update directories.
5049 * util/grub-mknetdir.in: Likewise.
5050 * util/grub-mkrescue.in: Likewise.
5051
5052 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5053
5054 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
5055 grub_error framework. All users updated.
5056
5057 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5058
5059 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
5060 lists (by always binsearching), improve caching (cache strings
5061 used for binsearch, not only results), improve
5062 maintainability (by using more structured binary search) and correct
5063 error handling.
5064
5065 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5066
5067 * grub-core/script/execute.c (grub_script_return): Fix warning.
5068
5069 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5070
5071 * grub-core/script/execute.c (grub_script_return): Fix potential
5072 NULL-dereference.
5073 Reported by: Jim Meyering.
5074
5075 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5076
5077 * po/POTFILES.in: Regenerate.
5078 * util/grub-install.in: Gettextize the strings missed in first pass.
5079
5080 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5081
5082 * Makefile.util.def (grub-mkdevicemap): Removed.
5083 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
5084 * include/grub/util/deviceiter.h: Removed.
5085 * util/deviceiter.c: Likewise.
5086 * util/getroot.c (grub_util_get_os_disk): New function.
5087 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
5088 replacement for EFI.
5089 * util/grub-mkdevicemap.c: Removed.
5090 * util/grub-probe.c (probe): Handle PRINT_DISK.
5091 (argp_parser): Handle -t disk.
5092
5093 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5094
5095 * util/grub-mkfont.c: Migrate to argp.
5096 * util/grub-mklayout.c: Likewise.
5097 * util/grub-mkpasswd-pbkdf2.c: Likewise.
5098 * util/grub-mkrelpath.c: Likewise.
5099 * util/grub-probe.c: Likewise.
5100 * util/grub-script-check.c: Likewise.
5101
5102 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5103
5104 * util/grub-reboot.in: Add missing datarootdir.
5105 Add missing newline.
5106 * util/grub-set-default.in: Add missing datarootdir.
5107 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
5108 * util/grub-mkrescue.in: Likewise.
5109
5110 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5111
5112 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
5113
5114 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5115
5116 * util/grub-kbdcomp.in: Add decent help and gettextize.
5117 * docs/man/grub-kbdcomp.h2m: New file.
5118
5119 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5120
5121 Migrate grub-mkimage.c to argp.
5122
5123 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
5124 (grub-setup): Likewise.
5125 * util/grub-setup.c (print_version): Move to ...
5126 * util/argp_common.c (print_version): ... here.
5127 * util/grub-setup.c (argp_program_version_hook): Move to ...
5128 * util/argp_common.c (argp_program_version_hook): ... here.
5129 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
5130 safety.
5131 * util/grub-mkimage.c (main): Migrate to argp.
5132
5133 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5134
5135 * util/grub-mkrescue.in: Use same message as
5136 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
5137 for better translations.
5138
5139 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5140
5141 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
5142 options with generic grub-mkrescue.in with the goal of future
5143 merge.
5144
5145 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5146
5147 * grub-core/kern/mm.c: Add missing include of i18n.h
5148 * grub-core/lib/relocator.c: Likewise.
5149
5150 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5151
5152 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
5153 error.
5154 (allocate_pages): Check return value.
5155 Replace fatal with error.
5156 (grub_linux_boot): Replace printf with dprintf.
5157 Check find_mmap_size return value.
5158 Replace fatal with error.
5159 Don't call grub_machine_fini.
5160 (grub_load_elf64): Replace printf with dprintf.
5161 (grub_cmd_linux): Likewise.
5162 (grub_cmd_initrd): Likewise.
5163 (grub_cmd_payload): Likewise.
5164
5165 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5166
5167 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
5168 message.
5169 * grub-core/video/radeon_fuloong2e.c
5170 (grub_video_radeon_fuloong2e_setup): Likewise.
5171 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
5172 * grub-core/video/video.c (grub_video_set_mode): Don't override
5173 standard out of memory message.
5174
5175 2012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
5176
5177 NetBSD disk wedge support.
5178
5179 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
5180 [__NetBSD__]: Handle NetBSD disk wedges.
5181 * util/getroot.c (convert_system_partition_to_system_disk)
5182 [__NetBSD__]: Likewise.
5183
5184 2012-02-03 Mark Wooding <mdw@distorted.org.uk>
5185
5186 * util/grub-mkconfig.in: Use umask rather than chmod to create
5187 grub.cfg.new to avoid insecure grub.cfg.
5188
5189 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5190
5191 * grub-core/commands/ls.c: Gettextize.
5192 * grub-core/commands/setpci.c: Likewise.
5193 * grub-core/commands/videotest.c: Likewise.
5194 * grub-core/disk/geli.c: Likewise.
5195 * grub-core/kern/mm.c: Likewise.
5196 * grub-core/lib/relocator.c: Likewise.
5197 * grub-core/loader/efi/appleloader.c: Likewise.
5198 * grub-core/loader/i386/xnu.c: Likewise.
5199 * grub-core/loader/ia64/efi/linux.c: Likewise.
5200 * grub-core/loader/xnu.c: Likewise.
5201 * grub-core/net/dns.c: Likewise.
5202 * grub-core/net/net.c: Likewise.
5203 * grub-core/script/lexer.c: Likewise.
5204 * grub-core/script/parser.y: Likewise.
5205 * grub-core/script/yylex.l: Likewise.
5206 * util/getroot.c: Likewise.
5207 * util/grub-setup.c: Likewise.
5208
5209 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5210
5211 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
5212 number.
5213
5214 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5215
5216 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
5217
5218 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5219
5220 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
5221 macro.
5222 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
5223 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
5224
5225 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5226
5227 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
5228 * util/grub-install.in: Gettextize.
5229 * util/grub-mkconfig.in: Likewise.
5230 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
5231 if not available.
5232 (grub_warn): Gettextize.
5233 * util/grub-mknetdir.in: Gettextize.
5234 * util/grub-mkrescue.in: Likewise.
5235 * util/grub-mkstandalone.in: Likewise.
5236 * util/grub-reboot.in: Likewise.
5237 * util/grub-set-default.in: Likewise.
5238 * util/grub.d/00_header.in: Likewise.
5239 * util/grub.d/10_hurd.in: Likewise.
5240 * util/grub.d/10_kfreebsd.in: Likewise.
5241 * util/grub.d/10_linux.in: Likewise.
5242 * util/grub.d/10_netbsd.in: Likewise.
5243 * util/grub.d/10_windows.in: Likewise.
5244 * util/grub.d/20_linux_xen.in: Likewise.
5245 * util/grub.d/30_os-prober.in: Likewise.
5246 * po/POTFILES-shell.in: Regenerate.
5247
5248 2012-02-03 Richard Laager <rlaager@wiktel.com>
5249
5250 * util/grub-mkimage.c (main): Fix format-security warning.
5251 * util/grub-mkrelpath.c (main): Likewise.
5252 * util/grub-probe.c (main): Likewise.
5253
5254 2012-02-03 Richard Laager <rlaager@wiktel.com>
5255
5256 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
5257 failure.
5258 Put back lost PRINT_DRIVE.
5259
5260 2012-02-03 Richard Laager <rlaager@wiktel.com>
5261
5262 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
5263 (grub_guess_root_devices): Replace strlen with sizeof.
5264 Avoid crash.
5265 (find_root_devices_from_poolname): Remove unused variable.
5266 Handle raidzN.
5267
5268 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5269
5270 Support install on multi-device filesystems.
5271
5272 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
5273 (grub_guess_root_devices): ...this. Return char **. All users updated.
5274 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
5275 Removed.
5276 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
5277 (find_root_devices_from_poolname): ... here.
5278 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
5279 Support zfs-fuse.
5280 (grub_guess_root_device): Rename to ...
5281 (grub_guess_root_devices): ... this. Return char **. All users updated.
5282 * util/grub-install.in: Handle multi-device filesystems.
5283 * util/grub-probe.c (probe). Make device_names a char **. Add delim
5284 argument. All users updated.
5285 Handle multi-device filesystems.
5286 Use 'delim' as separator.
5287 Remove device check to allow filesystems on file.
5288 (main): Support -0 argument. Handle multi-device.
5289 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
5290 Fix a cross-device check while on it.
5291 (arguments): Remove root_dev.
5292 (argp_parser): Remove -r.
5293 (main): Remove root_dev.
5294
5295 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5296
5297 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
5298
5299 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5300
5301 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
5302 symbol.
5303 Reported by: NODA, Kai <nodakai>.
5304
5305 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5306
5307 Fix ehci on amd64.
5308
5309 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
5310 pointers.
5311 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
5312 (grub_ehci_setup_qh): Likewise.
5313 (grub_ehci_find_qh): Likewise.
5314 (grub_ehci_transaction): Likewise.
5315 (grub_ehci_setup_transfer): Likewise.
5316 (grub_ehci_check_transfer): Likewise.
5317 (grub_ehci_portstatus): Likewise.
5318 (grub_ehci_detect_dev): Likewise.
5319 (grub_ehci_transfer_controller_data): New field td_last_phys.
5320 (grub_ehci_setup_transfer): Fill td_last_phys.
5321 (grub_ehci_check_transfer): Use td_last_phys.
5322
5323 2012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
5324
5325 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
5326 if no submenu is present.
5327
5328 2012-02-01 Aleš Nesrsta <starous@volny.cz>
5329
5330 CBI support.
5331
5332 * include/grub/usb.h (grub_usbms_protocol_t): New values
5333 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
5334 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
5335 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
5336 (grub_usbms_dev): Add subclass, protocol and intrpt.
5337 Remove in_maxsz and out_maxsz.
5338 (grub_usbms_reset): Rename to ...
5339 (grub_usbms_bo_reset): .. this.
5340 (grub_usbms_cbi_cmd): New function.
5341 (grub_usbms_cbi_reset): Likewise.
5342 (grub_usbms_reset): Likewise.
5343 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
5344 (grub_usbms_transfer): Rename to ...
5345 (grub_usbms_transfer_bo): ... this.
5346 (grub_usbms_transfer_cbi): Likewise.
5347 (grub_usbms_transfer): Likewise.
5348
5349 2012-02-01 Aleš Nesrsta <starous@volny.cz>
5350 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5351
5352 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
5353 the support for the CS5536 modification thereos and few bugfixes.
5354
5355 * grub-core/Makefile.core.def (ehci): New module.
5356 * grub-core/bus/usb/ehci.c: New file.
5357 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
5358 port and hubaddr. All users updated.
5359 Save port and hubaddr into dev structure.
5360 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
5361 define.
5362 * include/grub/pci.h (grub_dma_phys2virt): New function.
5363 (grub_dma_virt2phys): Likewise.
5364 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
5365
5366 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5367
5368 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
5369 check as some mkfs implementations omit it.
5370
5371 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5372
5373 * docs/grub.texi (Unicode): Mention identifier and space limitations.
5374
5375 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5376
5377 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
5378 Add new member volname2.
5379 (grub_jfs_label): Use volname2 if available.
5380
5381 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5382
5383 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
5384 over last_mounted as seen in image generated by mkfs.nilfs2.
5385 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
5386
5387 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5388
5389 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
5390 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
5391 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
5392
5393 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5394
5395 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
5396 over the sector.
5397
5398 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5399
5400 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
5401 subvolume name (by removing a bogus and useless check).
5402
5403 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5404
5405 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
5406 sizeof while on it.
5407
5408 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5409
5410 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
5411 (grub_scsi_read_capacity10): ... this.
5412 (grub_scsi_read_capacity16): New function.
5413 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
5414 0xffffffff.
5415 Fix off-by-one error.
5416 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
5417 64-bit unsigned.
5418 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
5419 (grub_scsi_read_capacity10): ... this.
5420 (grub_scsi_read_capacity_data): Rename to ...
5421 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
5422 (grub_scsi_read_capacity16): New struct.
5423 (grub_scsi_read_capacity16_data): Likewise.
5424 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
5425 grub_scsi_cmd_read_capacity10.
5426 New command grub_scsi_cmd_read_capacity16.
5427
5428 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5429
5430 SCSI >2TiB support.
5431
5432 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
5433 (grub_scsi_write16): Likewise.
5434 (grub_scsi_read): Use read16 when necessary.
5435 (grub_scsi_write): Likewise.
5436 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
5437 (grub_scsi_write16): Likewise.
5438 (grub_scsi_cmd_t): Add READ16 and WRITE16.
5439
5440 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5441
5442 SCSI write support (for usbms mainly).
5443
5444 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
5445 a const pointer.
5446 (grub_scsi_write): Implement.
5447 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
5448
5449 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5450
5451 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
5452 variable.
5453
5454 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5455
5456 * grub-core/lib/posix_wrap/string.h (memchr): New function.
5457
5458 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5459
5460 * po/POTFILES.in: Regenerate.
5461
5462 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5463
5464 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
5465 with grub_printf to avoid unnecessary fatal failure.
5466
5467 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5468
5469 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
5470 (INT_MAX): Likewise.
5471 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
5472 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
5473 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
5474 (strcpy): Likewise.
5475 (strstr): Likewise.
5476 (strchr): Likewise.
5477 (strncpy): Likewise.
5478 (strcat): Likewise.
5479 (strncat): Likewise.
5480 (strcoll): Likewise.
5481 * include/grub/types.h (GRUB_SHRT_MAX): New define.
5482 (GRUB_INT_MAX): Likewise.
5483
5484 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5485
5486 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
5487 unexpected error.
5488 (optimize_utf8): Likewise.
5489 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
5490
5491 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5492
5493 * grub-core/boot/i386/pc/lnxboot.S: Use
5494 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
5495 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
5496 location.
5497 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
5498 definition.
5499 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
5500
5501 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5502
5503 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
5504 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
5505 now to avoid double free.
5506 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
5507 hostdisk.
5508 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
5509 * util/grub-probe.c (escape_of_path): Always return a new copy.
5510 (print_full_name): Escape path.
5511 (probe): Don't call grub_util_devname_to_ofpath on NULL.
5512 Fix hints on abstractions.
5513
5514 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5515
5516 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
5517 Don't add "root" line if no compatibility hont is available.
5518 Suggested by: Seth Goldberg.
5519
5520 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5521
5522 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
5523 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
5524 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
5525 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
5526
5527 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5528
5529 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
5530
5531 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5532
5533 * util/grub-pe2elf.c (ehdr): Make static.
5534 (shdr): Likewise.
5535 (num_sections): Likewise.
5536 (offset): Likewise.
5537
5538 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5539
5540 Eliminate ofpath limits and possible overflows.
5541
5542 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
5543 (OF_PATH_MAX): Removed.
5544 (MAX_DISK_CAT): New const.
5545 (find_obppath): Use allocated rather than preallocated buffer.
5546 Return result. Argument of_path removed. All users updated.
5547 Add missing fdstat.
5548 (xrealpath): New function.
5549 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
5550 Allocate rather than use preallocated buffer. All users updated.
5551 (__of_path_common): Use allocated rather than preallocatecd buffer.
5552 Return result. Argument of_path removed. All users updated.
5553 (vendor_is_ATA): Read only needed part form the file.
5554 (check_sas): Allocate depending on contents rather than fixed.
5555 (main) [STANDALONE]: Handle NULL result.
5556
5557 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5558
5559 * grub-core/normal/completion.c (iterate_dev): Close the disk.
5560
5561 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5562
5563 Cryptodisk write support.
5564
5565 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
5566 (grub_cryptodisk_decrypt): Moved logic to ...
5567 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
5568 (grub_cryptodisk_write): Implement.
5569 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
5570 (grub_util_fd_write): ... this. Make global.
5571 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
5572
5573 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5574
5575 * include/grub/list.h (grub_list_remove): Don't crash if element is
5576 removed twice.
5577
5578 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5579
5580 Rename ofconsole to console.
5581
5582 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
5583 as sysnonym to console.
5584 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
5585 * grub-core/term/ieee1275/console.c: ... this. All users updated.
5586 Rename grub_ofconsole_ to grub_console_. All users updated
5587 (grub_console_term_output): Rename "ofconsole" to "console".
5588 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
5589 as "console".
5590
5591 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5592
5593 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
5594 handling.
5595 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
5596 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
5597 GRUB_DISK_DEVICE_FILE_ID.
5598
5599 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5600
5601 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
5602 and improve performance.
5603
5604 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5605
5606 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
5607 missing ieee1275/ prefix on whole disk.
5608
5609 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5610
5611 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
5612 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
5613
5614 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5615
5616 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
5617
5618 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5619
5620 Merge common RAID and LVM logic to an abstract diskfilter.
5621 Add LDM support using the same framework.
5622
5623 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
5624 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
5625 (libgrubmods): Remove grub-core/disk/raid.c and
5626 grub-core/partmap/gpt.c.
5627 * grub-core/Makefile.core.def (ldm): New module.
5628 (raid): Renamed to diskfilter. All users updated.
5629 * grub-core/disk/raid.c: Moved to ...
5630 * grub-core/disk/diskfilter.c: ... here.
5631 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
5632 (lv_num): New var.
5633 (find_array): Renamed to ...
5634 (find_lv): ... this. Support multi-LV. Skip nameless LVs
5635 (grub_is_array_readable): Renamed to ...
5636 (grub_is_lv_readable): ... this. Support multinode hierarchy.
5637 (insert_array): New argument id.
5638 (is_node_readable): New function.
5639 (scan_device): Rename to ...
5640 (scan_disk): .. this. Restrict to one disk.
5641 (scan_devices): New function.
5642 (grub_diskfilter_iterate): Support multi-LV.
5643 Skip invisible and nameless LVs.
5644 (grub_diskfilter_memberlist): Support multi-LV.
5645 (grub_diskfilter_read_node): New function.
5646 (grub_raid_read): Most of logic moved to ...
5647 (read_segment): ... here
5648 (read_lv): New function.
5649 (grub_diskfilter_get_vg_by_uuid): New function.
5650 (grub_diskfilter_make_raid): Likewise.
5651 * grub-core/disk/ldm.c: New file.
5652 * grub-core/disk/lvm.c (vg_list): Removed.
5653 (lv_count): Likewise.
5654 (scan_depth): Likewise.
5655 (is_lv_readable): Likewise.
5656 (grub_lvm_getvalue): Advance pointer past the number.
5657 (find_lv): Removed.
5658 (do_lvm_scan): Refactored into ...
5659 (grub_lvm_detect): ... this. Support raid.
5660 (grub_lvm_iterate): Removed.
5661 (grub_lvm_memberlist): Likewise.
5662 (grub_lvm_open): Likewise.
5663 (grub_lvm_close): Likewise.
5664 (read_lv): Likewise.
5665 (read_node): Likewise.
5666 (is_node_readable): Likewise.
5667 (is_lv_readable): Likewise.
5668 (grub_lvm_read): Likewise.
5669 (grub_lvm_write): Likewise.
5670 (grub_lvm_dev): Use diskfilter
5671 (GRUB_MOD_INIT): Likewise.
5672 (GRUB_MOD_FINI): Likewise.
5673 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
5674 new interface.
5675 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
5676 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
5677 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
5678 grub_diskfilter_read_node.
5679 Fix a bug with xor.
5680 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
5681 grub_diskfilter_read_node.
5682 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
5683 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
5684 (grub_disk_dev_iterate): Move from here...
5685 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
5686 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
5687 Make global.
5688 (grub_hostdisk_find_partition_start): Likewise.
5689 (grub_hostdisk_os_dev_to_grub_drive): New function.
5690 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
5691 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
5692 * util/getroot.c (make_device_name): ... here.
5693 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
5694 Move to ...
5695 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
5696 * grub-core/kern/emu/hostdisk.c
5697 (convert_system_partition_to_system_disk): Move to ...
5698 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
5699 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
5700 * util/getroot.c (device_is_wholedisk): ... here.
5701 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
5702 * util/getroot.c (find_system_device): ... here.
5703 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
5704 Move to ...
5705 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
5706 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
5707 Move to ...
5708 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
5709 Handle LDM.
5710 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
5711 Move to ...
5712 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
5713 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
5714 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
5715 DISKFILTER.
5716 * include/grub/raid.h: Renamed to ...
5717 * include/grub/diskfilter.h: ... this.
5718 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
5719 (GRUB_RAID_LAYOUT_*): Make into array.
5720 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
5721 (grub_diskfilter_vg): New struct.
5722 (grub_diskfilter_pv_id): Likewise.
5723 (grub_raid_member): Removed.
5724 (grub_raid_array): Likewise.
5725 (grub_diskfilter_pv): New struct.
5726 (grub_diskfilter_lv): Likewise.
5727 (grub_diskfilter_segment): Likewise.
5728 (grub_diskfilter_node): Likewise.
5729 (grub_diskfilter_get_vg_by_uuid): New proto.
5730 (grub_raid_register): Inline.
5731 (grub_diskfilter_unregister): Likewise.
5732 (grub_diskfilter_make_raid): New proto.
5733 (grub_diskfilter_vg_register): Likewise.
5734 (grub_diskfilter_read_node): Likewise.
5735 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
5736 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
5737 (grub_util_is_ldm): Likewise.
5738 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
5739 (grub_hostdisk_find_partition_start): Likewise.
5740 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
5741 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
5742 New definition.
5743 (grub_gpt_partition_map_iterate): New proto.
5744 * include/grub/lvm.h (grub_lvm_vg): Removed.
5745 (grub_lvm_pv): Likewise.
5746 (grub_lvm_lv): Likewise.
5747 (grub_lvm_segment): Likewise.
5748 (grub_lvm_node): Likewise.
5749 * util/getroot.c [...]
5750 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
5751 (probe_abstraction): Likewise.
5752 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
5753 (main): Remove dead logic.
5754
5755 2012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
5756
5757 Simplify root device discover and don't fail when trying to open
5758 incorrect devices.
5759
5760 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
5761 function.
5762 (get_diskname_from_path): Likewise.
5763 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
5764 of iterating.
5765
5766 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5767
5768 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
5769
5770 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5771
5772 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
5773 pastthe end.
5774
5775 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5776
5777 * util/grub-install.in: Add missing \.
5778 Reported by: gentoofan
5779
5780 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
5781
5782 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
5783 (direct_read): Use correct compressed size.
5784 (grub_squash_read_data): Likewise.
5785
5786 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
5787
5788 * docs/grub.texi (Platform limitations): New section.
5789 (Platform-specific operations): Likewise.
5790 * docs/grub-dev.texi (Porting): Likewise.
5791
5792 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
5793
5794 IEEE1275 disk write support.
5795
5796 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
5797 const void *.
5798 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
5799 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
5800 and seek loginc to ...
5801 (grub_ofdisk_prepare): ... here.
5802 (grub_ofdisk_write): Implement.
5803
5804 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
5805
5806 ARC disk write support.
5807
5808 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
5809 (reopen): New argument writable. All users updated.
5810 Handle required access mode.
5811 (grub_arcdisk_write): Implement.
5812 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
5813 (grub_arc_firmware_vector): Make buffer to write a const buffer.
5814
5815 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
5816
5817 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
5818 (read_sblock): Don't attempt to read superblocks outside the disk size.
5819
5820 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
5821
5822 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
5823 first superblock to find the second one when possible.
5824
5825 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
5826
5827 * util/grub-install.in: Fix an ARC bug.
5828 Print a warning if no platform-specific setup is available.
5829
5830 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
5831
5832 Use static allocation rather than scratch pointer in reed_solomon.
5833 It decreases its size significantly and avoids a variable in .text.
5834
5835 * grub-core/lib/reed_solomon.c (scratch): Removed.
5836 (chosenstat): New const or static array.
5837 (sigma): Likewise.
5838 (errpot): Likewise.
5839 (errpos): Likewise.
5840 (sy): Likewise.
5841 (mstat): Likewise.
5842 (errvals): Likewise.
5843 (eqstat): Likewise.
5844 (pol_evaluate): Replace x with log_x argument. All users updated.
5845 (syndroms): Removed.
5846 (gauss_solve): Use statically allocated arrays.
5847 (rs_recover): Likewise.
5848 Calculate syndroms directly.
5849 (decode_block): Use statically allocated arrays.
5850 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
5851 (main) [TEST]: Allow -DTEST -DSTANDALONE.
5852
5853 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
5854
5855 Eliminate fixed limit on reed solomon decoder length.
5856
5857 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
5858 rather than hardcoding the address.
5859 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
5860 no_reed_solomon_length.
5861 Move gate_a20 to no-reed-solomon part.
5862 Don't force a particular size of no reed-solomon part.
5863 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
5864 Removed.
5865 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
5866 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
5867
5868 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
5869
5870 * grub-core/commands/wildcard.c (match_files): Handle filenames
5871 without explicit device.
5872 (wildcard_expand): Don't add explicit device if not already present.
5873 * tests/grub_script_echo1.in: Add a new expansion test.
5874
5875 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
5876
5877 Replace single-linked with double-linked lists. It results in more
5878 compact and more efficient code.
5879
5880 * grub-core/kern/list.c (grub_list_push): Moved from here ...
5881 * include/grub/list.h (grub_list_push): ... to here. Set prev.
5882 (grub_list_remove): Moved from here ...
5883 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
5884 (grub_prio_list_insert): Set prev.
5885 * include/grub/list.h (grub_list): Add prev. All users updated.
5886
5887 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
5888
5889 Handle newer autotools. Add some missing quotes while on it.
5890
5891 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
5892 (pkglib_DATA): Move grub-mkconfig_lib from here ...
5893 (pkgdata_DATA): ... here.
5894 * Makefile.util.def (update-grub_lib): Removed.
5895 * conf/Makefile.common (pkglib_DATA): Removed.
5896 (pkglib_SCRIPTS): Likewise.
5897 (pkgdata_DATA): New variable.
5898 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
5899 needed.
5900 Add missing quotes.
5901 Remove unused variable while on it.
5902 * tests/util/grub-shell.in: Likewise.
5903 * util/grub-install.in: Likewise.
5904 * util/grub-mkconfig.in: Likewise.
5905 * util/grub-mknetdir.in: Likewise.
5906 * util/grub-mkrescue.in: Likewise.
5907 * util/grub-mkstandalone.in: Likewise.
5908 * util/grub.d/00_header.in: Likewise.
5909 * util/grub.d/10_hurd.in: Likewise.
5910 * util/grub.d/10_illumos.in: Likewise.
5911 * util/grub.d/10_kfreebsd.in: Likewise.
5912 * util/grub.d/10_linux.in: Likewise.
5913 * util/grub.d/10_netbsd.in: Likewise.
5914 * util/grub.d/10_windows.in: Likewise.
5915 * util/grub.d/20_linux_xen.in: Likewise.
5916 * util/grub.d/30_os-prober.in: Likewise.
5917 * util/update-grub_lib.in: Removed.
5918
5919 2012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
5920
5921 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
5922 a workaround for intel problem.
5923
5924 2012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
5925 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
5926 2012-01-23 pfsmorigo
5927
5928 * util/grub-install.in: Support dd'in into PreP partition.
5929 * util/grub-probe.c (probe): Support discovering partition type.
5930 (main): Support -t msdos_parttype.
5931
5932 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
5933
5934 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
5935 infinite recursion using counter.
5936 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
5937 init to skip it if the magic check fails.
5938 (dec_stream_header): Init s->crc32.
5939
5940 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
5941 2012-01-22 Zachary Bedell <pendorbound@gmail.com>
5942 2012-01-22 Richard Laager <rlaager@wiktel.com>
5943
5944 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
5945 All users updated.
5946 (find_bestub): Determine correct size.
5947 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
5948 (scan_disk): Align the size down.
5949 Call check pool before find_bestub to have ashift.
5950
5951 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
5952
5953 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
5954 dprintf in no-malloc zone.
5955
5956 2012-01-22 Mario Limonciello <mario_limonciello@dell.com>
5957
5958 * configure.ac: Add back in test for limits.h.
5959
5960 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5961
5962 Support 4K-sector NTFS.
5963
5964 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
5965 (grub_ntfs_data): Remove blocksize.
5966 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
5967 Remove data argument. All users updated.
5968
5969 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5970
5971 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
5972 being in .text to avoid dprel references.
5973 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
5974 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
5975 (grub_arch_highmemsize): Likewise.
5976 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
5977 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
5978 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
5979
5980 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5981
5982 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
5983
5984 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
5985 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
5986
5987 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5988
5989 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
5990 GRUB_UTIL.
5991 (grub_set_datetime_cmos): Likewise.
5992
5993 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5994
5995 Make XZ compression parameters dependent on target and not host CPU.
5996
5997 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
5998 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
5999
6000 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6001
6002 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
6003 set but not used variable.
6004
6005 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6006
6007 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
6008 created when no uuid support is compiled into mkfs.reiser.
6009
6010 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6011
6012 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
6013 (utf8_to_macroman): Do the opposite.
6014 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
6015
6016 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6017
6018 * configure.ac: Refise build qemu_mips w/o unifont.
6019
6020 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6021
6022 Eliminate grub_min/grub_max prone to overflow usage.
6023
6024 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
6025 (poll_nonroot_hub): Likewise.
6026 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
6027 (grub_affs_label): Likewise.
6028 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
6029 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
6030 (grub_hfs_label): Likewise.
6031 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
6032 * grub-core/fs/zfs/zfs.c (MIN): Remove.
6033 (zap_leaf_array_equal): Use grub_size. Remove MIN.
6034 (zap_leaf_array_get): Likewise.
6035 (dnode_get_path): Likewise.
6036 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
6037 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
6038 * grub-core/script/execute.c (grub_script_break): Likewise.
6039 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
6040 grub_max.
6041 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
6042 * include/grub/misc.h (grub_min): Removed.
6043 (grub_max): Likewise.
6044
6045 2012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
6046
6047 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
6048 direct.inode = 0.
6049
6050 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6051
6052 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
6053
6054 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6055
6056 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
6057
6058 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6059
6060 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
6061 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
6062
6063 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6064
6065 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
6066 rather than a hack for grub_strncasemap.
6067
6068 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6069
6070 Support multiple initrds
6071 Note: part of this was accidently committed in r3739.
6072
6073 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
6074 initrd.
6075 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
6076 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
6077 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
6078 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6079 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6080
6081 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6082
6083 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
6084 disks with unknown size.
6085 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
6086
6087 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6088
6089 Remove defines pertaining to arbitrary limits not affecting GRUB
6090 anymore.
6091
6092 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
6093 (EXT2_MAX_SYMLINKCNT): Likewise.
6094 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
6095 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
6096 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
6097 (GRUB_PXE_MAX_BLKSIZE): Likewise.
6098 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
6099 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
6100 (DN_MAX_OBJECT_SHIFT): Likewise.
6101 (DN_MAX_OFFSET_SHIFT): Likewise.
6102 (DN_MAX_OBJECT): Likewise.
6103 (DNODES_PER_LEVEL_SHIFT): Likewise.
6104 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
6105 (SPA_MAXBLOCKSIZE): Likewise.
6106 (SPA_BLOCKSIZES): Likewise.
6107 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
6108 (MZAP_MAX_BLKSZ): Likewise.
6109
6110 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6111
6112 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
6113 handle NULL appropriately.
6114 Remove MIN.
6115
6116 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6117
6118 Fix efiemu.
6119
6120 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
6121 cpu/types.h.
6122 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
6123 * configure.ac: Fix efiemu check.
6124
6125 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6126
6127 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
6128 grub_probe.
6129 Reported by: adamwill
6130
6131 2012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
6132
6133 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
6134
6135 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6136
6137 Fix handling of wide characters in gfxterm.
6138
6139 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
6140 (clear_char): Likewise.
6141 (paint_char): Skip code == NULL chars.
6142 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
6143
6144 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6145
6146 * grub-core/normal/charset.c: Move comment to right place.
6147
6148 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6149
6150 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
6151 (GRUB_AFFS_FLAG_FFS): Put back where it was.
6152 (grub_affs_mount): Revert the correct version checking.
6153
6154 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6155
6156 * docs/grub.texi (Unicode): Mention several other unsupported features.
6157
6158 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
6159
6160 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
6161 case statements as compile-time one.
6162 (direct_read): Prevent spurious warnings.
6163 (grub_squash_read_data): Likewise.
6164
6165 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
6166
6167 Various squash4 fixes and LZO and XZ support.
6168
6169 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
6170 Add xzembed source files.
6171 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
6172 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
6173 (grub_squash_inode): New subtype long_dir.
6174 (SQUASH_TYPE_LONG_DIR): New inode type.
6175 (COMPRESSION): New enum.
6176 (XZBUFSIZ): New const.
6177 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
6178 (read_chunk): Use data->decompress.
6179 (zlib_decompress): New function.
6180 (lzo_decompress): Likewise.
6181 (xz_decompress): Likewise.
6182 (squash_mount): Set new data fields.
6183 (grub_squash_iterate_dir): Handle long dir.
6184 (squash_unmount): Free xzdec and xzbuf.
6185 (grub_squash_open): Check ino type.
6186 (direct_read): Stylistic fixes. Use data->decompress.
6187 (grub_squash_read_data): Likewise.
6188 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
6189 (get_byte): Likewise.
6190 (grub_zlib_disk_read): Removed.
6191 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
6192 (GRUB_POSIX_BOOL_DEFINED): New define.
6193 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
6194 * grub-core/lib/xzembed/xz.h: Addmissing includes.
6195 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
6196 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
6197
6198 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
6199
6200 Don't override more informative errors.
6201
6202 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
6203 * grub-core/font/font.c (open_section): Likewise.
6204 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
6205 filename. Don't override errors.
6206 (grub_cmd_openbsd_ramdisk): Don't override errors.
6207 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
6208 (grub_cmd_initrd): Likewise.
6209 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
6210 (grub_cmd_initrd): Likewise.
6211 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
6212 (grub_cmd_linux): Likewise.
6213 (grub_cmd_initrd): Likewise.
6214 (grub_cmd_payload): Likewise.
6215 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
6216 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
6217 (grub_cmd_module): Likewise.
6218 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6219 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6220 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
6221 (grub_cmd_xnu_mkext): Likewise.
6222 (grub_cmd_xnu_ramdisk): Likewise.
6223 (grub_xnu_check_os_bundle_required): Likewise.
6224 (grub_xnu_load_kext_from_dir): Likewise.
6225 (grub_cmd_xnu_kextdir): Likewise.
6226 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
6227
6228 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6229
6230 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
6231 as 1024 in block size field. Found on one of my test images.
6232 Small optimisation while on it.
6233
6234 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6235
6236 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
6237 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
6238 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
6239 performance fixes while on it.
6240 (grub_sfs_close): Fix memory leak while on it.
6241 (grub_sfs_label): Convert Latin1 to UTF-8.
6242
6243 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6244
6245 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
6246 space to avoid overflows.
6247 (grub_hfs_label): Convert from macroman to UTF-8.
6248
6249 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6250
6251 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
6252
6253 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6254
6255 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
6256
6257 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6258
6259 * unicode: Import Unicode 6.0 data.
6260
6261 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6262
6263 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
6264 outside of range.
6265
6266 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6267
6268 Avoid cutting in the middle of UTF-8 character.
6269
6270 * include/grub/charset.h (grub_getend): New function.
6271 * grub-core/script/function.c (grub_script_function_find): Use
6272 grub_getend.
6273 * grub-core/normal/completion.c (add_completion): Likewise.
6274
6275 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6276
6277 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
6278 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
6279 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
6280 (GRUB_UNICODE_TAG_END): Likewise.
6281 (GRUB_UNICODE_LAST_VALID): Likewise.
6282
6283 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6284
6285 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
6286 len and make it smaller. All users updated.
6287 * util/import_unicode.py: Put length and not end character.
6288 Check length.
6289
6290 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6291
6292 Make better Unicode-compliant and unify some UTF-8 code pathes.
6293
6294 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
6295 valid character.
6296 (grub_is_valid_utf8): Use grub_utf8_process.
6297 Check resulting code range.
6298 (grub_utf8_to_ucs4): Use grub_utf8_process.
6299 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
6300 valid character.
6301
6302 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6303
6304 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
6305
6306 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6307
6308 * docs/grub.texi (Filesystems): Mention AFS.
6309
6310 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6311
6312 * docs/grub.texi (Filesystems): Clarify restrictions.
6313 (Regexp): Mention non-Unicode regexp behaviour.
6314 (Other): Mention non-Unicode matching behaviour.
6315
6316 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6317
6318 Make HFS implementation use MacRoman.
6319
6320 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
6321 (macroman): New const array.
6322 (macroman_to_utf8): New function.
6323 (utf8_to_macroman): Likewise.
6324 (grub_hfs_find_dir): Use utf8_to_macroman.
6325 (grub_hfs_dir): Use macroman_to_utf8.
6326 Set case_insensitive.
6327
6328 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6329
6330 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
6331
6332 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6333
6334 Integrate hints into autogeneration scripts.
6335
6336 * docs/grub.texi (Filesystems): Add a hostdisk example.
6337 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
6338 (grub-probe): Add ofpath.
6339 * gentpl.py: Remove group nosparc64.
6340 * grub-core/commands/search.c (cache_entry): New struct.
6341 (cache): New var.
6342 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
6343 * grub-core/commands/search_wrap.c (options): Add platform-specific
6344 hint options.
6345 (grub_cmd_search): Handle platform-specific hints.
6346 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
6347 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
6348 (grub_util_biosdisk_data): Likewise.
6349 (grub_util_biosdisk_open): Set device_map.
6350 (read_device_map): Handle "" as indication of no map.
6351 Set device_map.
6352 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
6353 (grub_util_biosdisk_get_compatibility_hint): New function.
6354 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
6355 * include/grub/emu/hostdisk.h
6356 (grub_util_biosdisk_get_compatibility_hint): New proto.
6357 * util/grub-install.in: Don't call grub-mkdevicemap.
6358 Add platform-specific hint to load.cfg.
6359 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
6360 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
6361 hints. Set root preliminary to compatibility hint, not to OS name.
6362 * util/grub-probe.c (PRINT_*): Add hints.
6363 (print): Make static.
6364 (escape_of_path): New function.
6365 (guess_bios_drive): Likewise.
6366 (guess_efi_drive): Likewise.
6367 (guess_baremetal_drive): Likewise.
6368 (print_full_name): Likewise.
6369 (probe): Handle hints.
6370 (main): Likewise.
6371 * util/ieee1275/devicemap.c: Removed.
6372 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
6373 updated.
6374 (grub_util_devname_to_ofpath): Return NULL on failure.
6375
6376 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
6377 resource leak.
6378 * util/getroot.c (grub_util_pull_device): Fix memory leak.
6379
6380 * po/POTFILES.in: Regenerated.
6381
6382 Allow purely long options
6383
6384 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
6385 (SHORT_ARG_USAGE): Likewise.
6386 (grub_arg_show_help): Compare opt with help_options.
6387 (parse_option): Receive opt as argument. If makes big simplificatons.
6388 All users updated
6389
6390 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6391
6392 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
6393 Restructure to avoid warning.
6394
6395 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6396
6397 * util/grub-install.in: Account for possible escaped comma in device
6398 name.
6399
6400 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6401
6402 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
6403 channel.
6404
6405 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6406
6407 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
6408 allocation and zero-setting.
6409 (grub_ieee1275_get_devname): Check that alias is complete.
6410
6411 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6412
6413 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
6414 unaligned segments.
6415
6416 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6417
6418 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
6419 prefix.
6420 (grub_ofdisk_open): Check and discard ieee1275 prefix.
6421 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
6422 Add ieee1275 prefix.
6423
6424 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6425
6426 * docs/grub.texi (Filesystems): Update.
6427
6428 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6429
6430 Support odc, newc and bigendian cpio formats.
6431
6432 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
6433 * grub-core/Makefile.core.def (newc): New module.
6434 (odc): Likewise.
6435 (cpio_be): Likewise.
6436 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
6437 (MAGIC): Likewise.
6438 (MAGIC2): Likewise.
6439 (head) [MODE_ODC]: Adapt for the format.
6440 (head) [MODE_NEWC]: Likewise.
6441 (head) [!MODE_*]: Write fields of interest as arrays.
6442 (MAGIC_USTAR): Removed.
6443 (read_number) [MODE_NEWC]: Change to hex.
6444 (read_number) [!MODE_*]: Parse binary arrays.
6445 (grub_cpio_find_file): Factor out the code for better structure and
6446 always use read_number.
6447 (grub_cpio_mount): Use MAGIC and MAGIC2.
6448 (grub_cpio_dir): Exit on first hook non-0 return.
6449 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
6450 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
6451 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
6452 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
6453 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
6454 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
6455 * grub-core/fs/newc.c: New file.
6456 * grub-core/fs/odc.c: Likewise.
6457 * grub-core/fs/cpio_be.c: Likewise.
6458
6459 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6460
6461 Fix handling of tar numbers occupying the whole field.
6462
6463 * grub-core/fs/cpio.c (read_number): New function.
6464 (grub_cpio_find_file): Use read_number instead of strtoull.
6465
6466 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6467
6468 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
6469 occupying the whole field size.
6470
6471 2011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
6472
6473 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
6474
6475 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6476
6477 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
6478
6479 2011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
6480
6481 * grub-core/Makefile.core.def (lzma_decompress): Add missing
6482 TARGET_IMG_LDFLAGS.
6483
6484 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6485
6486 * util/getroot.c (ESCAPED_PATH_MAX): New define.
6487 (mountinfo_entry): Increase the field size to take escaping into
6488 account.
6489 (find_root_device_from_libzfs): Add one byte to size of strings for
6490 security.
6491
6492 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6493
6494 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
6495 an assert.
6496 * util/grub-setup.c (setup): Likewise.
6497
6498 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6499
6500 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
6501 _LzmaDecodeA.
6502
6503 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6504
6505 * docs/grub.texi (Internationalisation): New section.
6506
6507 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6508
6509 * docs/grub.texi (Loopback booting): New section.
6510
6511 2011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
6512
6513 * util/grub-mkstandalone.in: Fix minor typo errors.
6514
6515 2011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
6516
6517 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
6518
6519 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
6520 net/icmp.c and net/icmp6.c.
6521 (http): New module.
6522 (priority_queue): Likewise.
6523 * grub-core/io/bufio.c: Rewritten.
6524 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
6525 TYPE_WITH_CONFIGFILE_OPTION.
6526 (legacy_commands): Add bootp and dhcp.
6527 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
6528 (grub_legacy_parse): Likewise.
6529 * grub-core/lib/priority_queue.c: New file.
6530 * grub-core/net/arp.c: Add missing license header.
6531 (arp_find_entry): Removed.
6532 (arp_find_entry): Likewise.
6533 (grub_net_arp_resolve): Rename to ...
6534 (grub_net_arp_send_request): ...this.
6535 (grub_net_arp_receive): New card argument.
6536 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
6537 Set router and DNS server.
6538 (grub_net_configure_by_dhcp_ack): Handle routing information.
6539 (grub_cmd_bootp): Set checksum.
6540 (grub_bootp_init): Remove net_dhcp.
6541 * grub-core/net/dns.c: New file.
6542 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
6543 completion.
6544 (get_card_packet): Handle allocation.
6545 (grub_efinet_findcards): Set mtu.
6546 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
6547 (get_card_packet): Handle allocation.
6548 (emucard): Set mtu.
6549 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
6550 (GRUB_MOD_INIT): Set mtu.
6551 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
6552 mtu.
6553 (get_card_packet): Handle allocation.
6554 (grub_ofnet_findcards): Set mtu.
6555 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
6556 assert.
6557 (grub_net_recv_ethernet_packet): Handle IPv6.
6558 * grub-core/net/http.c: New file.
6559 * grub-core/net/icmp.c: Likewise.
6560 * grub-core/net/icmp6.c: Likewise.
6561 * grub-core/net/ip.c (ip6addr): New type.
6562 (ip6hdr): Likewise.
6563 (reassemble): Likewise.
6564 (cmp): New function.
6565 (reassembles): New variable.
6566 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
6567 (id): New variable.
6568 (send_fragmented): New function.
6569 (grub_net_send_ip_packet): Rename to ...
6570 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
6571 Handle non-UDP.
6572 (grub_net_recv_ip_packets): Rename to ...
6573 (handle_dgram): ... this. Check checksum. Handle non-UDP.
6574 (free_rsm): New function.
6575 (free_old_fragments): Likewise.
6576 (grub_net_recv_ip4_packets): New function.
6577 (grub_net_send_ip6_packet): Likewise.
6578 (grub_net_send_ip_packet): Likewise.
6579 (grub_net_recv_ip6_packets): Likewise.
6580 (grub_net_recv_ip_packets): Likewise.
6581 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
6582 (LINK_LAYER_CACHE_SIZE): New const.
6583 (link_layer_find_entry): New function.
6584 (grub_net_link_layer_add_address): Likewise.
6585 (grub_net_link_layer_resolve_check): Likewise.
6586 (grub_net_link_layer_resolve): Likewise.
6587 (grub_net_ipv6_get_slaac): Likewise.
6588 (grub_net_ipv6_get_link_local): Likewise.
6589 (grub_cmd_ipv6_autoconf): Likewise.
6590 (parse_ip): Handle one number representation.
6591 (parse_ip6): New functoion.
6592 (match_net): Handle IPv6.
6593 (grub_net_resolve_address): Handle IPv6 and DNS.
6594 (grub_net_resolve_net_address): Handle IPv6.
6595 (route_cmp): New function.
6596 (grub_net_route_address): Find best route.
6597 (grub_net_addr_to_str): Handle IPv6.
6598 (grub_net_addr_cmp): New function.
6599 (grub_net_add_addr): Register local route.
6600 (print_net_address): Handle net address.
6601 (grub_net_poll_cards): Retransmit TCP.
6602 (grub_net_poll_cards_idle_real): Likewise.
6603 (have_ahead): New function.
6604 (grub_net_seek_real): Use underlying seek.
6605 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
6606 * grub-core/net/tcp.c: New file.
6607 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
6608 (cmp): New function.
6609 (ack): Likewise.
6610 (tftp_receive): Handle unordered input.
6611 (destroy_pq): New function.
6612 (tftp_close): Close pq.
6613 * grub-core/net/udp.c: Put missing license header.
6614 (grub_net_udp_socket): New function.
6615 (udp_socket_register): Likewise.
6616 (grub_net_udp_close): Likewise.
6617 (grub_net_recv_udp_packet): Check checksum.
6618 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
6619 * include/grub/misc.h (grub_memchr): New function.
6620 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
6621 (grub_net_card_driver): Return buf in recv.
6622 (grub_net_slaac_mac_list): New struct.
6623 (grub_network_level_protocol_id): Add ipv6.
6624 (grub_net_network_level_addr): Likewise.
6625 (grub_net_network_level_net_addr): Likewise.
6626 (grub_net_app_protocol): Add seek.
6627 (grub_net_socket): Removed.
6628 (grub_net_sockets): Likewise.
6629 (grub_net_socket_register): Likewise.
6630 (grub_net_socket_unregister): Likewise.
6631 (FOR_NET_SOCKETS): Likewise.
6632 (grub_net_add_addr): Add const.
6633 (GRUB_NET_BOOTP_*): New enum.
6634 (grub_net_addr_cmp): New proto.
6635 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
6636 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
6637 (grub_net_hwaddr_to_str): NEw proto.
6638 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
6639 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
6640 (grub_dns_init): New proto.
6641 (grub_dns_fini): Likewise.
6642 (grub_net_tcp_retransmit): Likewise.
6643 (grub_net_link_layer_add_address): Likewise.
6644 (grub_net_link_layer_resolve_check): Likewise.
6645 (grub_net_link_layer_resolve): Likewise.
6646 (grub_net_dns_lookup): Likewise.
6647 (grub_net_add_dns_server): Likewise.
6648 (grub_net_remove_dns_server): Likewise.
6649 (GRUB_NET_TRIES): New const.
6650 (GRUB_NET_INTERVAL): Likewise.
6651 * include/grub/net/arp.h: Mostly rewritten.
6652 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
6653 * include/grub/net/ip.h: Mostly rewritten.
6654 * include/grub/net/netbuff.h: Indent.
6655 * include/grub/net/tcp.h: New file.
6656 * include/grub/net/udp.h: Mostly rewritten.
6657 * include/grub/priority_queue.h: New file.
6658 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
6659 (grub_swap_bytes64_compile_time): Likewise.
6660 (grub_cpu_to_be16_compile_time): Likewise.
6661 (grub_cpu_to_be32_compile_time): Likewise.
6662 (grub_cpu_to_be64_compile_time): Likewise.
6663 (grub_be_to_cpu64_compile_time): Likewise.
6664
6665 2011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
6666
6667 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
6668 UINT_TO_PTR with cast.
6669
6670 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6671
6672 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
6673 don't use them.
6674
6675 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6676
6677 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
6678 already there.
6679
6680 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6681
6682 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
6683 confusing ipxe.
6684
6685 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6686
6687 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
6688 Add missing const attribute.
6689 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
6690 Likewise.
6691 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
6692 Likewise.
6693
6694 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6695
6696 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
6697 misaligned access.
6698 (serpent_setkey): Likewise.
6699 (serpent_encrypt_internal): Likewise.
6700 (serpent_decrypt_internal): Likewise.
6701 (serpent_encrypt): Don't put an alignment-increasing cast.
6702 (serpent_decrypt): Likewise.
6703 (serpent_test): Likewise.
6704
6705 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6706
6707 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
6708
6709 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6710
6711 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
6712
6713 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
6714 grub_addr_t casts.
6715 (PTR_TO_UINT64): Likewise.
6716 (PTR_TO_UINT32): Likewise.
6717
6718 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6719
6720 * util/grub-mkimage.c (generate_image): Decrease the higher limit
6721 because of stack.
6722 * util/grub-setup.c (setup): Don't add redundancy past the higher load
6723 limit.
6724
6725 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6726
6727 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
6728 text_width > available width a bit more gracefully.
6729
6730 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6731
6732 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
6733 current address calculation.
6734
6735 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6736
6737 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
6738 stack.
6739 (encode_block): Likewise.
6740
6741 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6742
6743 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
6744 certainety.
6745
6746 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6747
6748 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
6749 non-RS part to avoid RS messing with GDT.
6750 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
6751 Increase to suit in realmode routines.
6752
6753 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6754
6755 * grub-core/kern/i386/realmode.S: Increase alignment.
6756 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
6757
6758 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6759
6760 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
6761 be deterministic.
6762 (syndroms): Compute 0 syndrom.
6763 (rs_recover): Use 0 syndrom.
6764
6765 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6766
6767 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
6768
6769 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6770
6771 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
6772 brackets.
6773
6774 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6775
6776 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
6777 account.
6778 (get_top_pad): Likewise.
6779 (get_right_pad): Likewise.
6780 (get_bottom_pad): Likewise.
6781
6782 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6783
6784 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
6785
6786 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6787
6788 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
6789 attribute as the structure isn't guaranteed to be properly aligned.
6790 (grub_efi_pci_device_path): Likewise.
6791 (grub_efi_pccard_device_path): Likewise.
6792 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
6793 specify the size of `memory_type'.
6794 (grub_efi_vendor_device_path): Likewise.
6795 (grub_efi_controller_device_path): Likewise.
6796 (grub_efi_acpi_device_path): Likewise.
6797 (grub_efi_expanded_acpi_device_path): Likewise.
6798 (grub_efi_atapi_device_path): Likewise.
6799 (grub_efi_scsi_device_path): Likewise.
6800 (grub_efi_fibre_channel_device_path): Likewise.
6801 (grub_efi_1394_device_path): Likewise.
6802 (grub_efi_usb_device_path): Likewise.
6803 (grub_efi_usb_class_device_path): Likewise.
6804 (grub_efi_i2o_device_path): Likewise.
6805 (grub_efi_mac_address_device_path): Likewise.
6806 (grub_efi_ipv4_device_path): Likewise.
6807 (grub_efi_ipv6_device_path): Likewise.
6808 (grub_efi_infiniband_device_path): Likewise.
6809 (grub_efi_uart_device_path): Likewise.
6810 (grub_efi_vendor_messaging_device_path): Likewise.
6811 (grub_efi_hard_drive_device_path): Likewise.
6812 (grub_efi_cdrom_device_path): Likewise.
6813 (grub_efi_vendor_media_device_path): Likewise.
6814 (grub_efi_file_path_device_path): Likewise.
6815 (grub_efi_protocol_device_path): Likewise.
6816 (grub_efi_piwg_device_path): Likewise.
6817 (grub_efi_bios_device_path): Likewise.
6818
6819 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6820
6821 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
6822 (grub_ucs4_to_utf8_alloc): Likewise.
6823 (grub_ucs4_to_utf8): Likewise.
6824 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
6825 (grub_ucs4_to_utf8_alloc): Likewise.
6826
6827 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6828
6829 AFFS never uses unicode.
6830
6831 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
6832 (grub_latin1_to_utf8): New inline function.
6833 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
6834
6835 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6836
6837 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
6838 overflow.
6839
6840 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6841
6842 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
6843 (grub_squash_dirent_header): Likewise.
6844 (read_chunk): Don't double swap.
6845 (grub_squash_iterate_dir): Fix swap sizes.
6846
6847 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6848
6849 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
6850
6851 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6852
6853 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
6854 (grub_hfs_iterate_dir): Likewise.
6855
6856 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6857
6858 Fix video on platforms where unaligned access is forbidden.
6859 Make several optimisations while on it.
6860
6861 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
6862 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
6863 (grub_video_fbblit_replace_32bit_1bit): Likewise.
6864 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
6865 Disable.
6866 (grub_video_fbblit_replace_16bit_1bit):
6867 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
6868 (grub_video_fbblit_replace_8bit_1bit): Likewise.
6869 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
6870 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
6871 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
6872 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
6873 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
6874 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
6875 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
6876 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
6877 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
6878 (grub_video_fbblit_replace_index_RGB888): Likewise.
6879 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
6880 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
6881 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
6882 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
6883 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
6884 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
6885 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
6886 Disable.
6887 (grub_video_fbblit_blend_XXX565_1bit):
6888 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
6889 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
6890 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
6891 void *.
6892 * grub-core/video/fb/video_fb.c (common_blitter)
6893 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
6894 (grub_video_fb_create_render_target_from_pointer)
6895 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
6896 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
6897 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
6898 definition.
6899 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
6900
6901 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6902
6903 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
6904 HH22 and HM10 relocations.
6905
6906 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6907
6908 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
6909
6910 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6911
6912 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
6913 allocation succeeded.
6914
6915 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6916
6917 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
6918 argument a u8 pointer. All users updated.
6919 Handle unaligned buffers.
6920
6921 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6922
6923 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
6924 add_part to workaround compiler bug.
6925
6926 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6927
6928 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
6929
6930 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6931
6932 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
6933 Reserve alignment invariants.
6934 (grub_multiboot_load): Likewise.
6935 (retrieve_video_parameters): Likewise.
6936 (grub_multiboot_make_mbi): Likewise.
6937
6938 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6939
6940 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
6941 incorrect pointer.
6942
6943 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6944
6945 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
6946 (grub_pata_pio_write): Likewise.
6947
6948 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6949
6950 Add noreturn attributes and remove unreachable code.
6951
6952 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
6953 code.
6954 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
6955 code. Mark as noreturn.
6956 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
6957 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
6958 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
6959 unreachable code.
6960 * grub-core/kern/main.c (grub_main): Mark as noreturn.
6961 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
6962 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
6963 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
6964 * include/grub/kernel.h (grub_main): Mark as noreturn.
6965 * include/grub/reader.h (grub_rescue_run): Likewise.
6966
6967 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6968
6969 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
6970 redundant declaration.
6971
6972 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6973
6974 * include/grub/net.h (grub_net_network_level_interfaces): Remove
6975 redundant declaration.
6976 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
6977
6978 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6979
6980 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
6981 to ensure alignment.
6982 (grub_hdparm_print_identify): Make argument uint16 * to ensure
6983 alignment. Ensure tmp alignment.
6984 (grub_cmd_hdparm): Ensure buf alignment.
6985 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
6986 to ensure alignment.
6987 (grub_ata_dumpinfo): Ensure text alignment.
6988 (grub_atapi_identify): Preserve alignment invariant.
6989 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
6990
6991 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6992
6993 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
6994 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
6995 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
6996 * include/grub/misc.h (grub_reboot)
6997 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
6998 (grub_halt) [__mips__]: Likewise.
6999
7000 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7001
7002 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
7003 Remove redundant declaration.
7004 (grub_mmap_get_post64): Likewise.
7005 (grub_mmap_get_upper): Likewise.
7006 (grub_mmap_get_lower): Likewise.
7007
7008 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7009
7010 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
7011 uint32_t * to ensure alignment.
7012 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
7013
7014 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7015
7016 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
7017 uint16_t * to ensure alignment.
7018 (sun_pc_partition_map_iterate): Make `block' a union to ensure
7019 alignment.
7020
7021 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7022
7023 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
7024 to ensure alignment.
7025 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
7026
7027 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7028
7029 * grub-core/fs/ntfs.c (u16at): Make into inline function.
7030 Handle unaligned pointers.
7031 (u32at): Likewise.
7032 (u64at): Likewise.
7033 (fixup): Use byte access instead of v16at.
7034 (find_attr): Fix imporper usage of v32at.
7035 (read_data): Likewise.
7036 (list_file): Handle byte-swapping and unaligned strings.
7037 (grub_ntfs_label): Likewise.
7038
7039 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7040
7041 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
7042 as it's not necessarily aligned.
7043
7044 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7045
7046 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
7047 redundant declaration.
7048 (grub_serial_init): Likewise.
7049 (grub_terminfo_init): Likewise.
7050
7051 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7052
7053 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
7054 function.
7055 (ZAP_HASH_IDX): Likewise.
7056 (ZAP_LEAF_HASH_SHIFT): Likewise.
7057 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
7058 (LEAF_HASH): Likewise.
7059 (ZAP_LEAF_NUMCHUNKS): Likewise.
7060 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
7061 alignment invariants. Return pointer. All users updated.
7062 (ZAP_LEAF_ENTRY): Make into inline function.
7063 (NBBY): Removed.
7064 (xor): LIkewise.
7065 (xor_out): Use grub_crypto_xor.
7066 (dnode_get_path): Use grub_get_unaligned.
7067 (nvlist_find_value): Likewise.
7068 (grub_zfs_nvlist_lookup_uint64): Likewise.
7069 (grub_zfs_nvlist_lookup_string): Likewise.
7070 (get_nvlist_size): Likewise.
7071 (grub_zfs_open): Likewise.
7072 (fill_fs_info): Likewise.
7073 (grub_zfs_dir): Likewise.
7074 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
7075 alignment invariants.
7076 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
7077 necessarily aligned.
7078
7079 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7080
7081 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
7082
7083 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7084
7085 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
7086 arithmetic to conserve alignment invariants.
7087
7088 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7089
7090 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
7091 redundant declaration.
7092 (grub_efiemu_mm_obtain_request): Likewise.
7093 (grub_efiemu_prepare): Likewise.
7094
7095 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7096
7097 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
7098 to match types.
7099
7100 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7101
7102 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
7103 case of aunaligned recptr.
7104 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
7105 alignment.
7106 (grub_hfsplus_btree_search): Handle unaligned index.
7107
7108 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7109
7110 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
7111 to get freetag and skip.
7112
7113 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7114
7115 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
7116 array.
7117 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
7118 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
7119
7120 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7121
7122 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
7123 name for checksum and fix allocation algorithm.
7124
7125 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7126
7127 * include/grub/types.h (grub_properly_aligned_t): New type.
7128 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
7129 (grub_get_unaligned16): Add explicit casts.
7130 (grub_get_unaligned32): Likewise.
7131 (grub_get_unaligned64): Likewise.
7132 (grub_set_unaligned16): New function.
7133 (grub_set_unaligned32): Likewise.
7134
7135 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7136
7137 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
7138
7139 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7140
7141 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
7142 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
7143 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
7144
7145 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7146
7147 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
7148 conditionals.
7149
7150 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7151
7152 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
7153 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
7154
7155 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7156
7157 Unify and improve RAID and crypto xor.
7158
7159 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
7160 changed to grub_crypto_xor
7161 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
7162 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
7163 Use bigger types when possible.
7164
7165 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7166
7167 * grub-core/disk/raid.c (scan_devices): Fix condition.
7168
7169 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7170
7171 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
7172 Make name a const ptr.
7173
7174 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7175
7176 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
7177 first argument a const pointer.
7178 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
7179 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
7180 proto.
7181 (grub_children_iterate): Likewise.
7182 (grub_machine_mmap_iterate): Remove redundant declaration.
7183
7184 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7185
7186 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
7187 (grub_cmd_acpi) [!x86]: Disable EBDA.
7188
7189 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7190
7191 Enable UTF8 in gnulib regexp.
7192
7193 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
7194 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
7195 (isupper): Use grub_isupper.
7196 (isascii): New inline function.
7197 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
7198 * grub-core/lib/posix_wrap/wctype.h: Likewise.
7199 * grub-core/normal/charset.c (grub_utf8_process): New function.
7200 (grub_utf8_to_utf16): Use grub_utf8_process.
7201 (grub_encode_utf8_character): New function.
7202 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
7203 * include/grub/charset.h (grub_utf8_process): New declaration.
7204 (grub_encode_utf8_character): Likewise.
7205 * include/grub/misc.h (grub_islower): New inline function.
7206 (grub_isupper): Likewise.
7207 (grub_strchrsub): Moved down to fix the definitions.
7208
7209 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7210
7211 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
7212 specification.
7213
7214 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7215
7216 * include/grub/loader.h (grub_loader_register_preboot_hook):
7217 Use struct preboot * and not void * for handle. All users updated.
7218 (grub_loader_unregister_preboot_hook): Likewise.
7219
7220 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
7221
7222 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
7223 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
7224 UTF-16-BE. All users updated.
7225 (grub_hfsplus_cmp_catkey): Fix unicode handling.
7226 (grub_hfsplus_iterate_dir): Likewise.
7227 (grub_hfsplus_label): Likewise.
7228
7229 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
7230
7231 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
7232
7233 2011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
7234
7235 Add missing const qualifiers.
7236
7237 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
7238 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
7239 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
7240 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
7241 (grub_lvm_check_flag): Likewise.
7242 * grub-core/efiemu/i386/coredetect.c
7243 (grub_efiemu_get_default_core_name): Likewise
7244 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
7245 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
7246 * grub-core/fs/ntfs.c (fixup): Likewise.
7247 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
7248 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
7249 (fzap_lookup): Likewise.
7250 (zap_lookup): Likewise.
7251 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
7252 * grub-core/lib/legacy_parse.c (check_option): Likewise.
7253 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
7254 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
7255 (grub_freebsd_add_meta_module): Likewise.
7256 (grub_cmd_freebsd_module): Likewise.
7257 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
7258 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
7259 (grub_xnu_writetree_get_size): Likewise.
7260 (grub_xnu_writetree_toheap_real): Likewise.
7261 (grub_xnu_find_key): Likewise.
7262 (grub_xnu_create_key): Likewise.
7263 (grub_xnu_create_value): Likewise.
7264 (grub_xnu_register_memory): Likewise.
7265 (grub_xnu_check_os_bundle_required): Likewise.
7266 (grub_xnu_scan_dir_for_kexts): Likewise.
7267 (grub_xnu_load_kext_from_dir): Likewise.
7268 * grub-core/normal/color.c (color_list): Likewise.
7269 * grub-core/normal/completion.c (current_word): Likewise.
7270 * grub-core/normal/menu_entry.c (insert_string): Likewise.
7271 * grub-core/term/serial.c (grub_serial_find): Likewise.
7272 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
7273 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
7274 Likewise.
7275 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
7276 (grub_freebsd_add_meta_module): Likewise.
7277 * include/grub/lib/arg.h (grub_arg_option): Likewise.
7278 * include/grub/net.h (grub_net_card_driver): Likewise.
7279 (grub_net_card): Likewise.
7280 (grub_net_app_protocol): Likewise.
7281 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
7282 * include/grub/serial.h (grub_serial_find): Likewise.
7283 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
7284 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
7285 (grub_xnu_create_value): Likewise.
7286 (grub_xnu_find_key): Likewise.
7287 (grub_xnu_scan_dir_for_kexts): Likewise.
7288 (grub_xnu_load_kext_from_dir): Likewise.
7289
7290 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
7291 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
7292 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
7293 Moved from here ...
7294 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
7295
7296 2011-11-28 Colin Watson <cjwatson@ubuntu.com>
7297
7298 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
7299
7300 2011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
7301
7302 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
7303 (read_device): Fix size calculation.
7304
7305 2011-11-25 Robert Millan <rmh@gnu.org>
7306
7307 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
7308 (find_root_device_from_libzfs): Add zpool output parser to be used
7309 as fallback when libzfs isn't available.
7310
7311 2011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
7312
7313 * po/Makefile.in.in: Add missing escape-continuation.
7314
7315 2011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
7316
7317 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
7318
7319 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7320
7321 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
7322
7323 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7324
7325 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
7326
7327 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7328
7329 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
7330
7331 2011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7332
7333 * grub-core/lib/adler32.c: Add missing license specification.
7334 * grub-core/lib/crc64.c: Likewise.
7335 * grub-core/loader/i386/pc/plan9.c: Likewise.
7336 * grub-core/partmap/plan.c: Likewise.
7337
7338 2011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
7339
7340 Add facility to debug GRUB with gdb under qemu.
7341
7342 * grub-core/gdb_grub.in: New file.
7343 * grub-core/gmodule.pl.in: Likewise.
7344 * grub-core/Makefile.core.def (gmodule.pl): New script.
7345 (gdb_grub): Likewise.
7346
7347 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7348
7349 * util/grub-mount.c (argp_parser): Accept relative pathes.
7350 * util/grub-fstest.c (argp_parser): Likewise.
7351
7352 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7353
7354 Plan9 support.
7355
7356 * Makefile.util.def (libgrubmods): Add
7357 grub-core/partmap/plan.c.
7358 * docs/grub.texi: Notice Plan9 support.
7359 * grub-core/Makefile.core.def (plan9): New module.
7360 (part_plan): Likewise.
7361 * grub-core/loader/i386/pc/plan9.c: New file.
7362 * grub-core/partmap/plan.c: Likewise.
7363 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
7364 define.
7365 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
7366 * include/grub/mm.h (grub_extend_alloc): New inline function.
7367
7368 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7369
7370 Make Reed-Solomon faster by using power of generator representation of
7371 GF(256)*.
7372
7373 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
7374 (gf_double_t): Likewise.
7375 (gf_invert): Removed.
7376 (gf_powx): New array.
7377 (gf_powx_inv): Likewise.
7378 (scratch): Move higher.
7379 (gf_reduce): Removed.
7380 (gf_mul): Use powx.
7381 (gf_invert): Likewise.
7382 (init_inverts): Replaced with ...
7383 (init_powx): ...this. All users updated.
7384 (pol_evaluate): Replace multiplications with additions.
7385 (rs_encode): Likewise.
7386 (gauss_eliminate): Call gf_invert.
7387 (grub_reed_solomon_add_redundancy): Call init_powx.
7388 (grub_reed_solomon_recover): Call init_powx unconditionally.
7389
7390 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7391
7392 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
7393
7394 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7395
7396 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
7397 disk->partiton for safety.
7398
7399 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7400
7401 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
7402 Fix a memory leak.
7403 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
7404
7405 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7406
7407 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
7408
7409 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7410
7411 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
7412
7413 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7414
7415 Fix spaces handling in proc/self/mountinfo.
7416
7417 * util/getroot.c (unescape): New function.
7418 (grub_find_root_device_from_mountinfo): Use unescape.
7419
7420 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7421
7422 Support ZFS embedding.
7423
7424 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
7425 (grub_zfs_fs): Register grub_zfs_embed.
7426
7427 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7428
7429 Fix MIPS compilation.
7430
7431 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
7432 * include/grub/offsets.h: Rename decompressor fields from
7433 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
7434 * util/grub-mkimage.c (image_targets): Use new names.
7435
7436 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7437
7438 Defer multiboot device parsing until we're in compressed part.
7439
7440 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
7441 bsd_part. setdevice has fallen into disuse.
7442 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
7443 (bsd_part): Likewise.
7444 (boot_dev): New variable.
7445 (multiboot_trampoline): Don't parse multiboot device.
7446 Pass multiboot device in %edx.
7447 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
7448 grub_boot_device.
7449 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
7450 Likewise.
7451 * grub-core/kern/i386/pc/startup.S: Save edx.
7452 (grub_boot_drive): Removed.
7453 (grub_install_dos_part): Likewise.
7454 (grub_install_bsd_part): Likewise.
7455 (grub_boot_device): New variable.
7456 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
7457 (grub_install_bsd_part): Likewise.
7458 (grub_boot_drive): Likewise.
7459 (grub_boot_device): New variable.
7460 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
7461 Removed.
7462 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
7463 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
7464 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
7465 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
7466 * util/grub-install.in: Remove redundant condition.
7467
7468 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7469
7470 Fix bug introduced by previous commit.
7471
7472 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
7473
7474 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7475
7476 Use decompressors framework on i386-pc. It increases core size
7477 by 46 bytes but improves compatibility and maintainability.
7478
7479 * grub-core/Makefile.core.def (lzma_decompress): New image.
7480 (kernel): Add i386_pc_ldflags.
7481 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
7482 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
7483 to real_to_prot, prot_to_real and device info.
7484 * include/grub/offsets.h: Renamed decompressor offsets.
7485 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
7486 (image_target_desc): Remove raw_size and rename decompressor fields.
7487 (compress_kernel): Handle lzma.
7488 (generate_image): Handle decompressors on i386-pc.
7489
7490 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7491
7492 * configure.ac: Add -fno-asynchronous-unwind-tables.
7493
7494 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7495
7496 Move assembly code to C by using intwrap. It increases core size
7497 by 88 bytes but improves compatibility and maintainability.
7498
7499 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
7500 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
7501 ... here. Translated to C.
7502 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
7503 * grub-core/term/i386/pc/console.c (grub_console_getkey):
7504 ... here. Translated to C.
7505 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
7506 * grub-core/term/i386/pc/console.c (grub_console_getxy):
7507 ... here. Translated to C.
7508 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
7509 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
7510 ... here. Translated to C.
7511 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
7512 * grub-core/term/i386/pc/console.c (grub_console_cls):
7513 ... here. Translated to C.
7514 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
7515 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
7516 ... here. Translated to C.
7517 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
7518 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
7519 Translated to C.
7520 * grub-core/term/i386/pc/console.c (int10_9): New function.
7521 (grub_console_putchar): Likewise.
7522 * include/grub/i386/pc/console.h: Removed the not anymore shared
7523 functions.
7524
7525 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7526
7527 Move grub_chainloader_real_boot out of the kernel.
7528
7529 * grub-core/Makefile.am: Remove machine/loader.h.
7530 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
7531 Removed.
7532 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
7533 variable.
7534 (grub_relocator16_keep_a20_enabled): Likewise.
7535 (grub_relocator16_boot): Fill new variables.
7536 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
7537 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
7538 relocator.
7539 (grub_chainloader_unload): Likewise.
7540 (grub_chainloader_cmd): Likewise.
7541 * include/grub/i386/pc/loader.h: Removed.
7542 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
7543 and esi. All initialisers updated.
7544
7545 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7546 2011-11-12 Colin Watson <cjwatson@ubuntu.com>
7547
7548 * Makefile.util.def (grub-mount): New util.
7549 * .bzrignore: Add grub-mount.
7550 * configure.ac: Check for fuse and enable grub-mount if available.
7551 * docs/man/grub-mount.h2m: New file.
7552 * util/grub-mount.c: Likewise.
7553
7554 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7555
7556 * grub-core/commands/efi/fixvideo.c: Gettextize.
7557 * grub-core/commands/hashsum.c: Likewise.
7558 * grub-core/commands/i386/cmostest.c: Likewise.
7559 * grub-core/commands/i386/pc/drivemap.c: Likewise.
7560 * grub-core/commands/i386/pc/lsapm.c: Likewise.
7561 * grub-core/commands/i386/pc/sendkey.c: Likewise.
7562 * grub-core/commands/lsmmap.c: Likewise.
7563 * grub-core/commands/menuentry.c: Likewise.
7564 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
7565 * grub-core/commands/setpci.c: Likewise.
7566 * grub-core/loader/i386/bsd.c: Likewise.
7567 * grub-core/loader/i386/linux.c: Likewise.
7568 * util/getroot.c: Likewise.
7569 * util/grub-editenv.c: Likewise.
7570 * util/grub-fstest.c: Likewise.
7571 * util/grub-mkfont.c: Likewise.
7572 * util/grub-mkimage.c: Likewise.
7573 * util/grub-mkpasswd-pbkdf2.c: Likewise.
7574 * util/grub-pe2elf.c: Likewise.
7575 * util/grub-probe.c: Likewise.
7576 * util/grub-setup.c: Likewise.
7577 * util/ieee1275/ofpath.c: Likewise.
7578 * util/misc.c: Likewise.
7579 * util/raid.c: Likewise.
7580
7581 2011-11-11 Robert Millan <rmh@gnu.org>
7582
7583 * util/getroot.c (grub_util_get_geom_abstraction): Remove
7584 __attribute__((unused)) from `os_dev', which *is* being used.
7585
7586 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7587
7588 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
7589 forgotten define.
7590 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
7591 GRUB_IA64_DL_GOT_ALIGN.
7592 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
7593 GRUB_IA64_DL_TRAMP_ALIGN.
7594
7595 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7596
7597 Replace grub_fatal with normal errors in i386 linux loader.
7598
7599 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
7600 (allocate_pages): Check find_efi_mmap_size return value.
7601 (grub_e820_add_region): Return error.
7602 (grub_linux_boot): Check mmap return value.
7603
7604 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7605
7606 * grub-core/commands/acpihalt.c: Gettextized.
7607 * grub-core/commands/cacheinfo.c: Likewise.
7608 * grub-core/commands/cmp.c: Likewise.
7609 * grub-core/commands/efi/loadbios.c: Likewise.
7610 * grub-core/commands/gptsync.c: Likewise.
7611 * grub-core/commands/ieee1275/suspend.c: Likewise.
7612 * grub-core/commands/legacycfg.c: Likewise.
7613 * grub-core/commands/memrw.c: Likewise.
7614 * grub-core/commands/minicmd.c: Likewise.
7615 * grub-core/commands/parttool.c: Likewise.
7616 * grub-core/commands/time.c: Likewise.
7617 * grub-core/commands/videoinfo.c: Likewise.
7618 * grub-core/disk/geli.c: Likewise.
7619 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
7620 * grub-core/disk/luks.c: Likewise.
7621 * grub-core/disk/lvm.c: Likewise.
7622 * grub-core/font/font_cmd.c: Likewise.
7623 * grub-core/fs/zfs/zfscrypt.c: Likewise.
7624 * grub-core/fs/zfs/zfsinfo.c: Likewise.
7625 * grub-core/gfxmenu/view.c: Likewise.
7626 * grub-core/kern/emu/hostdisk.c: Likewise.
7627 * grub-core/kern/emu/main.c: Likewise.
7628 * grub-core/kern/emu/misc.c: Likewise.
7629 * grub-core/kern/emu/mm.c: Likewise.
7630 * grub-core/kern/mips/arc/init.c: Likewise.
7631 * grub-core/kern/mips/loongson/init.c: Likewise.
7632 * grub-core/kern/partition.c: Likewise.
7633 * grub-core/lib/i386/halt.c: Likewise.
7634 * grub-core/lib/mips/arc/reboot.c: Likewise.
7635 * grub-core/lib/mips/loongson/reboot.c: Likewise.
7636 * grub-core/loader/i386/pc/chainloader.c: Likewise.
7637 * grub-core/loader/i386/xnu.c: Likewise.
7638 * grub-core/loader/multiboot.c: Likewise.
7639 * grub-core/net/bootp.c: Likewise.
7640 * grub-core/net/net.c: Likewise.
7641 * grub-core/normal/term.c: Likewise.
7642 * grub-core/partmap/bsdlabel.c: Likewise.
7643 * grub-core/parttool/msdospart.c: Likewise.
7644 * grub-core/term/gfxterm.c: Likewise.
7645 * grub-core/term/terminfo.c: Likewise.
7646 * grub-core/video/i386/pc/vbe.c: Likewise.
7647 * util/grub-menulst2cfg.c: Likewise.
7648 * util/grub-mkdevicemap.c: Likewise.
7649 * util/grub-mklayout.c: Likewise.
7650 * util/grub-mkrelpath.c: Likewise.
7651 * util/grub-script-check.c: Likewise.
7652 * util/ieee1275/grub-ofpathname.c: Likewise.
7653 * util/resolve.c: Likewise.
7654
7655 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7656
7657 Support %1$d syntax.
7658
7659 * tests/printf_unit_test.c: New file.
7660 * Makefile.util.def (printf_test): New test.
7661 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
7662
7663 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7664
7665 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
7666 fix.
7667
7668 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7669
7670 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
7671 dprintf.
7672 * grub-core/font/font.c (grub_font_load): Likewise.
7673
7674 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7675
7676 * util/grub-macho2img.c: Add comment concerning gettext.
7677 * grub-core/lib/legacy_parse.c: Likewise.
7678
7679 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7680
7681 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
7682 (grub_xvasprintf): Likewise.
7683
7684 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7685
7686 Add const keyword to grub_env_get and gettextize week days.
7687
7688 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
7689 (grub_read_hook_datetime): Return const char *.
7690 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
7691 updated.
7692 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
7693 Mark for gettext.
7694 (grub_get_weekday_name): Return const char *. Call gettext.
7695 * grub-core/script/argv.c (grub_script_argv_append): Receive const
7696 char * and len as the argument. All users updated.
7697 (grub_script_argv_split_append): Receive const char *.
7698 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
7699 * include/grub/env.h (grub_env_get): Likewise.
7700 (grub_env_read_hook_t): Return const char *.
7701 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
7702 (grub_script_argv_split_append): Likewise.
7703
7704 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7705
7706 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
7707
7708 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7709
7710 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
7711 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
7712
7713 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7714
7715 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
7716 Fix prototype.
7717
7718 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7719
7720 Fix mips compilation.
7721
7722 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
7723 normal decoder.
7724 (hashes): Use in embed decoder as well (for sizes).
7725 (dec_stream_header): Fix embed decompressor logic.
7726 (dec_stream_footer): Likewise.
7727
7728 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7729
7730 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
7731 an error and not a fatal on unrecognised relocation types.
7732
7733 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7734
7735 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
7736 Issue error rather than printf on unknown arguments.
7737
7738 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7739
7740 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
7741 Make buf a const.
7742
7743 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7744
7745 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
7746 Fix module name.
7747
7748 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7749
7750 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
7751 leftover debug printf.
7752
7753 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7754
7755 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
7756
7757 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7758
7759 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
7760 A stylistic fix.
7761
7762 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7763
7764 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
7765
7766 2011-11-10 Shea Levy <slevy@tieronedesign.com>
7767
7768 Allow all modules to perform serial IO
7769
7770 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
7771 * include/grub/serial.h (grub_serial_port_configure): New inline
7772 function.
7773 (grub_serial_port_fetch): Likewise.
7774 (grub_serial_port_put): Likewise.
7775 (grub_serial_port_fini): Likewise.
7776 (grub_serial_find): New proto.
7777
7778 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7779
7780 Put symlink at the end of the node and fix a potential
7781 memory corruption.
7782
7783 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
7784 Make symlink into an array.
7785 (set_rockridge): Set have_symlink and alloc_dirents.
7786 (grub_iso9660_read_symlink): Use new layout.
7787 (grub_iso9660_iterate_dir): Fix memory corruption.
7788 Use new layout.
7789 (grub_iso9660_dir): Set have_symlink.
7790 (grub_iso9660_open): Likewise.
7791
7792 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7793
7794 Remove local keyword.
7795
7796 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
7797 (version_test_gt): Likewise.
7798 (version_find_latest): Likewise.
7799 (gettext_printf): Likewise.
7800 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
7801
7802 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7803
7804 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
7805
7806 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7807
7808 Fix ZFS memory and resource leaks.
7809
7810 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
7811 All users updated.
7812 Free type on exit.
7813 (fill_vdev_info): New parameter inserted. All users updated.
7814 (check_pool_label): Likewise.
7815 (scan_disk): Likewise.
7816 (scan_devices): Close non-inserted disks.
7817 (fzap_iterate): Free l.
7818 (unmount_device): Free children descripto memory.
7819
7820 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7821
7822 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
7823 argument (access out of bounds).
7824
7825 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7826
7827 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
7828 >= 6 drives.
7829
7830 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7831
7832 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
7833 Fix declaration.
7834
7835 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
7836
7837 Fix several memory leaks.
7838
7839 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
7840 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
7841 (grub_cpio_dir): Likewise.
7842 * grub-core/fs/fat.c (grub_fat_label): Likewise.
7843 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
7844 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
7845 (grub_romfs_label): Likewise.
7846 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
7847 (squash_unmount): New function.
7848 (grub_squash_dir): Fix memory leak.
7849 (grub_squash_open): Likewise.
7850 (grub_squash_read): Likewise.
7851 (grub_squash_mtime): Likewise.
7852 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
7853 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
7854 * util/grub-fstest.c (fstest): Likewise.
7855
7856 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
7857
7858 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
7859 avoid accessing beyond the array.
7860
7861 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
7862
7863 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
7864
7865 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
7866
7867 Several AFFS fixes.
7868
7869 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
7870 (GRUB_AFFS_FLAG_FFS): Removed.
7871 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
7872 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
7873 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
7874 (grub_fshelp_node): Make block 32-bit.
7875 Add block_cache and last_block_cache.
7876 (grub_affs_read_block): Fill and use block cache.
7877 (grub_affs_read_file): Removed.
7878 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
7879 boot block.
7880 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
7881 safety.
7882 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
7883 space.
7884 (grub_affs_close): Free block cache.
7885 (grub_affs_read): Use grub_fshelp_read_file directly.
7886
7887 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7888
7889 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
7890 with no error set.
7891
7892 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7893
7894 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
7895 used variable.
7896 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
7897 Likewise.
7898
7899 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7900
7901 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
7902
7903 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
7904 byteswap when needed.
7905
7906 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7907
7908 Fix FreeBSD compilation.
7909
7910 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
7911 to avoid circular dependency.
7912 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
7913 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
7914 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
7915
7916 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7917
7918 Fix ZFS crypto error types.
7919
7920 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
7921 (grub_gcm_decrypt): Likewise.
7922 (grub_zfs_load_key_real): Fix error code type. Handle possible error
7923 from PBKDF2.
7924
7925 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7926
7927 Illumos support.
7928
7929 * Makefile.util.def (10_illumos): New script.
7930 * configure.ac: Set COND_HOST_ILLUMOS.
7931 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
7932 Support Illumos calls.
7933 (find_partition_start) [__sun__]: Likewise.
7934 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
7935 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
7936 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
7937 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
7938 device.
7939 * util/grub-probe.c (probe) [__sun__]: Do character check.
7940 * util/grub.d/10_illumos.in: New file.
7941
7942 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7943
7944 Support escaped commas in hostdisk.
7945
7946 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
7947 (find_grub_drive): Use unescape_cmp.
7948 (make_device_name): Escape commas.
7949
7950 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7951
7952 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
7953
7954 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7955
7956 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
7957 variable.
7958
7959 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7960
7961 Support trampoline jumps on powerpc.
7962
7963 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
7964 __ia64__ path.
7965 (grub_dl_load_segments): Set mod->sz.
7966 (grub_dl_flush_cache): Flush whole space occupied by module, not just
7967 segments.
7968 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
7969 (jump): Likewise.
7970 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
7971 function.
7972 (trampoline): New struct.
7973 (trampoline_template): New const.
7974 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
7975 * include/grub/dl.h (grub_dl): Add sz element.
7976 [__powerpc__]: Follow __ia64__.
7977 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
7978 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
7979 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
7980 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
7981
7982 2011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7983
7984 ZFS crypto support.
7985
7986 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
7987 * grub-core/Makefile.core.def (zfscrypt): New module.
7988 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
7989 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
7990 it. All users updated.
7991 (grub_zfs_decrypt): New var.
7992 (grub_zfs_load_key): Likewise.
7993 (zio_checksum_functions): Add SHA256+MAC.
7994 (zio_checksum_verify): Handle incomplete comparison due to MAC.
7995 (zio_read): Handle encrypted blocks.
7996 (zap_verify): Remove incorrect check.
7997 (fzap_iterate): Handle non-standard fzap.
7998 (zap_iterate): Likewise.
7999 (zap_iterate_u64): New function.
8000 (dnode_get_fullpath): Load keys.
8001 * grub-core/fs/zfs/zfscrypt.c: New file.
8002 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
8003 (grub_crypto_ecb_encrypt): Make input const.
8004 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
8005 (grub_crypto_ecb_encrypt): Make input const.
8006 (GRUB_CIPHER_AES): New macro.
8007 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
8008 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
8009 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
8010 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
8011 prefix. All users updated.
8012 (grub_zfs_add_key): New proto.
8013 (grub_zfs_decrypt): Likewise.
8014 (grub_zfs_load_key): Likewise.
8015 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
8016 * util/grub-fstest.c (options): Add -K option.
8017 (argp_parser): Likewise.
8018
8019 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
8020
8021 Support zle compression on ZFS.
8022
8023 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
8024 (decomp_table): Add zle.
8025 * include/grub/zfs/zio.h (zio_compress): Add zle.
8026
8027 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
8028
8029 Support BtrFS embedding.
8030
8031 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
8032 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
8033 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
8034 * util/grub-setup.c (setup): Use fs embedding if available.
8035 Add additional sanity check.
8036
8037 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
8038
8039 * util/grub-install.in: Fix condition for config_opt.
8040
8041 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8042
8043 Support third redundancy strip on raidz3.
8044
8045 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
8046 Return error on singularity. All users updated.
8047 (read_device): Don't stop on 3rd failure on raidz3.
8048
8049 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8050
8051 Support case-insensitive ZFS subvolumes.
8052
8053 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
8054 All users updated.
8055 (zap_hash): Likewise.
8056 (name_cmp): New function.
8057 (zap_leaf_array_equal): New parameter case_insensitive.
8058 All users updated.
8059 (zap_leaf_lookup): Likewise.
8060 (fzap_lookup): Likewise.
8061 (zap_lookup): Likewise.
8062 (dnode_get_path): New parameter case_insensitive. Retrieve case
8063 sensitiviness of a volume. All users updated.
8064 (dnode_get_fullpath): New parameter case_insensitive.
8065 All users updated.
8066 (grub_zfs_dir): Set info.case_insensitiveness.
8067
8068 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8069
8070 Support second redundancy strip on raidz(2,3).
8071
8072 * grub-core/fs/zfs/zfs.c (powx): New array.
8073 (powx_inv): Likewise.
8074 (poly): New const.
8075 (xor_out): New function.
8076 (gf_mul): Likewise.
8077 (recovery): Likewise.
8078 (read_device): Use second redundancy strip.
8079
8080 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8081
8082 Use a power of generator representation of GF(256) multiplication group
8083 to save space time and complexity.
8084
8085 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
8086 (raid6_table2): Likewise.
8087 (powx): New array.
8088 (powx_inv): Likewise.
8089 (poly): New const.
8090 (grub_raid_block_mul): Replace with ...
8091 (grub_raid_block_mulx): ...this.
8092 (grub_raid6_init_table): Rewritten.
8093 (grub_raid6_recover): Use power of generator representation.
8094
8095 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8096
8097 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
8098 for the right device.
8099
8100 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8101
8102 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
8103 expected by grub-mkimage and it's more clear since there is no implicit
8104 padding.
8105
8106 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8107
8108 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
8109 disk.
8110 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
8111
8112 2011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
8113
8114 * util/grub-mkrescue.in: Fix handling xorriso option.
8115
8116 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8117
8118 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
8119 NULL.
8120
8121 2011-11-03 crocket <crockabiscuit@gmail.com>
8122
8123 * util/grub.d/10_linux.in: Add Slackware initrd naming.
8124
8125 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8126
8127 XZ CRC64 and SHA256 support.
8128
8129 * Makefile.util.def (libgrubmods): Add crc64.c.
8130 * grub-core/Makefile.core.def (crc64): New module.
8131 * grub-core/lib/crc64.c: New file.
8132 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
8133 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
8134 Fix the type.
8135 (MAX_HASH_SIZE): New define.
8136 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
8137 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
8138 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
8139 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
8140 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
8141 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
8142 Handle non-crc32 hashes.
8143 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
8144 (dec_stream_header): Handle non-crc32 hashes.
8145 (dec_stream_footer): Likewise.
8146 (dec_block_header): Likewise.
8147 (dec_main): Likewise.
8148 (xz_dec_init): Likewise.
8149 (xz_dec_reset): Likewise.
8150 (xz_dec_end): Likewise.
8151 * util/import_gcry.py: Add CRC64 line.
8152
8153 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8154
8155 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
8156 as well.
8157
8158 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8159
8160 Make reiserfs label retrieval similar to other *_label functions.
8161
8162 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
8163 (REISERFS_MAX_LABEL_LENGTH): Removed.
8164 (REISERFS_LABEL_OFFSET): Likewise.
8165 (grub_reiserfs_label): Rewritten.
8166
8167 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8168
8169 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
8170 field.
8171
8172 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8173
8174 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
8175
8176 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
8177
8178 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
8179 drive failure on both raidz and raidz2.
8180
8181 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
8182
8183 Fix RAIDZ(2) for >= 5 devices.
8184
8185 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
8186 asize argument. All users updated.
8187
8188 2011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8189
8190 Fix RAIDZ(2).
8191
8192 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
8193 (fill_vdev_info_real): Set ashift.
8194 (read_device): Rewrite RAIDZ part based on reverse engineering.
8195
8196 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8197
8198 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
8199 don't report potentially unavialiable fields in debug output.
8200 (find_path): Fix double-free and memory leak.
8201
8202 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8203
8204 Read label on UFS1.
8205
8206 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
8207 (grub_ufs_fs): Always set .label.
8208
8209 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8210
8211 Use shifts in UFS.
8212
8213 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
8214 (grub_ufs_data): New field log2_blksz.
8215 (grub_ufs_read_file): Use shifts.
8216 (grub_ufs_mount): Check block size and logarithm it.
8217
8218 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8219
8220 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
8221 long symlinks.
8222
8223 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8224
8225 Handle symlinks and long names on tar and cpio.
8226
8227 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
8228 (ATTR_FILE): Likewise.
8229 (ATTR_DIR): Likewise.
8230 (ATTR_LNK): Likewise.
8231 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
8232 (grub_cpio_find_file): Fill mode, handle linkname field as well as
8233 L and K entries.
8234 (grub_cpio_mount): Zero-fill data.
8235 (handle_symlink): New function.
8236 (grub_cpio_dir): Handle symlinks.
8237 (grub_cpio_open): Likewise.
8238 (grub_cpio_close) [MODE_USTAR]: Free linkname.
8239
8240 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8241
8242 Fix iso9660 filename limitations and fix memory leaks.
8243
8244 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
8245 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
8246
8247 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8248
8249 Fix JFS file name length limitations.
8250
8251 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
8252 (grub_jfs_diropen): Fix maximum filename length.
8253 (grub_jfs_getent): Fix filename length.
8254 (grub_jfs_lookup_symlink): Fix size checks.
8255
8256 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8257
8258 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
8259 string.
8260
8261 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8262
8263 Leverage BFS implementation to read AFS.
8264
8265 * Makefile.util.def (libgrubmods): Add afs.c.
8266 * grub-core/Makefile.core.def (afs): New module
8267 * grub-core/fs/afs.c: New file.
8268 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
8269
8270 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8271
8272 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
8273
8274 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8275
8276 * grub-core/fs/bfs.c: Run indent.
8277
8278 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8279
8280 BFS implementation based on the specification.
8281
8282 * grub-core/fs/bfs.c: New file.
8283 * Makefile.util.def (libgrubmods): Add bfs.c.
8284 * grub-core/Makefile.core.def (bfs): New module.
8285
8286 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8287
8288 * util/grub-fstest.c (cmd_cp): Clarify error message.
8289 (cmd_cmp): Likewise.
8290
8291 2011-10-30 Yves Blusseau <blusseau@zetam.org>
8292
8293 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
8294 and befs_be.
8295
8296 2011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
8297
8298 Remove afs and befs because of copyright problem.
8299
8300 * grub-core/fs/afs.c: Removed.
8301 * grub-core/fs/afs_be.c: Removed.
8302 * grub-core/fs/befs.c: Removed.
8303 * grub-core/fs/befs_be.c: Removed.
8304 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
8305 * grub-core/Makefile.core.def (afs): Removed.
8306 (afs_be): Likewise.
8307 (befs): Likewise.
8308 (befs_be): Likewise.
8309
8310 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8311
8312 Prefer rockridge over Joliet.
8313
8314 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
8315 to ...
8316 (set_rockridge): ... here.
8317 (grub_iso9660_mount): Check rockridge on the primary label when
8318 discovering. Ignore Joliet if Rockridge is present.
8319
8320 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8321
8322 Use shifts in nilfs2.
8323
8324 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
8325 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
8326 (grub_nilfs2_palloc_entries_per_group): Replace with ...
8327 (grub_nilfs2_log_palloc_entries_per_group): ... this.
8328 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
8329 (grub_nilfs2_entries_per_block): Replaced with ...
8330 (grub_nilfs2_log_entries_per_block_log): ... this.
8331 (grub_nilfs2_blocks_per_group): Replaced with ...
8332 (grub_nilfs2_blocks_per_group_log): ... this.
8333 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
8334 (grub_nilfs2_blocks_per_desc_block_log): ... this.
8335 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
8336 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
8337 (grub_nilfs2_palloc_entry_offset): Replaced ...
8338 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
8339 (grub_nilfs2_dat_translate): Use shifts.
8340 (grub_nilfs2_read_inode): Likewise.
8341 (GRUB_MOD_INIT): Ensure that logs are correct.
8342
8343 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8344
8345 Use shifts in minix filesystem.
8346
8347 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
8348 (GRUB_MINIX_ZONE2SECT): Likewise.
8349 (grub_minix_data): Replace block_size with log_block_size.
8350 (grub_minix_read_file): Use shifts.
8351 (grub_minix_mount): Check block size and take a logarithm.
8352
8353 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8354
8355 Use shifts in squash4.
8356
8357 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
8358 (squash_mount): Check block size and take logarithm.
8359 (direct_read): Use shifts.
8360
8361 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8362
8363 Correct befs block counting logic.
8364
8365 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
8366 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
8367 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
8368 (grub_afs_read_inode): Use block_shift.
8369 (RANGE_SHIFT): New definition.
8370 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
8371 unexpected conditions, use shifts and appropriate types.
8372 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
8373
8374 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8375
8376 * grub-core/disk/raid.c (scan_devices): Check partition.
8377 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
8378
8379 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
8380
8381 Support BFS (befs) UUID.
8382
8383 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
8384 (grub_afs_small_data_element_header): New struct.
8385 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
8386 (grub_afs_read_attribute) [MODE_BFS]: New function.
8387 (grub_afs_iterate_dir): Allocate for complete inode.
8388 (grub_afs_mount): Likewise.
8389 (grub_afs_uuid) [MODE_BFS]: New function.
8390 (grub_afs_fs) [MODE_BFS]: Add .uuid.
8391
8392 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
8393
8394 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
8395 (zfs_unmount): Fix memory leak.
8396
8397 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8398
8399 Support NTFS reparse points.
8400
8401 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
8402 (symlink_descriptor): New struct.
8403 (grub_ntfs_read_symlink): New function.
8404 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
8405 (grub_ntfs_open): Likewise.
8406
8407 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8408
8409 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
8410
8411 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8412
8413 fstest xnu_uuid subcommand.
8414
8415 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
8416 grub-core/commands/xnu_uuid.c.
8417 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
8418 (fstest): Handle xnu_uuid.
8419 (options): Document xnu_uuid.
8420 (argp_parser): Parse xnu_uuid.
8421
8422 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8423
8424 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
8425 -l argument. Add newline at the end if printing.
8426 (GRUB_MOD_INIT): Document -l.
8427
8428 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8429
8430 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
8431
8432 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8433
8434 ZFS multi-device and version 33 support.
8435
8436 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
8437 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
8438 (grub_zfs_data): Add multidev-ice-related fields.
8439 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
8440 (dva_get_offset): Make dva const.
8441 (zfs_fetch_nvlist): New function.
8442 (fill_vdev_info_real): Likewise.
8443 (fill_vdev_info): Likewise.
8444 (check_pool_label): Likewise.
8445 (scan_disk): Likewise.
8446 (scan_devices): Likewise.
8447 (read_device): Likewise.
8448 (read_dva): Likewise.
8449 (zio_read_gang): Use read_dva.
8450 (zio_read_data): Likewise.
8451 (zap_leaf_lookup): Add missing endian conversion.
8452 (zap_verify): Add missing endian conversion. All users updated.
8453 (fzap_lookup): Likewise.
8454 (fzap_iterate): Likewise.
8455 (dnode_get_path): Handle SA bonus.
8456 (nvlist_find_value): Make input const. All users updated.
8457 (unmount_device): New function.
8458 (zfs_unmount): Use unmount_device.
8459 (zfs_mount): Use scan_disk.
8460 (zfs_mtime): New function.
8461 (grub_zfs_open): Handle system attributes.
8462 (fill_fs_info): Likewise.
8463 (grub_zfs_dir): Likewise.
8464 (grub_zfs_fs): Add mtime.
8465 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
8466 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
8467 (SA_MTIME_OFFSET): Likewise.
8468 (SA_SYMLINK_OFFSET): Likewise.
8469 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
8470 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
8471 (fstest): Support zfsinfo.
8472 (argp_parser): Likewise.
8473
8474 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8475
8476 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
8477 error.
8478
8479 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8480
8481 ZFS fixes.
8482
8483 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
8484 sharing the same block. Iterate over correct number of indices.
8485 (dnode_get_path): Handle symlinks correctly.
8486
8487 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8488
8489 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
8490
8491 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8492
8493 Read label on HFS+.
8494
8495 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
8496 (grub_hfsplus_btree_search): Fix types.
8497 (grub_hfsplus_label): Implement.
8498
8499 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8500
8501 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
8502
8503 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8504
8505 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
8506
8507 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8508
8509 Fix symlink handling on iso9660.
8510
8511 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
8512 All users updated.
8513 (grub_iso9660_susp_iterate): Accept zero-size iterate.
8514 (grub_iso9660_read_symlink): Moved most of code ...
8515 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
8516
8517 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8518
8519 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
8520 Use union to avoid breaking strict-aliasing rules.
8521
8522 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8523
8524 Support multi-extent iso files.
8525
8526 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
8527 Add node.
8528 (grub_fshelp_node): Revamp. All users updated.
8529 (FLAG_*): New enum.
8530 (read_node): New function.
8531 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
8532 All users updated.
8533 (grub_iso9660_mount): Don't attempt to read sua when there is none.
8534 (get_node_size): New function.
8535 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
8536 entries.
8537 Fix memory leak on . and ..
8538 (grub_iso9660_read): Use read_node.
8539 (grub_iso9660_close): Free node.
8540
8541 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8542
8543 Fix tar 4G limit and handle paths containing dot.
8544
8545 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
8546 (canonicalize): New function.
8547 (grub_cpio_find_file): Use canonicalize. Store offs in
8548 grub_disk_addr_t.
8549 (grub_cpio_dir): Use grub_disk_addr_t.
8550 (grub_cpio_open): Likewise.
8551
8552 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8553
8554 Fix handling of uncompressed blocks on squashfs and break 4G limit.
8555
8556 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
8557 unused flags.
8558 (grub_squash_inode): Add long_file and block_size.
8559 (grub_squash_cache_inode): New struct.
8560 (grub_squash_dirent): Make types into enum.
8561 (SQUASH_TYPE_LONG_REGULAR): New type.
8562 (grub_squash_frag_desc): Add field size.
8563 (SQUASH_BLOCK_FLAGS): New enum.
8564 (grub_squash_data): Use grub_squash_cache_inode.
8565 (grub_fshelp_node): Make ino_chunk 64-bit.
8566 (read_chunk): Minor argument change. All users updated.
8567 (squash_mount): Use correct le_to_cpu.
8568 (grub_squash_open): Handle LONG_REGULAR.
8569 (direct_read): New function.
8570 (grub_squash_read_data): Handle blocks correctly.
8571
8572 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8573
8574 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
8575
8576 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8577
8578 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
8579
8580 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
8581
8582 Fix 2G limit on ZFS.
8583
8584 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
8585 types.
8586 (uberblock_verify): Likewise.
8587 (dmu_read): Likewise.
8588 (grub_zfs_read): Likewise. Remove invalid cast.
8589
8590 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
8591
8592 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
8593 (grub_jfs_blkno): Fix incorrect shift.
8594 (grub_jfs_read_file): Use more appropriate types.
8595
8596 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
8597
8598 Support triple indirect on minix2 and minix3.
8599
8600 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
8601 Declare triple_indir_zone.
8602 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
8603 indirect.
8604
8605 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
8606
8607 Minix FS fixes.
8608
8609 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
8610 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
8611 Rename ctime to mtime. All users updated.
8612 (grub_minix_get_file_block): Fix types and double indirect computations.
8613
8614 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8615
8616 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
8617 if no label is found.
8618 (grub_fat_iterate_dir): Fix file size type.
8619 (grub_fat_iterate_dir): Likewise.
8620
8621 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8622
8623 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
8624 save some space.
8625 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
8626 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
8627
8628 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8629
8630 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
8631
8632 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8633
8634 * util/import_gcry.py: Accept space between # and include.
8635
8636 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8637
8638 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
8639
8640 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8641
8642 Fine grainely disable warnings on lexer. Remove Wno-error on it.
8643
8644 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
8645 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
8646 yylex_strncpy.
8647 * grub-core/script/yylex.l: Add fine-grained #pragma.
8648
8649 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8650
8651 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
8652 New inline function.
8653 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
8654 Likewise.
8655 (memset) [GRUB_UTIL]: Likewise.
8656 (memcmp) [GRUB_UTIL]: Likewise.
8657
8658 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8659
8660 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
8661 inline function rather than a define.
8662
8663 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8664
8665 * util/grub-setup.c: Add missing include.
8666
8667 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8668
8669 * util/ieee1275/grub-ofpathname.c: Add missing include.
8670
8671 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8672
8673 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
8674 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
8675 Likewise.
8676
8677 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8678
8679 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
8680 grub_memcmp usage.
8681
8682 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8683
8684 * util/grub-install.in: Add datarootdir as per automake manual
8685 suggestion.
8686 * util/grub-mknetdir.in: Likewise.
8687
8688 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8689
8690 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
8691 suggestion.
8692 * util/grub.d/10_kfreebsd.in: Likewise.
8693 * util/grub.d/10_linux.in: Likewise.
8694 * util/grub.d/10_netbsd.in: Likewise.
8695 * util/grub.d/10_windows.in: Likewise.
8696 * util/grub.d/20_linux_xen.in: Likewise.
8697
8698 2011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
8699
8700 Remove redundant grub_kernel_image_size.
8701
8702 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
8703 _edata and _start.
8704 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
8705 the small code. It moves it only by few bytes but simplifies the code.
8706 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
8707 _start.
8708 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
8709 (grub_kernel_image_size): Removed.
8710 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
8711 (grub_kernel_image_size): Removed.
8712 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
8713 compiled with Apple toolchain.
8714 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
8715 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
8716 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
8717 (grub_total_module_size): Likewise.
8718 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
8719 Removed.
8720 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
8721 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
8722 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
8723 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
8724 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
8725 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
8726 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
8727 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
8728 Removed.
8729 (grub_total_module_size): Removed.
8730 * util/grub-mkimage.c (image_target_desc): Remove image_size.
8731 (image_targets): Likewise.
8732 Set .compressed_size to no field on sparc.
8733 (generate_image): Remove kernel_image_size handling.
8734
8735 2011-10-19 Szymon Janc <szymon@janc.net.pl>
8736
8737 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
8738 NULL pointer dereference.
8739
8740 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
8741
8742 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
8743 done with a dedicated section.
8744
8745 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
8746 Ensure the correct position of boot_path.
8747 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
8748 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
8749 other fields.
8750 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
8751 * include/grub/boot.h: Removed. All references removed.
8752 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
8753 Removed.
8754 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
8755
8756 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
8757
8758 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
8759 name.
8760
8761 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
8762
8763 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
8764
8765 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
8766
8767 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
8768 Don't add the bogus brackets.
8769
8770 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
8771
8772 ExFAT support.
8773
8774 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
8775 * grub-core/Makefile.core.def (exfat): New module.
8776 * grub-core/fs/exfat.c: New file.
8777 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
8778 (GRUB_FAT_ATTR_*): Make into an enum.
8779 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
8780 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
8781 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
8782 (GRUB_FAT_MAXFILE): Removed.
8783 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
8784 (grub_current_fat_bpb_t): New type.
8785 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
8786 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
8787 (grub_fat_dir_node_t): New type.
8788 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
8789 (fat_log2) [MODE_EXFAT]: Removed.
8790 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
8791 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
8792 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
8793 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
8794 (grub_fat_label) [MODE_EXFAT]: New function.
8795 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
8796 reserved_first_sector to 0.
8797
8798 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
8799
8800 Move grub_reboot out of the kernel.
8801
8802 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
8803 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
8804 * grub-core/lib/efi/reboot.c: ... here.
8805 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
8806 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
8807 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
8808 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
8809 * grub-core/lib/i386/reboot_trampoline.S: ... here.
8810 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
8811 * grub-core/lib/ieee1275/reboot.c: ... here.
8812 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
8813 * grub-core/lib/mips/arc/reboot.c: ... here.
8814 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
8815 * grub-core/lib/mips/loongson/reboot.c: ...here.
8816 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
8817 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
8818 * include/grub/emu/misc.h (grub_reboot): New function declaration.
8819 * include/grub/i386/reboot.h: New file.
8820 * include/grub/mips/loongson/ec.h: Fix includes.
8821 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
8822 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
8823 * grub-core/lib/i386/reboot.c: New file.
8824
8825 2011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
8826
8827 Make grub_prefix into module to fix the arbitrary limit and save
8828 some space.
8829
8830 * grub-core/kern/emu/main.c (grub_prefix): Removed.
8831 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
8832 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
8833 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
8834 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
8835 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
8836 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
8837 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
8838 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
8839 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
8840 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
8841 * include/grub/ia64/efi/kernel.h: Removed.
8842 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
8843 (grub_prefix): Removed.
8844 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
8845 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
8846 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
8847 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
8848 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
8849 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
8850 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
8851 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
8852 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
8853 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
8854 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
8855 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
8856 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
8857 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
8858 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
8859 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
8860 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
8861 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
8862 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
8863 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
8864 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
8865 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
8866 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
8867 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
8868 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
8869 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
8870 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
8871 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
8872 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
8873 from module.
8874 * util/grub-mkimage.c (image_target_desc): Removed prefix and
8875 prefix_end.
8876 (image_targets): Likewise.
8877 (generate_image): Put prefix as a module.
8878
8879 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8880
8881 Replace grub_module_iterate with FOR_MODULES.
8882
8883 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
8884 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
8885 (grub_efi_modules_addr): ...this.
8886 * grub-core/kern/efi/init.c (grub_modbase): New variable.
8887 (grub_efi_init): Set grub_modbase.
8888 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
8889 (grub_modbase): New variable.
8890 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
8891 (grub_modbase): New variable.
8892 (grub_machine_init): Set grub_modbase.
8893 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
8894 (grub_modbase): New variable.
8895 (grub_machine_init): Set grub_modbase.
8896 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
8897 (grub_modbase): New variable.
8898 (grub_machine_init): Set grub_modbase.
8899 * grub-core/kern/main.c (grub_module_iterate): Remove.
8900 (grub_modules_get_end): Use grub_modbase.
8901 (grub_load_modules): Use FOR_MODULES.
8902 (grub_load_config): Likewise.
8903 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
8904 (grub_modbase): New variable.
8905 (grub_machine_init): Set grub_modbase.
8906 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
8907 (grub_modbase): New variable.
8908 (grub_machine_init): Set grub_modbase.
8909 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
8910 Removed.
8911 (grub_modbase): New variable.
8912 (grub_machine_init): Set grub_modbase.
8913 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
8914 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
8915 (grub_module_iterate): Likewise.
8916 (grub_modbase): New variable declaration.
8917 (FOR_MODULES): New macro.
8918
8919 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8920
8921 * configure.ac: Check for __ctzdi2 and __ctzsi2.
8922 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
8923
8924 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8925
8926 Fix few obvious type discrepancies.
8927
8928 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
8929 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
8930 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
8931 variable.
8932 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
8933 and connected types.
8934 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
8935 offset.
8936 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
8937 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
8938 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
8939 and connected types.
8940
8941 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8942
8943 Fix python 3.x incompatibilities.
8944
8945 * gentpl.py: Put brackets around print strings.
8946 * util/import_gcry.py: Open explicitly as utf-8.
8947 Use in instead of has_key.
8948
8949 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8950
8951 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
8952 (GRUB_XFS_INO_AGBITS): Make into inline function.
8953 (GRUB_XFS_INO_INOINAG): Likewise.
8954 (GRUB_XFS_INO_AG): Likewise.
8955 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
8956 (GRUB_XFS_EXTENT_OFFSET): Likewise.
8957 (GRUB_XFS_EXTENT_BLOCK): Likewise.
8958 (GRUB_XFS_EXTENT_SIZE): Likewise.
8959 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
8960 (GRUB_XFS_NEXT_DIRENT): Likewise.
8961 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
8962 (grub_xfs_read_file): Fix offset type.
8963
8964 2011-10-15 Robert Millan <rmh@gnu.org>
8965
8966 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
8967
8968 2011-10-15 Robert Millan <rmh@gnu.org>
8969
8970 Fix build problem on FreeBSD and GNU/kFreeBSD.
8971
8972 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
8973
8974 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
8975
8976 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
8977
8978 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
8979 types.
8980 (grub_hfsplus_btree_recoffset): Likewise.
8981 (grub_hfsplus_btree_recptr): Likewise.
8982 (grub_hfsplus_find_block): Likewise.
8983 (grub_hfsplus_btree_search): Likewise.
8984 (grub_hfsplus_read_block): Likewise.
8985 (grub_hfsplus_read_file): Likewise.
8986 (grub_hfsplus_mount): Likewise.
8987 (grub_hfsplus_btree_iterate_node): Likewise.
8988 (grub_hfsplus_btree_search): Likewise.
8989 (grub_hfsplus_iterate_dir): Likewise.
8990 (grub_hfsplus_read): A small code simplification.
8991
8992 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
8993
8994 * grub-core/kern/emu/hostdisk.c
8995 (convert_system_partition_to_system_disk): Don't assume that children
8996 of mapper nodes are mapper nodes.
8997
8998 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
8999
9000 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
9001 * include/grub/misc.h (grub_isxdigit): New function.
9002 * grub-core/video/colors.c (my_isxdigit): Removed. All users
9003 switched to grub_isxdigit.
9004 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
9005 number starting with a letter.
9006
9007 2011-10-09 Robert Millan <rmh@gnu.org>
9008
9009 LVM support for FreeBSD and GNU/kFreeBSD.
9010
9011 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
9012 GNU/kFreeBSD.
9013 (LVM_DEV_MAPPER_STRING): Move from here ...
9014 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
9015 * util/getroot.c: Include `<grub/util/lvm.h>'.
9016 (grub_util_get_dev_abstraction): Enable
9017 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
9018 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
9019 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
9020 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
9021 support it.
9022 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
9023 GNU/kFreeBSD.
9024 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
9025 when LVM abstraction is required for ${GRUB_DEVICE}.
9026
9027 2011-10-06 Szymon Janc <szymon@janc.net.pl>
9028
9029 Add support for LZO compression in GRUB:
9030 - import of minilzo library,
9031 - LZO decompression for btrfs,
9032 - lzop files decompression.
9033
9034 * grub-core/io/lzopio.c: New file.
9035 * grub-core/lib/adler32.c: Likewise.
9036 * grub-core/lib/minilzo/lzoconf.h: Likewise.
9037 * grub-core/lib/minilzo/lzodefs.h: Likewise.
9038 * grub-core/lib/minilzo/minilzo.c: Likewise.
9039 * grub-core/lib/minilzo/minilzo.h: Likewise.
9040 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
9041 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
9042 grub-core/lib/minilzo/minilzo.c to common.
9043 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
9044 cflags in cppflags.
9045 * grub-core/Makefile.core.def (btrfs): Likewise.
9046 * grub-core/Makefile.core.def (lzopio): New module.
9047 (adler32): Likewise.
9048 * grub-core/fs/btrfs.c: Include minilzo.h.
9049 (GRUB_BTRFS_COMPRESSION_LZO): New define.
9050 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
9051 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
9052 (grub_btrfs_lzo_decompress): New function.
9053 (grub_btrfs_extent_read): Add support for LZO compression type.
9054 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
9055 (GRUB_USHRT_MAX): Likewise.
9056 (GRUB_UINT_MAX): Likewise.
9057 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
9058 (UINT_MAX): Likewise.
9059 (CHAR_BIT): Likewise.
9060 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
9061 grub-core/lib/posix_wrap/limits.h
9062 (UCHAR_MAX): Likewise.
9063 * include/grub/file.h (grub_file_filter_id): New compression filter
9064 GRUB_FILE_FILTER_LZOPIO.
9065 * include/grub/file.h (grub_file_filter_id): Set
9066 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
9067 * include/grub/types.h (grub_get_unaligned16): New function.
9068 (grub_get_unaligned32): Likewise.
9069 (grub_get_unaligned64): Likewise.
9070 * util/import_gcry.py (cryptolist): Add adler32.
9071
9072 2011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
9073
9074 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
9075 in perspective decreases the complexity of build system and fixes
9076 compilation right now.
9077
9078 2011-10-01 Ales Nesrsta <starous@volny.cz>
9079
9080 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
9081 (fixed problem related to using UHCI with coreboot).
9082
9083 2011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
9084
9085 * gentpl.py: Use Autogen macros so that the output template file
9086 (Makefile.tpl) size is reduced.
9087
9088 2011-09-29 Mads Kiilerich <mads@kiilerich.com>
9089
9090 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
9091 extra_dist.
9092
9093 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
9094
9095 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
9096 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
9097
9098 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
9099
9100 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
9101 _fullpath.
9102
9103 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
9104
9105 Remove extra declaration of sleep for mingw32.
9106
9107 * util/misc.c (sleep) [__MINGW32__]: Removed.
9108 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
9109
9110 2011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
9111
9112 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
9113 type and packname.
9114 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
9115 Resurrected.
9116 (NETBSD_BTINFO_BOOTWEDGE): New definition.
9117 (grub_netbsd_btinfo_bootwedge): New struct.
9118 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
9119 New function.
9120 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
9121
9122 2011-09-28 Thomas Haller <thomas.haller@fen-net.de>
9123
9124 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
9125 loader.
9126
9127 2011-09-28 Andreas Born <futur.andy@googlemail.com>
9128
9129 Fix incorrect identifiers in bash-completion.
9130
9131 * util/bash-completion.d/grub-completion.bash.in
9132 (_grub_mkpasswd-pbkdf2): Rename to ...
9133 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
9134 (_grub_script-check): Rename to ...
9135 (_grub_script_check): ... this. All users updated.
9136
9137 2011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
9138
9139 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
9140 Return 0 if disk isn't biosdisk.
9141
9142 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
9143
9144 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
9145 on NetBSD.
9146 * Makefile.util.def (grub-fstest): Likewise.
9147
9148 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
9149
9150 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
9151 Get sector size from disk label.
9152
9153 2011-09-05 Colin Watson <cjwatson@ubuntu.com>
9154
9155 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
9156 */README* as well as README*.
9157 Reported by: Axel Beckert.
9158
9159 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9160
9161 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
9162 case of less than 256 MiB of RAM.
9163
9164 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9165
9166 * grub-core/commands/wildcard.c (make_regex): Handle @.
9167
9168 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9169
9170 * util/grub-install.in: Move cryptodisk logic to appropriate place.
9171
9172 2011-08-21 Szymon Janc <szymon@janc.net.pl>
9173
9174 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
9175 AC_LANG_CONFTEST macros.
9176
9177 2011-08-20 Szymon Janc <szymon@janc.net.pl>
9178
9179 Add grub-fstest option to uncompress data for commands.
9180
9181 * util/grub-fstest.c (uncompress): New var.
9182 (options): New option -u.
9183
9184 2011-08-20 Szymon Janc <szymon@janc.net.pl>
9185
9186 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
9187 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
9188
9189 2011-08-20 Szymon Janc <szymon@janc.net.pl>
9190
9191 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
9192 file type was not recognized correctly (not gzip or corrupted).
9193
9194 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9195
9196 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
9197 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
9198
9199 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9200
9201 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
9202 loongson.
9203 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
9204 video_radeon_fuloong2e.
9205 * grub-core/video/radeon_fuloong2e.c: New file.
9206 * include/grub/video.h (grub_video_id_t): Add new ID
9207 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
9208
9209 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9210
9211 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
9212 define.
9213 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
9214 that PRID matches the detected subplatform and reset the subplatform
9215 if it doesn't.
9216
9217 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9218
9219 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
9220
9221 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9222
9223 Fix PCI iterating on functions >= 4.
9224
9225 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
9226 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
9227 Removed.
9228 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
9229 (grub_pci_read): Fix bitmask.
9230 (grub_pci_read_word): Likewise.
9231 (grub_pci_read_byte): Likewise.
9232 (grub_pci_write): Likewise.
9233 (grub_pci_write_word): Likewise.
9234 (grub_pci_write_byte): Likewise.
9235
9236 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9237
9238 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
9239 can still be specified in TARGET_CFLAGS)
9240
9241 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9242
9243 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
9244
9245 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
9246 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
9247 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
9248 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
9249 (FULOONG): Rename to ...
9250 (FULOONG2F): ... this. All users updated.
9251 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
9252 (machtype_fuloong2f_str): ... this.
9253 (machtype_fuloong2e_str): New string.
9254 Check for machtype_fuloong2e_str.
9255 * grub-core/loader/mips/linux.c (loongson_machtypes)
9256 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
9257 * grub-core/term/serial.c (loongson_defserial)
9258 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
9259 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
9260 loongson_defserial.
9261 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
9262 Rename to ...
9263 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
9264 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
9265 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
9266 to IMAGE_FULOONG2F_FLASH. All users updated.
9267 (image_targets): Rename images.
9268 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
9269
9270 2011-08-19 Szymon Janc <szymon@janc.net.pl>
9271
9272 Make enable of disk cache statistics code configurable.
9273
9274 * configure.ac: --enable-cache-stats added.
9275 * config.h.in (DISK_CACHE_STATS): New define.
9276 * grub-core/Makefile.core.def (cacheinfo): New command.
9277 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
9278 * grub-core/commands/cacheinfo.c: New file.
9279 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
9280 moved to cacheinfo.c.
9281 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
9282 debug code.
9283 * include/grub/disk.h: Likewise.
9284
9285 2011-08-19 Szymon Janc <szymon@janc.net.pl>
9286
9287 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
9288 * grub-core/Makefile.am: Likewise.
9289
9290 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9291
9292 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
9293 non-zero pull.
9294
9295 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9296
9297 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
9298 All users updated.
9299 (grub_jfs_lookup_symlink): Use correct starting inode.
9300
9301 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9302
9303 * util/grub-setup.c (main): Add missing gcry initialisation.
9304
9305 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9306
9307 Don't accept text modes on EFI when booting Linux.
9308
9309 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
9310 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
9311
9312 2011-08-15 Mario Limonciello <mario_limonciello@dell.com>
9313 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
9314
9315 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
9316 use of "/path/.." as in grub-install for EFI as well as handling
9317 symlinks correctly.
9318 Fixes Debian bug #637768.
9319
9320 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
9321
9322 * util/grub-probe.c: Remove duplicate #include.
9323
9324 2011-08-10 Robert Millan <rmh@gnu.org>
9325
9326 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
9327
9328 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
9329 function.
9330 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
9331 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
9332
9333 2011-08-03 Robert Millan <rmh@gnu.org>
9334
9335 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
9336 la_array as packed.
9337 Reported by: Zachary Bedell
9338
9339 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
9340
9341 * configure.ac: The Loongson port requires grub-mkfont due to its
9342 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
9343 be built.
9344
9345 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
9346
9347 * util/grub-install.in: Don't source grub-mkconfig_lib until after
9348 processing arguments (otherwise help2man fails when GRUB has not yet
9349 been installed).
9350
9351 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9352
9353 New script grub-mkstandalone.
9354
9355 * Makefile.util.def (grub-mkstandalone): New script.
9356 * docs/man/grub-mkstandalone.h2m: New file.
9357 * util/grub-mkstandalone.in: Likewise.
9358
9359 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9360
9361 Support ATA disks with 4K sectors.
9362
9363 * include/grub/ata.h (grub_ata): New member log_sector_size.
9364 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
9365 (grub_ata_identify): Read sector size.
9366 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
9367
9368 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9369
9370 * util/grub-install.in: Don't use uhci outside of x86.
9371
9372 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9373
9374 * util/grub-mkrescue.in: Add missing quotes.
9375
9376 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9377
9378 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
9379 dereference.
9380
9381 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9382
9383 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
9384
9385 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9386
9387 * include/grub/video.h: add missing EXPORT_FUND on
9388 grub_video_edid_checksum and grub_video_edid_preferred_mode.
9389
9390 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9391
9392 * include/grub/mips/kernel.h: Fix define conflict.
9393
9394 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9395
9396 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
9397 all four ways.
9398
9399 2011-07-21 Colin Watson <cjwatson@ubuntu.com>
9400
9401 Preferred resolution detection for VBE.
9402
9403 * grub-core/video/video.c (grub_video_edid_checksum): New function.
9404 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
9405 the Flat Panel extension, in line with the X.org VESA driver.
9406 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
9407 New function.
9408 (grub_vbe_bios_get_ddc_capabilities): Likewise.
9409 (grub_vbe_bios_read_edid): Likewise.
9410 (grub_vbe_get_preferred_mode): Likewise.
9411 (grub_video_vbe_setup): When the mode is "auto", try to get the
9412 preferred mode from VBE, and use the largest mode that is no larger
9413 than the preferred mode (some BIOSes expose a preferred mode that is
9414 not in their mode list!). If this fails, fall back to 640x480 as a
9415 safe conservative choice.
9416 (grub_video_vbe_get_edid): New function.
9417 (grub_video_vbe_adapter): Add get_edid.
9418 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
9419 (struct grub_video_adapter): Add get_edid.
9420 (grub_video_edid_checksum): Add prototype.
9421 (grub_video_edid_preferred_mode): Likewise.
9422 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
9423 structure.
9424
9425 * grub-core/commands/videoinfo.c (print_edid): New function.
9426 (grub_cmd_videoinfo): Print EDID if available.
9427
9428 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
9429 is more appropriate on a wider range of platforms than 640x480.
9430 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
9431 documentation.
9432
9433 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9434
9435 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
9436
9437 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9438
9439 * po/POTFILES.in: Regenerate.
9440
9441 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9442
9443 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
9444 incorrect memory usage.
9445
9446 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9447
9448 * util/grub-install.in: Source grub-mkconfig_lib.
9449
9450 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
9451
9452 Remove getroot.c from core on emu platform.
9453
9454 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
9455 kern/emu/raid.c.
9456 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
9457 useless.
9458 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
9459 * util/getroot.c (get_win32_path): ... here.
9460 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
9461 * util/getroot.c (fini_libzfs): ... here.
9462 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
9463 * util/getroot.c (grub_get_libzfs_handle): ... here.
9464 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
9465 Moved from here...
9466 * util/getroot.c (grub_find_zpool_from_dir): ... here.
9467 * grub-core/kern/emu/misc.c
9468 (grub_make_system_path_relative_to_its_root): Moved from here...
9469 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
9470 * grub-core/kern/emu/getroot.c: Moved from here ...
9471 * util/getroot.c: ... here. All users updated.
9472 * grub-core/kern/emu/raid.c: Moved from here ...
9473 * util/raid.c: ... here. All users updated.
9474
9475 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
9476
9477 * po/POTFILES.in: Regenerate.
9478
9479 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
9480
9481 Fix compilation on GNU/Linux.
9482
9483 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
9484 Disable geli.
9485 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
9486 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
9487 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
9488
9489 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
9490 2011-07-07 Michael Gorven <michael@gorven.za.net>
9491 2011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
9492
9493 LUKS and GELI support.
9494
9495 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
9496 grub-core/disk/luks.c, grub-core/disk/geli.c,
9497 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
9498 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
9499 grub-core/lib/arg.c.
9500 (libgrubmods.a): Remove gcrypts cflags and cppflags.
9501 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
9502 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
9503 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
9504 (grub-bin2h): Add libgcry.a.
9505 (grub-mkimage): Likewise.
9506 (grub-mkrelpath): Likewise.
9507 (grub-script-check): Likewise.
9508 (grub-editenv): Likewise.
9509 (grub-mkpasswd-pbkdf2): Likewise.
9510 (grub-pe2elf): Likewise.
9511 (grub-fstest): Likewise.
9512 (grub-mkfont): Likewise.
9513 (grub-mkdevicemap): Likewise.
9514 (grub-probe): Likewise.
9515 (grub-ofpath): Likewise.
9516 (grub-mklayout): Likewise.
9517 (example_unit_test): Likewise.
9518 (grub-menulst2cfg): Likewise.
9519 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
9520 * grub-core/Makefile.core.def (cryptodisk): New module.
9521 (luks): Likewise.
9522 (geli): Likewise.
9523 * grub-core/disk/AFSplitter.c: New file.
9524 * grub-core/disk/cryptodisk.c: Likewise.
9525 * grub-core/disk/geli.c: Likewise.
9526 * grub-core/disk/luks.c: Likewise.
9527 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
9528 grub_util_is_lvm.
9529 (grub_util_get_dm_abstraction): New function.
9530 (grub_util_follow_gpart_up): Likewise.
9531 (grub_util_get_geom_abstraction): Likewise.
9532 (grub_util_get_dev_abstraction): Use new functions.
9533 (grub_util_pull_device): Pull GELI and LUKS.
9534 (grub_util_get_grub_dev): Handle LUKS and GELI.
9535 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
9536 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
9537 (follow_geom_up): Removed.
9538 (grub_util_fd_seek): New function.
9539 (open_device): Use grub_util_fd_seek.
9540 (nread): Rename to ..
9541 (grub_util_fd_read): ... this. All users updated.
9542 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
9543 (grub_crypto_cbc_decrypt): Likewise.
9544 (grub_crypto_hmac_write): Likewise.
9545 (grub_crypto_hmac_buffer): Likewise.
9546 (grub_password_get): Extend to util.
9547 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
9548 New member modname.
9549 (gcry_md_spec) [GRUB_UTIL]: Likewise.
9550 * include/grub/cryptodisk.h: New file.
9551 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
9552 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
9553 LUKS and GELI.
9554 (grub_util_follow_gpart_up): New proto.
9555 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
9556 (grub_util_fd_read): Likewise.
9557 (grub_cryptodisk_cheat_mount): Likewise.
9558 (grub_util_cryptodisk_print_uuid): Likewise.
9559 (grub_util_get_fd_sectors): Likewise.
9560 * util/grub-fstest.c (mount_crypt): New var.
9561 (fstest): Mount crypto if requested.
9562 (options): New option -C.
9563 (argp_parser): Parse -C.
9564 (main): Init and fini gcry.
9565 * util/grub-install.in: Support cryptodisk install.
9566 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
9567 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
9568 cryptodisk.
9569 (prepare_grub_to_access_device): Likewise.
9570 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
9571 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
9572 (probe_cryptodisk_uuid): New function.
9573 (probe_abstraction): Likewise.
9574 (probe): Use new functions.
9575 * util/import_gcry.py: Create Makefile.utilgcry.def.
9576 Add modname member.
9577
9578 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
9579
9580 Lazy device scanning.
9581
9582 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
9583 (grub-setup): Remove util/raid.c.
9584 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
9585 * grub-core/disk/lvm.c (scan_depth): New variable.
9586 (grub_lvm_iterate): Rescan if necessary.
9587 (find_lv): New function based on grub_lvm_open.
9588 (grub_lvm_open): Use find_lv. Rescan on error.
9589 (is_node_readable): New function.
9590 (is_lv_readable): Likewise.
9591 (grub_lvm_scan_device): Skip already found disks.
9592 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
9593 Stop if searched device is found and readable.
9594 * grub-core/disk/raid.c (inscnt): New variable.
9595 (scan_depth): Likewise.
9596 (scan_devices): New function based on grub_raid_register. Abort if
9597 looked for device is found.
9598 (grub_raid_iterate): Rescan if needed.
9599 (find_array): NEw function based on -grub_raid_open.
9600 (grub_raid_open): Use find_array and rescan.
9601 (insert_array): Set became_readable_at.
9602 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
9603 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
9604 New function.
9605 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
9606 (grub_util_pull_device): New function.
9607 (grub_util_get_grub_dev): Call grub_util_pull_device.
9608 * util/raid.c: Moved to ..
9609 * grub-core/kern/emu/raid.c: ... here.
9610 (grub_util_raid_getmembers): New parameter "bootable".
9611 All users updated. Support 1.x.
9612 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
9613 All users updated.
9614 * include/grub/disk.h (grub_disk_pull_t): New enum.
9615 (grub_disk_dev): Change iterate prototype.
9616 All users updated.
9617 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
9618 New proto.
9619 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
9620 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
9621 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
9622 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
9623 All users updated.
9624 * include/grub/util/raid.h: Removed.
9625
9626 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
9627
9628 * po/POTFILES.in: Regenerate.
9629
9630 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
9631
9632 Unify sparc init with other ieee1275.
9633
9634 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
9635 instead of kern/sparc64/ieee1275/init.c.
9636 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
9637 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
9638 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
9639 grub/machine/kernel.h.
9640 (grub_ieee1275_original_stack) [__sparc__]: New variable.
9641 (grub_claim_heap) [__sparc__]: Use sparc version.
9642 (grub_machine_init): Moved args parsing to
9643 (grub_parse_cmdline): ...this.
9644 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
9645 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
9646 New definition.
9647 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
9648
9649 Move BOOTP to separate file.
9650
9651 * grub-core/Makefile.core.def (net): Add net/bootp.c.
9652 * grub-core/net/net.c: Move all BOOTP functions to
9653 * grub-core/net/bootp.c: ... here.
9654
9655 Use frame interface on PXE.
9656
9657 * grub-core/Makefile.core.def (pxecmd): Removed.
9658 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
9659 * grub-core/commands/i386/pc/pxecmd.c: Removed.
9660 * grub-core/i386/pc/pxe.c: Moved from here ...
9661 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
9662 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
9663 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
9664
9665 EFI network support.
9666
9667 * grub-core/Makefile.core.def (efinet): New module.
9668 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
9669 here...
9670 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
9671 All users updated.
9672 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
9673 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
9674 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
9675 * grub-core/net/drivers/efi/efinet.c: New file.
9676 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
9677 (grub_efi_net_config): New extern var.
9678
9679 Various cleanups and bugfixes.
9680
9681 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
9682 error.
9683 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
9684 disk declared as partition.
9685 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
9686 leak on failure.
9687 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
9688 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
9689 (grub_debug_zalloc): Likewise.
9690 (grub_debug_realloc): Likewise.
9691 (grub_debug_memalign): Likewise.
9692 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
9693 Check that target is IPv4.
9694 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
9695 local-mac-address as fallback.
9696 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
9697 memory leak.
9698 * grub-core/net/ip.c (ipchksum): Rename to ...
9699 (grub_net_ip_chksum): ... this. All users updated.
9700 (grub_net_recv_ip_packets): Special handling for DHCP.
9701 * util/grub-mkimage.c (generate_image): Zero-out aout header.
9702
9703 Unify prefix handling
9704
9705 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
9706 (grub_machine_get_bootlocation): ... this.
9707 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
9708 (grub_machine_get_bootlocation): ... this.
9709 (grub_prefix): New variable.
9710 (prefix): Removed.
9711 (root_dev): New variable.
9712 (dir): Likewise.
9713 (main): Use new variables.
9714 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
9715 Revamped into ...
9716 (grub_machine_get_bootlocation): ... this.
9717 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
9718 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
9719 (grub_machine_get_bootlocation): ... this.
9720 (grub_machine_set_prefix): Removed.
9721 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
9722 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
9723 Revamped into ...
9724 (grub_machine_get_bootlocation): ... this.
9725 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
9726 (grub_set_prefix_and_root): ... this. All users updated.
9727 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
9728 Revamped into ...
9729 (grub_machine_get_bootlocation): ... this.
9730 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
9731 (grub_machine_get_bootlocation): New proto.
9732 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
9733
9734 Less intrusive and more reliable seek on network implementation.
9735
9736 * grub-core/kern/file.c (grub_file_net_seek): Removed.
9737 (grub_file_seek): Don't call grub_file_net_seek.
9738 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
9739 (grub_net_fs_read_real): .. this.
9740 (grub_net_seek_real): Use net->offset.
9741 (grub_net_fs_read): Seek if necessary.
9742
9743 Unify IEEE1275 netwotk config with the other platforms.
9744
9745 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
9746 New variable.
9747 (grub_machine_get_bootlocation): Support network.
9748 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
9749 Support type and device parsing.
9750 (grub_ieee1275_get_device_type): New function.
9751 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
9752 into ...
9753 (grub_ieee1275_net_config_real): ... this.
9754 (grub_ofnet_probecards): Removed.
9755 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
9756 * include/grub/ieee1275/ofnet.h: Removed.
9757 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
9758 extern var.
9759 (grub_ieee1275_get_device_type): New function.
9760
9761 Unify network device closing across platforms and make more robust.
9762
9763 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
9764 grub_grubnet_fini.
9765 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
9766 already.
9767 * grub-core/net/net.c (grub_net_network_level_interface_register):
9768 Update num_ifaces.
9769 (grub_net_card_unregister): Close all interfaces.
9770 (receive_packets): Don't poll if no iterfaces are registered.
9771 Open if necessary.
9772 (grub_net_fini_hw): New function.
9773 (grub_net_restore_hw): Likewise.
9774 (fini_hnd): New variable.
9775 (GRUB_MOD_INIT): Register preboot hook.
9776 (GRUB_MOD_FINI): Run and unregister preboot hook.
9777
9778 Poll network cards when idle.
9779
9780 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
9781 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
9782 * grub-core/net/net.c (receive_packets): Save last poll time.
9783 (grub_net_poll_cards_idle_real): New function.
9784 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
9785 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
9786 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
9787
9788 Rename ofnet interfaces.
9789
9790 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
9791 (grub_ofnet_findcards): Use ofnet_%s names.
9792
9793 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
9794
9795 Cleanup socket opening.
9796
9797 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
9798 (grub_net_fs_close): Likewise.
9799 (grub_net_fs_read_real): Use eof member.
9800 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
9801 (+grub_net_udp_close): New inline function.
9802
9803 * include/grub/net/tftp.h: Moved to the top of ...
9804 * grub-core/net/tftp.c: ... here.
9805 * include/grub/net/ip.h: Moved mostly to the top of ...
9806 * grub-core/net/ip.c: ... here.
9807 * include/grub/net/ethernet.h: Moved mostly to the top of ...
9808 * grub-core/net/ethernet.c: ... here.
9809
9810 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
9811
9812 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
9813 FS name.
9814
9815 * include/grub/net/ip.h (ipv4_ini): Removed.
9816 (ipv4_fini): Likewise.
9817
9818 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
9819 (grub_net_send_ip_packets): Likewise.
9820
9821 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
9822
9823 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
9824 grub_read_cmos prototype.
9825
9826 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
9827
9828 VGA text support in qemu-mips
9829
9830 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
9831 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
9832 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
9833 text.
9834 * grub-core/kern/i386/qemu/init.c: Renamed to ...
9835 * grub-core/kern/vga_init.c: ... this.
9836 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
9837 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
9838 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
9839 Adjust.
9840 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
9841 GRUB_MACHINE_PCI_IO_BASE.
9842
9843 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
9844
9845 MIPS qemu flash support.
9846
9847 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
9848 magic.
9849 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
9850 (grub_machine_init): Probe memory if its size isn't known.
9851 * util/grub-mkimage.c (image_targets): Add flash targets.
9852 (generate_image): Handle flash targets.
9853
9854 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
9855
9856 MIPS qemu at_keyboard support.
9857
9858 * gentpl.py (videoinkernel): Add qemu-mips.
9859 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
9860 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
9861 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
9862 modules.
9863 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
9864 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
9865 * grub-core/term/serial.c (grub_serial_register)
9866 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
9867
9868 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
9869
9870 CMOS support on sparc.
9871
9872 * gentpl.py (cmos): Add powerpc and sparc.
9873 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
9874 powerpc and sparc.
9875 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
9876 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
9877 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
9878 grub_set_datetime_cmos.
9879 * grub-core/lib/ieee1275/cmos.c: New file.
9880 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
9881 (find_rtc): Set no_ieee1275_rtc on error.
9882 (grub_get_datetime): Call grub_get_datetime_cmos on error.
9883 (grub_set_datetime): Call grub_set_datetime_cmos on error.
9884 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
9885 fail. Move value to argument. All users updated
9886 (grub_cmos_write): Likewise.
9887 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
9888 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
9889 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
9890 grub_get_datetime_cmos and grub_set_datetime_cmos.
9891
9892 2011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
9893
9894 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
9895 sourcing grub-mkconfig_lib.
9896 * util/update-grub_lib.in: Likewise.
9897 * util/grub.d/00_header.in: Likewise.
9898 * util/grub.d/10_hurd.in: Likewise.
9899 * util/grub.d/10_kfreebsd.in: Likewise.
9900 * util/grub.d/10_linux.in: Likewise.
9901 * util/grub.d/10_netbsd.in: Likewise.
9902 * util/grub.d/10_windows.in: Likewise.
9903 * util/grub.d/20_linux_xen.in: Likewise.
9904 * util/grub.d/30_os-prober.in: Likewise.
9905
9906 2011-06-28 Colin Watson <cjwatson@ubuntu.com>
9907
9908 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
9909 default_bg_color rather than black.
9910 (grub_gfxterm_fullscreen): Likewise.
9911 (grub_gfxterm_background_color_cmd): Save new background color in
9912 default_bg_color.
9913
9914 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9915
9916 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
9917
9918 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9919
9920 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
9921 mismerge.
9922
9923 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9924
9925 Chainloading on coreboot support.
9926
9927 * grub-core/Makefile.core.def (chain): Add coreboot.
9928 * grub-core/loader/i386/coreboot/chainloader.c: New file.
9929
9930 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9931
9932 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
9933 if it happens.
9934
9935 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9936
9937 Implement time command.
9938
9939 * grub-core/Makefile.core.def (time): New module.
9940 * grub-core/commands/time.c: New file.
9941 * grub-core/script/parser.y: Remove "time" keyword.
9942 * grub-core/script/yylex.l: Likewise.
9943
9944 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9945
9946 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
9947
9948 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9949
9950 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
9951 when handling leftovers.
9952
9953 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9954
9955 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
9956 so that help2man doesn't fail.
9957
9958 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9959
9960 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
9961 type in pointers on sparc64.
9962 (get_card_packet): Likewise.
9963
9964 2011-06-27 Colin Watson <cjwatson@ubuntu.com>
9965
9966 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
9967 with `*'.
9968 (grub_cmd_videoinfo): Fetch current video mode.
9969
9970 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9971
9972 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
9973 because of underlying system restrictions.
9974
9975 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9976
9977 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
9978 necessary.
9979
9980 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9981
9982 Coreboot video support.
9983
9984 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
9985 (vbe): Likewise.
9986 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
9987 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
9988 here ...
9989 * grub-core/kern/i386/int.S: ... here.
9990 * grub-core/video/i386/pc/vbe.c: Updated includes.
9991 * grub-core/video/i386/pc/vga.c: Likewise.
9992 * include/grub/i386/coreboot/memory.h
9993 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
9994 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
9995 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
9996 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
9997 Disable interrupts.
9998 * include/grub/i386/pc/vga.h: Removed. All users updated.
9999
10000 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10001
10002 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
10003 definitions for dprintf.
10004 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
10005
10006 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10007
10008 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
10009 prototype.
10010 (get_card_packet): Likewise.
10011
10012 2011-06-26 Yves Blusseau <blusseau@zetam.org>
10013
10014 Display the path of the file when file is not found
10015
10016 * grub-core/fs/fat.c: Display the filename when file is not found.
10017 * grub-core/fs/fshelp.c: Likewise.
10018 * grub-core/fs/hfs.c: Likewise.
10019 * grub-core/fs/jfs.c: Likewise.
10020 * grub-core/fs/minix.c: Likewise.
10021 * grub-core/fs/ufs.c: Likewise.
10022 * grub-core/fs/btrfs.c: Likewise.
10023 * grub-core/commands/i386/pc/play.c: Likewise.
10024
10025 2011-06-26 Szymon Janc <szymon@janc.net.pl>
10026
10027 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
10028 pointer checks before calling grub_free().
10029 * grub-core/commands/wildcard.c (match_devices): Likewise.
10030 * grub-core/commands/wildcard.c (match_files): Likewise.
10031 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
10032 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
10033 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
10034 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
10035 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
10036 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
10037 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
10038 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
10039 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
10040
10041 2011-06-25 Patrick <p55@mailinator.com>
10042
10043 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
10044
10045 2011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
10046
10047 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
10048 (grub_pxe_send): Likewise.
10049 (GRUB_MOD_INIT): Fix types.
10050
10051 2011-06-24 Szymon Janc <szymon@janc.net.pl>
10052
10053 * grub-core/io/xzio.c: Fix code style issues
10054
10055 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10056 2011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
10057
10058 Network infrastructure.
10059 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
10060
10061 * include/grub/net/arp.h: New file.
10062 * include/grub/net/device.h: Likewise.
10063 * include/grub/net/ethernet.h: Likewise.
10064 * include/grub/net/ip.h: Likewise.
10065 * include/grub/net/netbuff.h: Likewise.
10066 * include/grub/net/tftp.h: Likewise.
10067 * include/grub/net/udp.h: Likewise.
10068 * include/grub/ieee1275/ofnet.h: Likewise.
10069 * include/grub/emu/export.h: Likewise.
10070 * include/grub/net.h: Likewise.
10071 * grub-core/net/arp.c: Likewise.
10072 * grub-core/net/ethernet.c: Likewise.
10073 * grub-core/net/ip.c: Likewise.
10074 * grub-core/net/udp.c: Likewise.
10075 * grub-core/net/tftp.c: Likewise.
10076 * grub-core/net/netbuff.c: Likewise.
10077 * grub-core/net/net.c: Likewise.
10078 * grub-core/net/drivers/emu/emunet.c: Likewise.
10079 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
10080 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
10081 export.h.
10082 * grub-core/Makefile.core.def (net): New module.
10083 (tftp): Likewise.
10084 (ofnet): Likewise.
10085 (emunet): Likewise.
10086 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
10087 network protocols.
10088 * grub-core/kern/device.c (grub_net_open) : New variable.
10089 (grub_device_open): Handle network device.
10090 (grub_device_close): Likewise.
10091 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
10092 (grub_grubnet_fini): Likewise.
10093 (grub_file_seek): Seek in network device.
10094 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
10095 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
10096 network root.
10097 (grub_machine_fini): Call grub_grubnet_fini.
10098 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
10099 network.
10100 (grub_ieee1275_get_aliasdevname): New function.
10101 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
10102 Add unofficial Solaris network info.
10103 (grub_multiboot_make_mbi): Likewise.
10104 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
10105 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
10106 * include/grub/device.h (grub_fs): Removed.
10107 * include/grub/err.h (grub_err_t): Add network-related values.
10108 * include/grub/i386/pc/pxe.h: Removed bootp parts.
10109 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
10110 (grub_ieee1275_get_aliasdevname): New proto.
10111 * include/grub/net.h: Rewritten.
10112
10113 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10114
10115 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
10116 names.
10117
10118 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10119
10120 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
10121 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
10122 it truncates the output.
10123 Reported by: Ximin Luo.
10124
10125 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10126
10127 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
10128
10129 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10130
10131 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
10132 partmap before abstraction.
10133
10134 2011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
10135
10136 * util/grub-mkconfig_lib.in: Add missing quotes.
10137
10138 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10139
10140 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
10141 old method if mountinfo would return /dev/root and /dev/root doesn't
10142 exist.
10143
10144 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10145
10146 ZFS zlib support
10147
10148 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
10149 (decomp_table): Add zlib entries.
10150 (zio_read): USe 8 bits for compression function rather than 3.
10151 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
10152
10153 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10154
10155 * grub-core/disk/ahci.c: Add missing license statements.
10156 * grub-core/fs/romfs.c: Likewise.
10157 * grub-core/lib/ia64/setjmp.S: Likewise.
10158 * grub-core/loader/i386/pc/freedos.c: Likewise.
10159 * grub-core/loader/ia64/efi/linux.c: Likewise.
10160 * grub-core/video/colors.c: Likewise.
10161 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
10162
10163 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10164
10165 AHCI support.
10166
10167 * grub-core/Makefile.core.def (ata_pthru): Removed.
10168 (ahci): New module.
10169 (pata): Likewise.
10170 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
10171 on unload.
10172 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
10173 readwrite.
10174 (grub_hdparm_do_check_powermode_cmd): Likewise.
10175 (grub_hdparm_do_smart_cmd): Likewise.
10176 (grub_hdparm_set_val_cmd): Likewise.
10177 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
10178 * grub-core/disk/ahci.c: New file.
10179 * grub-core/disk/ata.c: Factor out the low-level part into ...
10180 * grub-core/disk/pata.c: ... here.
10181 * grub-core/disk/ata_pthru.c: Contents moved to ...
10182 * grub-core/disk/pata.c: ... here.
10183 * grub-core/disk/scsi.c (grub_scsi_names): New array.
10184 (grub_scsi_iterate): Use grub_scsi_names.
10185 (grub_scsi_open): Likewise.
10186 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
10187 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
10188 (grub_ata_regs_t): New struct.
10189 (grub_disk_ata_pass_through_parms): Likewise.
10190 (grub_ata_device): Renamed to ...
10191 (grub_ata): ... this.
10192 (grub_ata_dev): New struct.
10193 Removed all low-level inline functions.
10194 * include/grub/scsi.h: Add PATA and AHCI subsystems.
10195 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
10196 iterate hooks and open. All users updated.
10197 * util/grub-install.in: Handle AHCI disk module.
10198
10199 2011-06-23 Szymon Janc <szymon@janc.net.pl>
10200
10201 Add support for DRI and RSTn markers in JPEG files.
10202
10203 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
10204 (JPEG_MARKER_RST0): Likewise.
10205 (JPEG_MARKER_RST1): Likewise.
10206 (JPEG_MARKER_RST2): Likewise.
10207 (JPEG_MARKER_RST3): Likewise.
10208 (JPEG_MARKER_RST4): Likewise.
10209 (JPEG_MARKER_RST5): Likewise.
10210 (JPEG_MARKER_RST6): Likewise.
10211 (JPEG_MARKER_RST7): Likewise.
10212 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
10213 (grub_jpeg_decode_dri): New function.
10214 (grub_jpeg_decode_sos): Move image data related part into
10215 grub_jpeg_decode_data function.
10216 (grub_jpeg_decode_data): New function.
10217 (grub_jpeg_reset): New function.
10218 (grub_jpeg_decode_jpeg): Handle new markers.
10219
10220 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10221
10222 * util/ieee1275/ofpath.c (check_sas): Close fd.
10223 (main): Free of_path.
10224 Reported by: David Volgyes <dvolgyes>.
10225
10226 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10227
10228 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
10229 Reported by: David Volgyes <dvolgyes>.
10230
10231 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10232
10233 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
10234 file after stat.
10235 Reported by: David Volgyes <dvolgyes>.
10236
10237 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10238
10239 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
10240
10241 Reported by: David Volgyes <dvolgyes>.
10242
10243 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10244
10245 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
10246 Prevent memory leak.
10247
10248 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10249
10250 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
10251 (main): Close file.
10252 Reported by: David Volgyes <dvolgyes>.
10253
10254 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10255
10256 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
10257 to continue if allocation is failed.
10258
10259 Reported by: David Volgyes <dvolgyes>.
10260
10261 2011-06-23 David Volgyes <dvolgyes>
10262
10263 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
10264 dereference.
10265
10266 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10267
10268 Fix spurious warning.
10269
10270 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
10271 (acorn_partition_map_find): Use .bin member.
10272
10273 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10274
10275 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
10276 /dev/root as a valid device.
10277
10278 2011-06-23 Jim Meyering <meyering@redhat.com>
10279
10280 Avoid NULL deref in grub_device_open.
10281
10282 * grub-core/kern/device.c (grub_device_open): Don't dereference
10283 a NULL pointer upon failed grub_env_get.
10284
10285 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10286
10287 Support non-512B sectors and agglomerate reads.
10288
10289 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
10290 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
10291 (disk_io_guid): Removed.
10292 (make_devices): Locate solely by BlockIO.
10293 (grub_efidisk_open): Fill log_sector_size and total_sectors.
10294 (grub_efidisk_read): Use read_blocks.
10295 (grub_efidisk_write): Use write_blocks.
10296 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
10297 log_sector_size.
10298 (get_safe_sectors): Handle non-512B sectors.
10299 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
10300 sectors.
10301 (grub_biosdisk_write): Handle non-512B sectors.
10302 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
10303 (grub_scsi_read): Remove special non-512B block handling (now handled
10304 one level up).
10305 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
10306 and do sanity checks.
10307 (grub_disk_adjust_range): Handle non-512B sectors.
10308 (transform_sector): New function.
10309 (grub_disk_read_small): Likewise.
10310 (grub_disk_read): Rewritten.
10311 (grub_disk_write): Handle non-512B sectors.
10312 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
10313 log_sector_size.
10314 (open_device): Use log_sector_size.
10315 (grub_util_biosdisk_read): Likewise.
10316 (grub_util_biosdisk_write): Likewise.
10317 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
10318 non-512B sectors.
10319 (pc_partition_map_embed): Likewise.
10320 * include/grub/disk.h (grub_disk): New field log_sector_size.
10321 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
10322 (GRUB_DISK_CACHE_BITS): Increased to 6.
10323 * util/grub-fstest.c (fstest): New command testload.
10324 (argp_parser): Likewise.
10325
10326 2011-06-16 Robert Millan <rmh@gnu.org>
10327
10328 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
10329 `ata' driver on kernel of FreeBSD 9.
10330
10331 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
10332 (get_ataraid_disk_name): New functions.
10333 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
10334 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
10335 get_ataraid_disk_name() and get_ada_disk_name().
10336
10337 2011-06-13 Colin Watson <cjwatson@ubuntu.com>
10338
10339 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
10340 input format.
10341
10342 2011-05-29 Colin Watson <cjwatson@ubuntu.com>
10343
10344 * docs/grub.texi (Obtaining and Building GRUB): Substitute
10345 `ftp.gnu.org' for `alpha.gnu.org'.
10346
10347 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
10348
10349 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
10350 partitions under /dev/disk/by-id/.
10351
10352 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
10353
10354 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
10355 after ten consecutive open failures. Scanning all the way up to
10356 10000 is excessive and can cause serious performance problems in
10357 some configurations.
10358 Fixes Ubuntu bug #787461.
10359
10360 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10361
10362 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
10363 opening new one.
10364
10365 2011-05-21 Colin Watson <cjwatson@ubuntu.com>
10366 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10367
10368 Don't stat devices unless we have to.
10369
10370 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
10371 dir == /dev/mapper.
10372 (grub_guess_root_device): Use already known os_dev if possible.
10373 * grub-core/kern/emu/hostdisk.c
10374 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
10375 if device is known to be a dm one.
10376
10377 2011-05-20 Colin Watson <cjwatson@ubuntu.com>
10378
10379 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
10380 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
10381 Reported by: Pawel Tecza.
10382
10383 2011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
10384
10385 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
10386 (lsefisystab): Likewise.
10387 (lssal): Likewise.
10388 (lsefimmap): Likewise.
10389 (hdparm): Enable on qemu-mips.
10390 (setjmp): Add ia64 nodist.
10391 (serial): Simplify tags.
10392
10393 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
10394
10395 * Makefile.util.def (grub-ofpathname): Install manual page.
10396
10397 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
10398
10399 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
10400
10401 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
10402
10403 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
10404
10405 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10406
10407 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
10408 into dprintf.
10409
10410 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10411
10412 Use full 64-bit division.
10413
10414 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
10415 (grub_divmod64): ... this.
10416 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
10417 version.
10418
10419 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
10420
10421 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
10422 `source'.
10423
10424 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
10425
10426 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
10427 to avoid accidents when debugging with 'sh -x'.
10428 * grub-core/gensyminfo.sh.in: Likewise.
10429 * tests/example_scripted_test.in: Likewise.
10430 * tests/grub_cmd_regexp.in: Likewise.
10431 * tests/grub_script_blanklines.in: Likewise.
10432 * tests/grub_script_dollar.in: Likewise.
10433 * tests/grub_script_expansion.in: Likewise.
10434 * tests/grub_script_final_semicolon.in: Likewise.
10435 * tests/partmap_test.in: Likewise.
10436 * tests/util/grub-shell-tester.in: Likewise.
10437 * tests/util/grub-shell.in: Likewise.
10438
10439 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
10440
10441 Move gfxmenu color handling to video, so that gfxterm can use it
10442 too.
10443
10444 * grub-core/gfxmenu/named_colors.c: Move to ...
10445 * grub-core/video/colors.c: ... here. Rename
10446 grub_gui_get_named_color to grub_video_get_named_color.
10447 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
10448 * grub-core/video/colors.c (my_isxdigit): ... here.
10449 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
10450 Move to ...
10451 * grub-core/video/colors.c (parse_hex_color_component): ... here.
10452 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
10453 to ...
10454 * grub-core/video/colors.c (grub_video_parse_color): ... here.
10455
10456 * include/grub/gui.h (grub_gui_color_t): Move to ...
10457 * include/grub/video.h (grub_video_rgba_color_t): ... here.
10458 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
10459 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
10460 * include/grub/gui.h (grub_gui_map_color): Move to ...
10461 * include/grub/video.h (grub_video_map_rgba_color): ... here.
10462 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
10463 to ...
10464 * include/grub/video.h (grub_video_get_named_color): ... here.
10465 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
10466 * include/grub/video.h (grub_video_parse_color): ... here.
10467
10468 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
10469 video/colors.c.
10470 (gfxmenu): Remove gfxmenu/named_colors.c.
10471 (video) [videomodules]: Add video/colors.c.
10472
10473 Add a background_color command.
10474
10475 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
10476 function.
10477 (GRUB_MOD_INIT): Register background_color command.
10478 (GRUB_MOD_FINI): Unregister background_color command.
10479 (redraw_screen_rect): Allow blend/replace of text layer to be
10480 controlled independently from whether there is a background bitmap.
10481 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
10482 changing bitmap.
10483
10484 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10485
10486 Patch BPB in ntldr and chainloader --bpb.
10487
10488 * grub-core/fs/fat.c: Include grub/fat.h.
10489 (grub_fat_bpb): Moved to ...
10490 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
10491 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
10492 grub/ntfs.h.
10493 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
10494 Moved from here...
10495 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
10496 here.
10497 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
10498 New function.
10499 (grub_chainloader_cmd): Patch BPB if --bpb is given.
10500 (GRUB_MOD_INIT): Show --bpb.
10501 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
10502 * grub-core/normal/main.c (features): New variable.
10503 (GRUB_MOD_INIT): Set feature_* variables.
10504 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
10505 proto.
10506 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
10507
10508 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10509
10510 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
10511 for cleanness.
10512
10513 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10514
10515 FreeDOS direct loading support.
10516
10517 * docs/grub.texi (Supported OS): Add FreeDOS.
10518 * grub-core/Makefile.core.def (freedos): New module.
10519 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
10520 variable.
10521 (grub_relocator16_boot): Handle %ebx.
10522 * grub-core/lib/i386/relocator16.S: Likewise.
10523 * grub-core/loader/i386/pc/freedos.c: New file.
10524
10525 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10526
10527 Long Linux command line support.
10528
10529 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
10530 (maximal_cmdline_size): New variable.
10531 (allocate_pages): Use maximal_cmdline_size.
10532 (grub_cmd_linux): Set and use maximal_cmdline_size.
10533 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
10534 (allocate_pages): Use maximal_cmdline_size.
10535 (grub_cmd_linux): Set and use maximal_cmdline_size.
10536 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
10537 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
10538 and cmdline_size.
10539
10540 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10541 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
10542
10543 Improve devmapper support
10544
10545 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
10546 (grub_util_is_lvm): New function.
10547 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
10548 than lvm if not dmraid.
10549 Handle mapped md nodes.
10550 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
10551 (grub_util_device_is_mapped): ... this. Make always available. All users
10552 updated.
10553 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
10554 (convert_system_partition_to_system_disk): Handle lvm, mpath and
10555 dmraid nodes.
10556 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
10557
10558 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10559
10560 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
10561
10562 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
10563 * grub-core/modinfo.sh.in: New file.
10564 * grub-core/Makefile.core.def (modinfo.sh): New script.
10565 * util/grub-mknetdir.in: Use modinfo.sh.
10566 * util/grub-mkrescue.in: Likewise.
10567
10568 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10569
10570 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
10571 Fix potential usage of Elf32 instead of Elf64 when compiling on
10572 32-bit architecture. Add endianness macros while on it.
10573
10574 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10575
10576 Use mipsel- rather than mips- in directories involving mipsel ports to
10577 allow both endiannesses coexist.
10578
10579 * configure.ac: proparate target_cpu=mipsel rather than resetting to
10580 mips. All conditions adjusted.
10581 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
10582 variable.
10583 * util/grub-install.in: Adjust conditions to take renaming into account.
10584 * util/grub-mkimage.c (image_targets): Likewise. New target
10585 mips-qemu_mips-elf for bigendian mips.
10586
10587 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10588
10589 Avoid unnecessary copying on MIPS.
10590
10591 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
10592 early if src == dest.
10593 * util/grub-mkimage.c (generate_image): Arange for src == dest if
10594 compression is none.
10595
10596 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10597
10598 Reduce memory footprint on SGI by putting modules before the kernel
10599 as opposed to after.
10600
10601 * grub-core/Makefile.core.def (kernel): Increase linking address.
10602 (none_decompress): Likewise.
10603 (xz_decompress): Likewise.
10604 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
10605 address.
10606 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
10607 layout change.
10608 (grub_arch_modules_addr): New function.
10609 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
10610 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
10611 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
10612 here.
10613 * grub-core/kern/mips/startup.S (total_size): Rename to ...
10614 (grub_total_modules_size): ... this. Make global.
10615 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
10616 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
10617 New definition.
10618 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
10619 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
10620 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
10621 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
10622 * util/grub-mkimage.c (image_target_desc): New flag
10623 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
10624 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
10625 (generate_image): Handle images with modules before kernel.
10626
10627 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10628
10629 Prevent potential loss of memory map by overwrite on qemu-mips.
10630
10631 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
10632 Save ram size in $s4.
10633 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
10634 All users changed to grub_arch_memsize.
10635 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
10636 Loongson.
10637 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
10638 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
10639 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
10640 external variable.
10641
10642 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
10643
10644 * .bzrignore: Remove grub-dumpbios.
10645
10646 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
10647
10648 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
10649 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
10650 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
10651 existing options which append).
10652 * docs/grub.texi (Simple configuration): Document new options.
10653 Reported by: Ian Jackson. Fixes Debian bug #617538.
10654
10655 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
10656
10657 * util/grub-fstest.c (cmd_cat): New function.
10658 (fstest): Handle CMD_CAT.
10659 (options): Add cat.
10660 (argp_parser): Handle cat.
10661
10662 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
10663
10664 * Makefile.util.def (grub-bin2h): Don't install.
10665 * docs/man/grub-bin2h.h2m: Remove.
10666
10667 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10668
10669 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
10670 place.
10671
10672 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10673
10674 Reenable qemu-mips port.
10675
10676 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
10677 Fix small arc bug while on it.
10678 * gentpl.py: Handle qemu_mips.
10679 * grub-core/Makefile.am: Likewise.
10680 * grub-core/Makefile.core.def: Likewise.
10681 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
10682 inappropriate includes.
10683 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
10684 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
10685 * grub-core/kern/main.c (grub_modules_get_end)
10686 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
10687 * grub-core/kern/mips/qemu-mips: Moved to ..
10688 * grub-core/kern/mips/qemu_mips: ... this.
10689 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
10690 (grub_machine_init): Call terminfo_init and serial_init.
10691 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
10692 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
10693 New variable.
10694 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
10695 parameter passing.
10696 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
10697 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
10698 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
10699 * include/grub/mips/qemu_mips/cmos.h: New file.
10700 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
10701 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
10702 Removed.
10703 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
10704 Use correct mips-style address.
10705 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
10706 (GRUB_TICKS_PER_SECOND): Removed.
10707 (grub_get_rtc): Likewise.
10708 (grub_cpu_idle): Likewise.
10709 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
10710 New definition.
10711 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
10712 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
10713 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
10714 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
10715 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
10716 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
10717 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
10718 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
10719
10720 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10721
10722 SGI ARCS port.
10723
10724 * Makefile.util.def (libgrubmods.a): Add dvh.c.
10725 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
10726 platforms.
10727 * configure.ac: New target mips-arc.
10728 * gentpl.py: Likewise.
10729 * grub-core/Makefile.am: Likewise.
10730 * grub-core/Makefile.core.def: Likewise.
10731 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
10732 (none_decompress): Likewise.
10733 (lsdev): New module.
10734 (datetime): Use lib/arc/datetime.c on ARC.
10735 (part_dvh): New module.
10736 * grub-core/commands/arc/lsdev.c: New file.
10737 * grub-core/disk/arc/arcdisk.c: Likewise.
10738 * grub-core/kern/mips/arc/init.c: Likewise.
10739 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
10740 aligned addresses.
10741 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
10742 support.
10743 (grub_arch_dl_relocate_symbols): Likewise.
10744 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
10745 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
10746 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
10747 platforms.
10748 * grub-core/lib/arc/datetime.c: New file.
10749 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
10750 pci.h on non-loongson.
10751 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
10752 (grub_linux_boot): Set unused registers to 0.
10753 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
10754 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
10755 * grub-core/mmap/mips/uppermem.c: ...here.
10756 * grub-core/partmap/dvh.c: New file.
10757 * grub-core/term/arc/console.c: Likewise.
10758 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
10759 (grub_terminfo_set_current): Add terminal "arc".
10760 (grub_terminfo_readkey): Support ARC sequences.
10761 * include/grub/arc/arc.h: New file.
10762 * include/grub/arc/console.h: Likewise.
10763 * include/grub/disk.h (grub_disk_dev_id): Add
10764 GRUB_DISK_DEVICE_ARCDISK_ID.
10765 * include/grub/mips/arc/kernel.h: New file.
10766 * include/grub/mips/arc/memory.h: Likewise.
10767 * include/grub/mips/arc/time.h: Likewise.
10768 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
10769 * include/grub/mips/kernel.h (grub_halt): ... here.
10770 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
10771 here...
10772 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
10773 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
10774 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
10775 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
10776 proto.
10777 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
10778 from here ...
10779 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
10780 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
10781 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
10782 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
10783 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
10784 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
10785 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
10786 (grub_phys_addr_t): Moved from here ...
10787 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
10788 (grub_vtop): Moved from here ...
10789 * include/grub/mips/memory.h (grub_vtop): ... here.
10790 (grub_map_memory): Moved from here ...
10791 * include/grub/mips/memory.h (grub_map_memory): ... here.
10792 (grub_unmap_memory): Moved from here ...
10793 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
10794 (grub_machine_mmap_iterate): Moved from here ...
10795 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
10796 (grub_mmap_get_lower): Moved from here ...
10797 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
10798 (grub_mmap_get_upper): Moved from here ...
10799 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
10800 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
10801 here ...
10802 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
10803 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
10804 here ...
10805 * include/grub/mips/time.h (grub_get_rtc): ... here.
10806 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
10807 here ...
10808 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
10809 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
10810 here ...
10811 * include/grub/mips/time.h (grub_cpu_idle): ... here.
10812 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
10813 definition.
10814 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
10815 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
10816 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
10817 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
10818 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
10819 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
10820 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
10821 (GRUB_MACHINE_LINK_ADDR): Likewise.
10822 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
10823 to 6.
10824 * util/grub-install.in: Run dvhtool on ARC.
10825 * util/grub-mkimage.c (image_targets): Add mips-arc.
10826 (generate_image): Handle ECOFF output for mips-arc.
10827
10828 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
10829
10830 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
10831 blocks.
10832
10833 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
10834
10835 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
10836 after enabling port.
10837
10838 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
10839
10840 Skip incorrect USB devices.
10841
10842 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
10843 configcnt == 0.
10844 * include/grub/usb.h (grub_usb_err_t): New enum value
10845 GRUB_USB_ERR_BADDEVICE.
10846
10847 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
10848
10849 Fuloong video init support.
10850
10851 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
10852 well.
10853 (grub_vga_read_arx): New function.
10854 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
10855 definition.
10856 (framebuffer): New members io, mmioptr and mmiobase.
10857 (read_sis_cmd): New function.
10858 (write_sis_cmd): Likewise.
10859 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
10860 rather than 640x400.
10861 * grub-core/video/sis315_init.c: New file.
10862
10863 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10864
10865 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
10866 non-loongson.
10867 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
10868 to grub_dl_register_symbol.
10869
10870 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10871
10872 Fix compilation errors.
10873
10874 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
10875 potentially unused.
10876 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
10877 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
10878 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
10879 to loongson machines.
10880
10881 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10882
10883 Several FS mtime support.
10884
10885 * grub-core/fs/affs.c (grub_affs_time): New struct.
10886 (grub_affs_file): New field mtime.
10887 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
10888 type. Removed 'size'. New field 'di'. All users updated.
10889 (grub_affs_mount): Simplify checsum checking.
10890 (grub_affs_iterate_dir): New helper grub_affs_create_node.
10891 (grub_affs_dir): Handle mtime.
10892 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
10893 (grub_cpio_dir): Likewise.
10894 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
10895 (grub_hfs_filerec): New field mtime.
10896 (grub_hfs_dir): Handle mtime.
10897 (grub_hfs_mtime): New function.
10898 (grub_hfs_fs): Register grub_hfs_mtime.
10899 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
10900 (grub_iso9660_dir): New field mtime.
10901 (grub_fshelp_node): New field dirent.
10902 (iso9660_to_unixtime): New function.
10903 (iso9660_to_unixtime2): Likewise.
10904 (grub_iso9660_read_symlink): Use node->dirent.
10905 (grub_iso9660_iterate_dir): Likewise.
10906 (grub_iso9660_dir): Set mtime.
10907 (grub_iso9660_mtime): New function.
10908 (grub_iso9660_fs): Register grub_iso9660_mtime.
10909 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
10910 (grub_jfs_inode): New fields atime, ctime and mtime.
10911 (grub_jfs_dir): Set mtime.
10912 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
10913 * grub-core/fs/ntfs.c (list_file): Set mtime.
10914 (grub_ntfs_dir): Likewise.
10915 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
10916 (grub_reiserfs_iterate_dir): Set mtime.
10917 (grub_reiserfs_dir): Likewise.
10918 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
10919 (grub_fshelp_node): Likewise.
10920 (grub_sfs_iterate_dir): Set mtime.
10921 (grub_sfs_dir): Likewise.
10922 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
10923 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
10924 (grub_xfs_inode): New fields atime, mtime, ctime.
10925 (grub_xfs_dir): Set mtime.
10926 * include/grub/datetime.h (grub_datetime2unixtime): New function.
10927 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
10928 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
10929
10930 Support UDF symlinks.
10931
10932 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
10933 (grub_ufs_read_symlink): New function. All users updated.
10934
10935 Check amiga partmap checksum.
10936
10937 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
10938 (grub_amiga_partition): Likewise.
10939 (amiga_partition_map_checksum): New function.
10940 (amiga_partition_map_iterate): Check checksum.
10941
10942 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10943
10944 ROMFS support.
10945
10946 * Makefile.util.def (libgrubmods.a): Add romfs.
10947 * grub-core/Makefile.core.def (romfs): New module.
10948 * grub-core/fs/romfs.c: New file.
10949
10950 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10951
10952 Squashfs v4 support.
10953
10954 * Makefile.util.def (libgrubmods.a): Add squash4.
10955 * grub-core/Makefile.core.def (squash4): New module.
10956 * grub-core/fs/squash4.c: New file.
10957 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
10958 disk_input_start, disk_input.
10959 (get_byte): Handle disk_input.
10960 (grub_zlib_disk_read): New function.
10961 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
10962
10963 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10964 2011-05-15 Feiran Zheng <famcool@gmail.com>
10965
10966 * Makefile.util.def (libgrubmods.a): Add minix3.
10967 * grub-core/Makefile.core.def (minix3): New module.
10968 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
10969 (GRUB_MINIX_BSIZE): Removed.
10970 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
10971 (grub_minix_ino_t): New type.
10972 (grub_minix_le_to_cpu_ino): New macro.
10973 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
10974 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
10975 (grub_minix_data): New field block_size.
10976 (grub_minix_read_file): Handle 64-bit correctly.
10977 * grub-core/fs/minix3.c: New file.
10978
10979 2011-05-15 Tristan Gingold <gingold@free.fr>
10980 2011-05-15 Robert Millan <rmh.grub@aybabtu.com>
10981 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10982
10983 IA64 support.
10984
10985 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
10986 * configure.ac: Add ia64-efi target.
10987 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
10988 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
10989 * gentpl.py: Add ia64_efi platform.
10990 Rename x86_efi to efi and Add ia64-efi. All users updated.
10991 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
10992 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
10993 Remove kern/generic/rtc_get_time_ms.c on EFI.
10994 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
10995 kern/ia64/dl_helper.c on ia64-efi.
10996 Add kern/emu/cache.c on emu.
10997 (linux): Use on loader/ia64/efi/linux.c on ia64.
10998 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
10999 whether symbol is a function.
11000 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
11001 (grub_symbol): New field 'isfunc'.
11002 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
11003 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
11004 (grub_dl_load_segments): Place all sections into the same region.
11005 [__ia64__]: Create trampolines and got.
11006 [GRUB_MACHINE_EMU]: Call mprotect.
11007 (grub_dl_resolve_symbols): Resolve symbol type as well.
11008 [__ia64__]: Create function descriptors.
11009 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
11010 (grub_rtc_get_time_ms): ... this. Expressions simplified.
11011 (grub_get_rtc): New function.
11012 * grub-core/kern/emu/cache.c [__ia64__]: New file.
11013 * grub-core/kern/emu/cache.S: Renamed to ...
11014 * grub-core/kern/emu/cache_s.S: ... this.
11015 [__ia64__]: Add a nop.
11016 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
11017 [__ia64__]: New function.
11018 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
11019 * grub-core/kern/ia64/dl.c: New file.
11020 * grub-core/kern/ia64/dl_helper.c: Likewise.
11021 * grub-core/kern/ia64/efi/init.c: New file.
11022 * grub-core/kern/ia64/efi/startup.S: Likewise.
11023 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
11024 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
11025 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
11026 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
11027 * grub-core/loader/ia64/efi/linux.c: New file.
11028 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
11029 (GRUB_MOD_DEP): Likewise.
11030 (grub_dl) [__ia64__]: New fields got and tramp.
11031 (grub_dl): New field 'base'.
11032 (grub_dl_register_symbol): New argument isfunc. All users updated.
11033 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
11034 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
11035 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
11036 (grub_ia64_dl_get_tramp_got_size): New proto.
11037 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
11038 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
11039 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
11040 * include/grub/efi/api.h: Skip call wrappers on ia64.
11041 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
11042 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
11043 * include/grub/elf.h (ELF_ST_INFO): New definition.
11044 * include/grub/ia64/efi/kernel.h: New file.
11045 * include/grub/ia64/efi/memory.h: Likewise.
11046 * include/grub/ia64/efi/time.h: Likewise.
11047 * include/grub/ia64/kernel.h: Likewise.
11048 * include/grub/ia64/setjmp.h: Likewise (from glibc).
11049 * include/grub/ia64/time.h: New file.
11050 * include/grub/ia64/types.h: Likewise.
11051 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
11052 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
11053 New protos.
11054 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
11055 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
11056 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
11057 * util/grub-mkimage.c (image_target_desc): New field pe_target.
11058 All users updated.
11059 (EFI64_HEADER_SIZE): New definition. All users updated.
11060 (image_targets): Add ia64-efi.
11061 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
11062 jumpers_addr. All users updated.
11063 Create function descriptors.
11064 (count_funcs): New function.
11065 (unaligned_uint32): New struct.
11066 (MASK20): New definition.
11067 (MASK19): Likewise.
11068 (MASKF21): Likewise.
11069 (add_value_to_slot_20b): New function.
11070 (add_value_to_slot_21_real): Likewise.
11071 (add_value_to_slot_21): Likewise.
11072 (ia64_kernel_trampoline): New struct.
11073 (nopm): New variable.
11074 (jump): Likewise.
11075 (make_trampoline): New function.
11076 (relocate_addresses): Handle ia64.
11077 (make_reloc_section): Likewise.
11078 (load_image): Likewise.
11079
11080 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11081
11082 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
11083 warning. Move variables before code while on it.
11084
11085 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11086
11087 Fuloong support.
11088
11089 * configure.ac: Rename yeeloong platform to loongson. All users updated.
11090 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
11091 * grub-core/boot/mips/loongson/fuloong.S: New file.
11092 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
11093 Explicitly init CS5536.
11094 [FULOONG]: Don't use serial until CS5536 is available.
11095 Set GPIO based on dumps.
11096 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
11097 [FULOONG]: Handle GPIO and memory controller differences.
11098 Parse machine type in $a2.
11099 * grub-core/boot/mips/startup_raw.S: Determine and save the
11100 architecture.
11101 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
11102 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
11103 init on architecture type.
11104 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
11105 SIS315E. Don't init at_keyboard on fuloong.
11106 (grub_halt): Support Fuloong.
11107 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
11108 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
11109 (loongson_machtypes): New array.
11110 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
11111 type.
11112 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
11113 config. All users updated. Handle CS5536 serial.
11114 * grub-core/term/serial.c (grub_serial_register): Conditionalise
11115 default port on machine type. Register serial as inactive.
11116 * grub-core/video/sis315pro.c: New file.
11117 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
11118 definition.
11119 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
11120 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
11121 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
11122 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
11123 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
11124 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
11125 to ...
11126 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
11127 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
11128 definition.
11129 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
11130 (grub_arch_machine): New extern var.
11131 * include/grub/mips/loongson/serial.h
11132 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
11133 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
11134 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
11135 (GRUB_MACHINE_SERIAL_PORT0): ... this.
11136 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
11137 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
11138 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
11139 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
11140 * include/grub/term.h (grub_term_register_input_inactive): New inline
11141 function.
11142 (grub_term_register_output_inactive): Likewise.
11143 * include/grub/video.h (grub_video_driver_id): New value
11144 GRUB_VIDEO_DRIVER_SIS315PRO.
11145 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
11146 New field "names". All users updated.
11147 New field value IMAGE_FULOONG_FLASH.
11148 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
11149
11150 2011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
11151
11152 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
11153 and add some clarification.
11154
11155 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11156
11157 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
11158 platforms if kernel is compressed.
11159
11160 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11161
11162 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
11163 unused modules since currently referrence counter isn't reliable and
11164 there isn't much memory to recover there anyway.
11165
11166 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11167
11168 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
11169 rather than resetting it to allow modules to reference themselves
11170 in init.
11171
11172 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11173
11174 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
11175 counter on dependencies since grub_dl_unref already handles this.
11176
11177 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11178
11179 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
11180 on error if not already done.
11181
11182 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11183
11184 Fix few potential memory misusage.
11185
11186 * grub-core/font/font.c (load_font_index): Don't free char_index to
11187 avoid double free.
11188 (grub_font_load): Zero-fill font at alloc for safety.
11189 Close file on error.
11190 (free_font): Free bmp_idx.
11191
11192 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11193
11194 * docs/grub.texi (Installation): Fix several outdated claims.
11195
11196 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11197
11198 Handle module_license on windows.
11199
11200 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
11201 sections shifted.
11202 (insert_string): Make argument const char * instead of char *.
11203 (write_section_data): Handle long section names.
11204 Handle module_license.
11205
11206 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11207
11208 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
11209 handle class-free menuentries.
11210 (grub_normal_add_menu_entry): Add a check to be sure.
11211
11212 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11213
11214 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
11215 PgUp and PgDown.
11216
11217 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11218
11219 * configure.ac: Bump version to 1.99.
11220
11221 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11222
11223 Give ATA device a bit more time on first try in order to allow disks
11224 to spin up.
11225
11226 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
11227 if dev->present is 1. Reset dev->present on failure.
11228 (grub_ata_device_initialize): Set dev->present to 1.
11229 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
11230 (grub_ata_device): New member 'present'.
11231
11232 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11233
11234 * util/grub-mkimage.c (generate_image): Update hash.
11235
11236 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11237
11238 Flush caches on DMA memory.
11239
11240 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
11241 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
11242 (grub_dma_free): Likewise.
11243 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
11244
11245 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11246
11247 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
11248 to avoid asm treating ld and sd as macros.
11249
11250 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11251
11252 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
11253 decompressor.
11254
11255 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11256
11257 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
11258 grub_decompress_core since later would fail if grub_decompress_core
11259 is too far.
11260
11261 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11262
11263 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
11264 R_MIPS_JALR since it's used by newer compiler.
11265
11266 2011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
11267
11268 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
11269
11270 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11271
11272 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
11273 file_path to 0 for surety.
11274 (grub_chainloader_boot): Set exit_data to NULL.
11275 Unset the loader once done.
11276 (grub_cmd_chainloader): Fix confusing error message if file is empty.
11277
11278 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11279
11280 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
11281 unknown key into a dprintf.
11282
11283 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11284
11285 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
11286 on first non-existant partition.
11287
11288 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11289
11290 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
11291 openning fails.
11292 Reported by: Mark Korenberg.
11293
11294 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11295
11296 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
11297 overflow.
11298
11299 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11300
11301 * util/grub-mkimage.c (main): Explicitely flush and sync the output
11302 before closing to ensure that it will be readable by grub-setup.
11303
11304 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11305
11306 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
11307 (devpath_1): Use MAKE_PIWG_PATH.
11308 (devpath_2): Likewise.
11309 (devpath_3): Likewise.
11310 (devpath_4): Likewise.
11311 (devpath_5): Likewise.
11312 (devpath_6): Likewise.
11313
11314 The appleldr.mod was checked that to be binary identical to previous
11315 version.
11316
11317 2011-05-05 Zach <mikezackles>
11318
11319 Support 2010 Macbooks.
11320
11321 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
11322 (devs): Add devpath_6.
11323
11324 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11325
11326 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
11327 /dev/random. /dev/urandom is good enough for our purposes (salting).
11328
11329 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11330
11331 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
11332
11333 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11334
11335 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
11336 hexadecimal.
11337
11338 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11339
11340 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
11341 and not 0 on failure.
11342
11343 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
11344
11345 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
11346 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
11347 disk; otherwise grub_fs_probe will not fall back to the next
11348 filesystem.
11349 (grub_pxefs_open): Likewise, for consistency.
11350 Reported and tested by: Ezekiel Grave.
11351
11352 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
11353
11354 * tests/partmap_test.in: Don't hardcode path to parted.
11355 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
11356
11357 2011-05-01 Colin Watson <cjwatson@ubuntu.com>
11358
11359 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
11360 of `ls' to find out which devices are available.
11361
11362 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11363
11364 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
11365 than source address for efi mmap buffer.
11366
11367 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11368
11369 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
11370 wrong action on non-detecting the magic.
11371
11372 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11373
11374 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
11375 already supplied by another part of the module (fixes compilation on
11376 FreeBSD).
11377
11378 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11379
11380 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
11381 match the one used by mdadm.
11382
11383 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
11384
11385 * po/README: Add instructions for creating po/LINGUAS.
11386
11387 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
11388
11389 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
11390 #551428.
11391
11392 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
11393 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
11394 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
11395 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
11396 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
11397 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
11398 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
11399 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
11400 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
11401 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
11402 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
11403 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
11404 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
11405 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
11406 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
11407 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
11408 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
11409 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
11410 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
11411 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
11412 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
11413 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
11414
11415 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
11416
11417 * grub-core/kern/emu/getroot.c
11418 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
11419 test that was incorrectly reintroduced in r3214.
11420 Reported by: Ian Dall. Fixes Savannah bug #33133.
11421
11422 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
11423
11424 Fix stack pointer handling in 16-bit relocator.
11425
11426 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
11427 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
11428 Fixes Ubuntu bug #683904.
11429
11430 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
11431
11432 * configure.ac: Bump version to 1.99~rc2.
11433
11434 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
11435
11436 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
11437 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
11438 * grub-core/lib/x86_64/setjmp.S: Likewise.
11439 * grub-core/lib/mips/setjmp.S: Likewise.
11440 * grub-core/lib/powerpc/setjmp.S: Likewise.
11441 * grub-core/lib/sparc64/setjmp.S: Likewise.
11442
11443 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
11444
11445 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
11446 * grub-core/lib/efi/datetime.c: Likewise.
11447
11448 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11449
11450 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
11451 New function.
11452 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
11453 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
11454 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
11455
11456 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11457
11458 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
11459 bitmap.
11460 (grub_gfxterm_term_init): Likewise.
11461
11462 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11463
11464 Take into account the decorations the computing menu entry width.
11465
11466 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
11467 (grub_gfxmenu_create_box): Register get_border_width.
11468 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
11469 if available.
11470 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
11471 get_border_width.
11472
11473 2011-04-18 Endres Puschner <code@e7p.de>
11474
11475 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
11476 Don't skip first class.
11477
11478 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11479
11480 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
11481 chunks.
11482 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
11483
11484 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11485
11486 Complete 64-bit division support.
11487
11488 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
11489 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
11490 * include/grub/misc.h (grub_divmod64): Rename to ...
11491 (grub_divmod64_full): ... this.
11492 (grub_divmod64): New inline function.
11493
11494 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11495
11496 * util/grub-mkimage.c (generate_image): Add forgotten comma.
11497
11498 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11499
11500 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
11501 performing the necessary test.
11502
11503 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
11504
11505 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
11506 (kfreebsd.elf): Likewise.
11507 (pc-chainloader.elf): Likewise.
11508 (ntldr.elf): Likewise.
11509
11510 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
11511
11512 Identify RAID by its UUID rather than (guessed) name.
11513
11514 * grub-core/disk/raid.c (ascii2hex): New function.
11515 (grub_raid_open): Accept mduuid/%s specification.
11516 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
11517 (get_mdadm_uuid): ... this.
11518 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
11519
11520 2011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
11521
11522 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
11523 to negative size.
11524
11525 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
11526
11527 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
11528 btrfs subvolume.
11529 * util/grub.d/20_linux_xen.in: Likewise.
11530
11531 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
11532
11533 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
11534 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
11535
11536 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
11537 Build a list of relevant visible mounts using the mnt_id and
11538 parent_mnt_id fields, and then scan that list at the end.
11539
11540 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
11541
11542 * docs/grub.texi (normal): New section.
11543 (normal_exit): New section.
11544 (Embedded configuration): Add reference to normal.
11545 (GRUB only offers a rescue shell): Likewise.
11546 * docs/grub-dev.texi (Error Handling): Fix typo.
11547
11548 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
11549
11550 * NEWS: Drop obsolete entry about probe-only btrfs support.
11551
11552 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
11553
11554 * util/import_gcry.py: Fix typo.
11555
11556 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11557
11558 * NEWS: Add btrfs support.
11559
11560 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11561 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
11562
11563 BtrFS support. Written by me (Vladimir) with important bugfixes and
11564 even more important testing by Colin.
11565
11566 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
11567 * grub-core/Makefile.core.def (btrfs): Add crc.c.
11568 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
11569 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
11570 mem_input_off and mem_input. All users updated to accept in-RAM input.
11571 (gzio_seek): New function.
11572 (test_zlib_header): Likewise.
11573 (grub_gzio_read): Likewise.
11574 (grub_zlib_decompress): Likewise.
11575 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
11576 Accept partial and non-virtual mounts.
11577 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
11578 avoid receiving /dev/dm-X as device.
11579 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
11580 Handle bind and partial mounts.
11581 * grub-core/lib/crc.c: New file.
11582 * include/grub/deflate.h: Likewise.
11583 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
11584 proto.
11585 * include/grub/lib/crc.h: New file.
11586
11587 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11588
11589 Implement automatic module license checking according to new GNU
11590 guidelines.
11591
11592 * grub-core/kern/dl.c (grub_dl_check_license): New function.
11593 (grub_dl_load_core): Use grub_dl_check_license.
11594 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
11595 (GRUB_MOD_LICENSE): Likewise.
11596 (GRUB_MOD_DUAL_LICENSE): Likewise.
11597 All modules updated.
11598
11599 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
11600
11601 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
11602 reserved_first_sector to 1. btrfs reserves plenty of space for boot
11603 loaders.
11604 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
11605
11606 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11607
11608 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
11609
11610 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11611
11612 * util/grub-fstest.c (read_file): Report GRUB error if file opening
11613 failed.
11614
11615 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11616
11617 * grub-core/kern/file.c (grub_file_open): Don't take into account the
11618 parenthesis in the middle of the filename.
11619
11620 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11621
11622 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
11623 rather than trying to put initrd way too high.
11624 Reported by: Ryan Lortie <desrt@desrt.ca>
11625
11626 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11627
11628 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
11629 improperly removed string.
11630
11631 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11632
11633 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
11634 is_disk.
11635 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
11636 (open_device) Likewise.
11637 (grub_util_biosdisk_close): Likewise.
11638 Reported by: Mark Korenberg.
11639
11640 2011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
11641
11642 * util/grub-mkconfig_lib.in: Add missing quotes.
11643
11644 2011-04-10 Colin Watson <cjwatson@ubuntu.com>
11645
11646 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
11647 is NULL.
11648
11649 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11650
11651 Dynamically count the number of lines for the lower banner.
11652
11653 * grub-core/normal/menu_entry.c (per_term_screen): New member
11654 num_entries.
11655 (print_down): Use num_entries.
11656 (update_screen): Likewise.
11657 (grub_menu_entry_run): Set num_entries.
11658 * grub-core/normal/menu_text.c (menu_viewer_data): New member
11659 num_entries.
11660 (grub_print_message_indented): Move real part to ...
11661 (grub_print_message_indented_real): ... here. Additional argument
11662 dry_run.
11663 (draw_border): Additional argument num_entries.
11664 (print_message): Additional argument dry_run.
11665 (print_entries): Receive menu viewer data.
11666 (grub_menu_init_page): New argment num_entries.
11667 (menu_text_set_chosen_entry): Use num_entries.
11668 (grub_menu_try_text): Likewise.
11669 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
11670 All users updated.
11671 (grub_ucs4_count_lines): New function.
11672 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
11673 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
11674 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
11675 (grub_term_border_height): Likewise.
11676 (grub_term_num_entries): Likewise.
11677
11678 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11679
11680 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
11681 Remove now unused string.
11682
11683 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
11684
11685 * docs/grub-dev.texi (Finding your way around): Update for 1.99
11686 build system.
11687 (Getting started): GRUB is developed in Bazaar now, not Subversion.
11688
11689 (Comment): Fix typo.
11690 (Getting started): General copy-editing.
11691 (Typical Development Experience): Likewise.
11692 (Error Handling): Likewise.
11693 (Video API): Likewise.
11694
11695 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
11696
11697 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
11698 throughout.
11699
11700 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11701
11702 * util/grub-mkimage.c (main): Handle special naming of yeeloong
11703 directory.
11704
11705 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
11706
11707 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
11708 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
11709 "development".
11710
11711 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11712
11713 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
11714 grub_strcpy since the lines aren't necessarily 0-terminated.
11715
11716 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11717
11718 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
11719 root on legacy.
11720
11721 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11722
11723 * grub-core/commands/probe.c (options): Argument to set isn't optional.
11724 (GRUB_MOD_INIT): DEVICE isn't optional.
11725
11726 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11727
11728 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
11729 word on new line if it's too long anyway. Fixes a hang.
11730
11731 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11732
11733 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
11734 const.
11735 * util/grub-setup.c (main): Reuse md device name if available.
11736 * util/raid.c (grub_util_raid_getmembers): Receive device name and
11737 not GRUB name as argument.
11738 Based on patch by: Florian Wagner <fwagner>.
11739
11740 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11741
11742 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
11743 Place mbi on low memory for better compatibility.
11744
11745 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11746
11747 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
11748
11749 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11750 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
11751
11752 * autogen.sh: Ensure that collate and ctype locale is C.
11753 * conf/Makefile.common: Likewise.
11754
11755 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11756
11757 * grub-core/normal/menu.c: Add missing include.
11758
11759 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11760
11761 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
11762
11763 2011-04-08 Martin Zuther <mzuther@mzuther.de>
11764
11765 * util/grub-mkconfig.in: Ignore emacsen backup.
11766
11767 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11768
11769 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
11770 on open.
11771 (grub_util_biosdisk_close): Likewise.
11772
11773 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11774
11775 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
11776 const attribute and use grub_isdigit.
11777
11778 2011-04-06 Andrey <dev_null@ukr.net>
11779
11780 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
11781 gcc warning.
11782
11783 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11784
11785 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
11786 useful grub_dprintf's.
11787
11788 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11789
11790 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
11791
11792 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11793
11794 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
11795
11796 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11797
11798 Output errors if theme loading failed.
11799
11800 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
11801 grub_gfxterm_fullscreen on error paths to ...
11802 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
11803 theme loading error.
11804
11805 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11806
11807 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
11808 space for older compilers.
11809 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
11810
11811 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11812
11813 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
11814 and report them as not RAID members since they are useless for GRUB.
11815 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
11816
11817 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11818
11819 Increase LVM implementation robustness in order not to crash on
11820 configurations like pvmove. Previously code assumed that in some places
11821 only lvs or only pvs are used whereas it seems that they are used
11822 interchangeably.
11823
11824 * grub-core/disk/lvm.c (read_node): New function.
11825 (read_lv): Use read_node.
11826 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
11827 Match volumes only at the end when all lvs are found. Take both
11828 pvs (first) and lvs (second) into account.
11829 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
11830 mirror_* into node_*. All users updated.
11831 (grub_lvm_stripe): Merge this ...
11832 (grub_lvm_mirror): ... and this ...
11833 (grub_lvm_node): ... into this. All users updated.
11834
11835 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11836
11837 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
11838 of function to allow further scanning for LVMs.
11839
11840 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11841
11842 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
11843 on failed seek as it breaks open fd reusage.
11844
11845 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11846
11847 * util/grub-install.in: Add a recommendation to use --recheck before
11848 reporting bugs.
11849
11850 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11851
11852 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
11853 are obtained.
11854
11855 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11856
11857 GRUB developper manual based on existing Internals section and
11858 contributions by the various authors with active copyright assignment.
11859
11860 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
11861 * docs/font_char_metrics.png: New file.
11862 * docs/font_char_metrics.txt: Likewise.
11863 * docs/grub-dev.texi: Likewise.
11864 * docs/grub.texi (Internals): Move from here ...
11865 * docs/grub-dev.texi: ... here.
11866
11867 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
11868
11869 Store the loopback device as data on loopback grub_disk structures,
11870 rather than the file it points to. This fixes use of freed memory
11871 if an existing loopback device is replaced.
11872
11873 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
11874 disk->data, not dev->file.
11875 (grub_loopback_read): Adjust file assignment to match.
11876 Fixes Ubuntu bug #742967.
11877
11878 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
11879
11880 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
11881 when replacing an existing device.
11882
11883 2011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
11884
11885 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
11886 memory corruptions.
11887
11888 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
11889 unsigned.
11890 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
11891 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
11892 (grub_jfs_read_inode): Likewise.
11893 (grub_jfs_opendir): Likewise. Remove now useless casts.
11894 (grub_jfs_getent): Likewise.
11895 Make ino a grub_uint32_t rather than int.
11896 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
11897 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
11898 division and module with bit operations.
11899 (grub_jfs_find_file): Make ino a grub_uint32_t.
11900 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
11901
11902 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
11903
11904 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
11905 warning. (This was in fact always initialised before use, but GCC
11906 wasn't smart enough to prove that.)
11907 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
11908
11909 2011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11910
11911 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
11912 stack alignment.
11913 (efi_wrap_1): Likewise.
11914 (efi_wrap_2): Likewise.
11915 (efi_wrap_3): Likewise.
11916 (efi_wrap_4): Likewise.
11917 (efi_wrap_5): Likewise.
11918 (efi_wrap_6): Likewise.
11919 (efi_wrap_10): Likewise.
11920 Based on information by: Red Hat/Peter Jones.
11921
11922 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
11923
11924 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
11925 set-but-not-used variable.
11926
11927 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
11928
11929 * docs/grub.texi (Simple configuration): Be more explicit about
11930 GRUB_DEFAULT, and add an example.
11931 Reported by: Leslie Rhorer.
11932
11933 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
11934
11935 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
11936 shell".
11937
11938 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
11939
11940 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
11941 * util/grub.d/20_linux_xen.in: Likewise.
11942
11943 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11944
11945 * util/grub.d/10_linux.in: Try alternative config filenames where
11946 we parse config file.
11947 * util/grub.d/20_linux_xen.in: Likewise.
11948
11949 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
11950
11951 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
11952 * util/grub.d/20_linux_xen.in: Likewise.
11953
11954 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11955
11956 * grub-core/disk/raid.c (insert_array): Add few potentially
11957 useful grub_util_info.
11958 (grub_raid_register): Likewise.
11959
11960 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11961
11962 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
11963 Preserve partition number in mdadm code path.
11964
11965 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11966
11967 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
11968 few potentially useful grub_util_info.
11969
11970 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11971
11972 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
11973
11974 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
11975
11976 * docs/grub.texi (default): Use @example rather than nested
11977 itemized lists to avoid breaking gendocs.
11978
11979 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
11980
11981 * docs/grub.texi (Future): Update.
11982
11983 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
11984
11985 * docs/grub.texi (Environment): New chapter.
11986 (Changes from GRUB Legacy): Link to "Environment block" section for
11987 details of limitations.
11988 (Simple configuration): Likewise. Link to documentation of gfxmode
11989 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
11990 respectively.
11991 (Shell-like scripting): Note that normal variables are stored in the
11992 environment.
11993 (gettext): Link to documentation of lang and locale_dir.
11994 (list_env): New section.
11995 (load_env): New section.
11996 (save_env): New section.
11997
11998 (Reporting bugs): Fix typo.
11999
12000 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12001
12002 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
12003 the example.
12004
12005 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12006
12007 * grub-core/term/at_keyboard.c (set_scancodes)
12008 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
12009
12010 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
12011
12012 * docs/grub.texi (Menu-specific commands): Remove some semantics
12013 that were true in GRUB Legacy but not in GRUB 2.
12014 (submenu): New section.
12015 (false): New section.
12016 (read): New section.
12017 (true): New section.
12018
12019 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
12020
12021 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
12022
12023 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
12024
12025 * docs/grub.texi (Simple configuration): Explain some of the
12026 current limitations of grub-mkconfig.
12027 Reported by: Leslie Rhorer.
12028
12029 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12030
12031 Old macs search for boot.efi rather than for bootia32.efi.
12032
12033 * util/grub-install.in: Copy bootia32.efi to boot.efi.
12034 * util/grub-mkrescue.in: Likewise.
12035 Suggested by: Peter Jones.
12036
12037 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12038
12039 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
12040
12041 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12042
12043 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
12044 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
12045 (grub_lvm_mirror): New struct.
12046 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
12047 (grub_lvm_iterate): Iterate only visible volumes.
12048 (grub_lvm_read): Factor out to ..
12049 (read_lv): ... this. Support mirrors.
12050 (grub_lvm_read): New wrapper function.
12051 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
12052 stripped or mirrored.
12053
12054 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12055
12056 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
12057
12058 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
12059
12060 * docs/grub.texi (loopback): New section.
12061
12062 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
12063
12064 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
12065 removed -p option.
12066
12067 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
12068
12069 * docs/grub.texi (BIOS installation): New section, partly based on
12070 previous text in other sections.
12071 (Installing GRUB using grub-install): Replace BIOS discussion with a
12072 cross-reference.
12073 (Images): Likewise.
12074
12075 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12076
12077 * grub-core/kern/emu/hostdisk.c (find_partition_start)
12078 [HAVE_DIOCGDINFO]: Add safety checks.
12079
12080 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12081
12082 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
12083 per default compiled in kernel and prior to 8.0 isn't shipped at all.
12084
12085 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
12086
12087 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
12088 real_sb->size is zero (e.g. RAID-0), get the disk size from
12089 real_sb->data_size instead.
12090 Fixes Ubuntu bug #743136.
12091
12092 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12093
12094 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
12095 printf clauses for printing size and start.
12096
12097 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12098
12099 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
12100 Reported and tested by: Timothy Nikkel.
12101
12102 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12103
12104 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
12105 (dirty_region_add_real): ... this.
12106 (dirty_region_add): Don't discard margin refresh when performing
12107 scheduled repaint.
12108
12109 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12110
12111 * grub-core/lib/relocator.c (allocate_regstart)
12112 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
12113 terminals are capabple of malloc-free operation.
12114 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
12115 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
12116
12117 2011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
12118
12119 * util/grub-setup.c: Copy the partition table zone if floppy support
12120 is disabled, even if no partition table is found.
12121
12122 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
12123 during POST if an invalid partition table is contained in the PBR
12124 of the active partition when GRUB is installed to a partition.
12125
12126 2011-03-28 Colin Watson <cjwatson@debian.org>
12127
12128 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
12129 comment.
12130
12131 2011-03-28 Colin Watson <cjwatson@debian.org>
12132
12133 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
12134 to be specific about what kind of RAID device we're scanning for.
12135
12136 2011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
12137
12138 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
12139 return freed string.
12140
12141 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12142
12143 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
12144
12145 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12146
12147 Use libgeom on FreeBSD to detect partitions.
12148
12149 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
12150 (grub-mkrelpath): Likewise.
12151 (grub-script-check): Likewise.
12152 (grub-editenv): Likewise.
12153 (grub-mkpasswd-pbkdf2): Likewise.
12154 (grub-fstest): Likewise.
12155 (grub-mkfont): Likewise.
12156 (grub-mkdevicemap): Likewise.
12157 (grub-probe): Likewise.
12158 (grub-setup): Likewise.
12159 (grub-ofpathname): Likewise.
12160 (grub-mklayout): Likewise.
12161 (example_unit_test): Likewise.
12162 (grub-menulst2cfg): Likewise.
12163 * grub-core/Makefile.core.def (grub-emu): Likewise.
12164 (grub-emu-lite): Likewise.
12165 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
12166 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
12167 define HAVE_DIOCGDINFO.
12168 (follow_geom_up) [FreeBSD]: New function.
12169 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
12170 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
12171 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
12172 unconditionally of HAVE_DIOCGDINFO.
12173
12174 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12175
12176 Fix FreeBSD compilation problem.
12177
12178 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
12179 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
12180
12181 2011-03-24 Colin Watson <cjwatson@ubuntu.com>
12182
12183 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
12184 Switch back to page zero before loading a kernel, since some kernel
12185 drivers expect that.
12186 Thanks to: Felix Kuehling.
12187
12188 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12189
12190 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
12191 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
12192 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
12193
12194 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12195
12196 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
12197 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
12198
12199 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12200
12201 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
12202 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
12203 malloc is disabled.
12204
12205 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12206
12207 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
12208 for modules headers when counting the needed allocation size.
12209
12210 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12211
12212 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
12213 if no ASCII character is found to prevent crash.
12214
12215 2011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
12216
12217 * grub-core/video/bitmap.c (match_extension): Ignore case.
12218
12219 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12220
12221 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
12222
12223 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12224
12225 * grub-core/script/parser.y: Declare "time" as valid argument.
12226
12227 2011-03-23 Peter Jones <pjones@redhat.com>
12228
12229 Fix incorrect assert failure reporting.
12230
12231 * grub-core/tests/example_functional_test.c (example_test): Add
12232 a failure comment.
12233 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
12234 (failure_start): ...this. Check that malloc succeeded.
12235 Don't call xvasprintf. Return failure struct.
12236 (failure_append_vtext): New function.
12237 (failure_append_text): Likewise.
12238 (add_failure): Likewise.
12239 (grub_test_assert_helper): Likewise.
12240 * include/grub/test.h (grub_test_assert_helper): New declaration.
12241 (grub_test_assert): Macro rewritten.
12242
12243 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12244
12245 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
12246
12247 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12248
12249 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
12250
12251 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12252
12253 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
12254 into GRUB-style one.
12255
12256 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12257
12258 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
12259 error and not grub_errno.
12260 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
12261
12262 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12263
12264 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
12265 GRUB_USB_SPEED_NONE in case of failure and not the error code.
12266
12267 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12268
12269 * grub-core/efiemu/i386/pc/cfgtables.c
12270 (grub_machine_efiemu_init_tables): Make declaration a prototype.
12271 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
12272 (grub_xnu_unlock): Likewise.
12273 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
12274
12275 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12276
12277 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
12278 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
12279 * grub-core/commands/hashsum.c (aliases): Likewise.
12280 * grub-core/commands/setpci.c (pci_registers): Likewise.
12281 * grub-core/disk/usbms.c (attach_hook): Likewise.
12282 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
12283 (zio_checksum_table): Likewise.
12284 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
12285 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
12286 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
12287 * grub-core/lib/relocator.c (leftovers): Likewise.
12288 (extra_blocks): Likewise.
12289 * grub-core/loader/i386/bsd.c (relocator): Likewise.
12290 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
12291 (modules_last): Likewise.
12292 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
12293 (devices): Likewise.
12294 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
12295 (modules_last): Likewise.
12296 * grub-core/normal/auth.c (users): Likewise.
12297 * grub-core/normal/context.c (initial_menu): Likewise.
12298 (current_menu): Likewise.
12299 * grub-core/normal/crypto.c (crypto_specs): Likewise.
12300 * grub-core/term/serial.c (grub_serial_ports): Likewise.
12301 (grub_serial_terminfo_input_template): Likewise.
12302 (grub_serial_terminfo_output_template): Likewise.
12303 (grub_serial_terminfo_input): Likewise.
12304 (grub_serial_terminfo_output): Likewise.
12305 (registered): Likewise.
12306 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
12307
12308 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12309
12310 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
12311 grub_video_mode_type_t.
12312 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
12313 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
12314 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
12315
12316 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12317
12318 * util/grub-install.in: Correct the x86-64 name as x86_64.
12319
12320 2011-03-11 Colin Watson <cjwatson@ubuntu.com>
12321
12322 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
12323 initial chunk read from the kernel always includes GRUB's multiboot
12324 header, which is now outside the first sector.
12325
12326 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
12327
12328 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
12329 cached mmap_size, so that this works correctly when called multiple
12330 times.
12331 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
12332
12333 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
12334
12335 * docs/grub.texi (Simple configuration): Tidy up formatting.
12336
12337 2011-03-07 Szymon Janc <szymon@janc.net.pl>
12338
12339 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
12340 Set-but-not-used variable removed.
12341
12342 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12343
12344 Workaround yet another IEEE1275 bug.
12345
12346 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
12347 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
12348 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
12349 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
12350 is set.
12351 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
12352 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
12353
12354 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12355
12356 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
12357 error.
12358
12359 2011-02-11 Colin Watson <cjwatson@ubuntu.com>
12360
12361 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
12362 empty, since in that case we can only generate either nothing or a
12363 syntactically invalid configuration file.
12364 Reported by: Michal Suchanek. Fixes Debian bug #612898.
12365
12366 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
12367
12368 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
12369 (Making a GRUB bootable CD-ROM): Likewise.
12370 (Invoking grub-mkrescue): New section.
12371 Reported by: Yann Dirson. Fixes Debian bug #612585.
12372
12373 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
12374
12375 * util/grub-install.in: Remove unnecessary brackets from tr
12376 arguments.
12377 * util/grub.d/10_hurd.in: Likewise.
12378 * util/grub.d/10_kfreebsd.in: Likewise.
12379 * util/grub.d/10_linux.in: Likewise.
12380 * util/grub.d/20_linux_xen.in: Likewise.
12381 Reported by: Jamie Heilman. Fixes Debian bug #612564.
12382
12383 2011-02-08 Colin Watson <cjwatson@ubuntu.com>
12384
12385 * include/grub/file.h (not_easly_seekable): Rename to ...
12386 (not_easily_seekable): ... this. Update all users.
12387
12388 2011-01-28 Colin Watson <cjwatson@ubuntu.com>
12389
12390 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
12391 grub-mkrescue.
12392
12393 2011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12394
12395 * util/grub-mkimage.c (generate_image): Refuse to create the images
12396 bigger than the actual flash (512K) in Loongson machines. 512K is also
12397 the biggest chip supported by them.
12398
12399 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12400
12401 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
12402
12403 2011-01-22 Anthony DeRobertis <anthony@derobert.net>
12404
12405 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
12406 super_offset field.
12407
12408 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12409
12410 * util/grub-install.in: Ignore install device on platforms
12411 where it doesn't make sense. Always use UUIDs except on pc, efi and
12412 sparc64.
12413 Reported by: Daniel Kahn Gillmor.
12414
12415 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12416
12417 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
12418
12419 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12420
12421 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
12422 (iterate_real): Don't rely on partition being non-NULL.
12423
12424 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12425
12426 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
12427 supported platforms. Put a compile time assert for this rather than
12428 generate a warning with 32-bit shift.
12429
12430 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12431
12432 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
12433 logical expression more readable.
12434
12435 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12436
12437 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
12438 even if some elements have a name.
12439 Reported by: Alexander GQ Gerasiov.
12440
12441 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
12442
12443 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
12444 path unreadable if `grub-probe -t abstraction' fails, for example if
12445 memberlist fails on an LVM volume group.
12446 Reported by: Darius Jahandarie.
12447
12448 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
12449
12450 * docs/grub.texi (Simple configuration): Document
12451 GRUB_PRELOAD_MODULES.
12452
12453 2011-01-17 Colin Watson <cjwatson@ubuntu.com>
12454
12455 * .bzrignore: Remove nonexistent grub-pbkdf2.
12456
12457 2011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
12458
12459 * configure.ac: Bump version to 1.99~rc1.
12460
12461 2011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
12462
12463 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
12464 for safety.
12465
12466 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12467
12468 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
12469 module.
12470
12471 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12472
12473 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
12474
12475 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12476
12477 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
12478 diskdevid.
12479
12480 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12481
12482 Fix compilation on cygwin.
12483
12484 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
12485 -R .drectve on cygwin.
12486 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
12487 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
12488 (COND_CYGWIN): New condition.
12489 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
12490 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
12491 not @TARGET_OBJ2ELF@.
12492 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
12493 type to determine whether aux is to be used.
12494
12495 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12496
12497 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
12498 realpath'ed device string.
12499 Handle floppy (somewhat).
12500 Issue error in unknown case rather than garbage.
12501 Reported by: Axel Beckert.
12502
12503 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12504
12505 * util/grub.d/00_header.in (load_video): Handle the case when no video
12506 drivers available.
12507 Thanks to: Axel Beckert.
12508
12509 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12510
12511 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
12512 variable. Fixes problem on big endian platforms.
12513
12514 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12515
12516 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
12517 It doesn't work well there.
12518
12519 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12520
12521 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
12522 warning.
12523 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
12524 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
12525 counter.
12526
12527 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12528
12529 Use alias->path rather than buggy "canon".
12530
12531 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
12532 (ofdisk_hash_add): New argument curcan. All users updated.
12533
12534 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
12535
12536 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
12537
12538 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12539
12540 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
12541 loadmask before doing any calculations. Use correct type for offset.
12542 (grub_linux_load64): Likewise.
12543
12544 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
12545
12546 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
12547 with NULL.
12548 (console_grub_equivalences_unshift): Likewise.
12549 Reported by: Daniel Dehennin.
12550
12551 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12552
12553 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
12554 (set_env_limn_ro): Likewise.
12555 (GRUB_MOD_INIT): Likewise.
12556 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
12557 ARRAY_SIZE while on it.
12558 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
12559 * grub-core/normal/context.c (grub_env_export): Move from here ...
12560 * grub-core/kern/env.c (grub_env_export): ... here.
12561 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
12562 prefix.
12563 * grub-core/kern/main.c (grub_main): Export root and prefix.
12564 * include/grub/env.h (grub_env_export): Export.
12565 Reported by: Seth Goldberg.
12566
12567 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12568
12569 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
12570 Take into account space used by ELF sections and multiboot palette.
12571 Reported by: Grégoire Sutre.
12572
12573 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12574
12575 * BUGS: New file.
12576
12577 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12578
12579 Pass more appropriate video id to Linux.
12580
12581 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
12582 grub_video_get_driver_id and variable gfxpayloadforcelfb to
12583 fill have_vga.
12584 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
12585 shift params->lfb_size.
12586 * include/grub/i386/linux.h: Make an enume out of have_vga values.
12587
12588 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12589
12590 * util/grub-menulst2cfg.c: Add missing include of misc.h.
12591
12592 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12593
12594 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
12595 separator and pass bootpath/devid even if only one of them is available.
12596 Reported by: Seth Goldberg.
12597
12598 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12599
12600 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
12601 implementations bug on them.
12602
12603 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
12604 memory.
12605 (filter_memory_map): Likewise.
12606
12607 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12608
12609 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
12610 Reported by: nebuchadnezzar.
12611
12612 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12613
12614 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
12615 Reported by: nebuchadnezzar.
12616
12617 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12618
12619 Submenu default support.
12620
12621 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
12622 auto_boot. All users updated.
12623 Declared static.
12624 Handle chosen and default with submenus.
12625 (grub_menu_execute_with_fallback): Declared static.
12626 Don't notify failure if autobooted. Upper level does it.
12627 (menuentry_eq): New function.
12628 (get_entry_number): Use menuentry_eq.
12629 (show_menu): New parameter "autobooted". All users updated.
12630 (grub_show_menu): Likewise.
12631 * include/grub/normal.h (grub_show_menu): Likewise.
12632 * include/grub/menu.h (grub_menu_execute_entry): Removed.
12633 (grub_menu_execute_with_fallback): Likewise.
12634
12635 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12636
12637 * util/grub-mklayout.c (usage): Update help text.
12638
12639 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12640
12641 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
12642
12643 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12644
12645 * util/grub-menulst2cfg.c (main): Trim the line.
12646
12647 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12648
12649 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
12650 (grub_machine_init): Don't check amount of low memory as reportedly
12651 INT 12h can be broken and if low memory is too low we wouldn't have
12652 gotten into grub_machine_init anyway.
12653
12654 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12655
12656 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
12657 (grub_machine_mmap_iterate): Take low memory into account
12658
12659 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12660
12661 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
12662 badfs.
12663 Reported by: TiCPU.
12664
12665 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12666
12667 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
12668 members errors.
12669
12670 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
12671
12672 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
12673 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
12674
12675 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
12676
12677 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
12678 openbsd and netbsd types being in part_bsd module.
12679
12680 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12681
12682 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
12683 (_FILE_OFFSET_BITS): Likewise.
12684 Reported by: Seth Goldberg.
12685
12686 2011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
12687
12688 * configure.ac: Check for libdevmapper header.
12689
12690 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12691
12692 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
12693 avoid aliasing.
12694 (fzap_lookup): Likewise.
12695 (dnode_get): Likewise.
12696 (make_mdn): Likewise.
12697 (zfs_mount): Likewise.
12698 (fzap_iterate): Use temporary pointer to avoid aliasing.
12699 (grub_zfs_read): Likewise.
12700 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
12701 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
12702 pointers to avoid aliasing.
12703 (grub_cmd_xnu_kernel64): Likewise.
12704 (grub_xnu_load_driver): Likewise.
12705
12706 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12707
12708 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
12709 aliasing warning.
12710 (grub_cmd_terminal_output): Likewise.
12711 Reported and tested by: Grégoire Sutre.
12712
12713 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12714
12715 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
12716 warning.
12717 Reported and tested by: Grégoire Sutre.
12718
12719 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12720
12721 * configure.ac: Do CPU substitution even if it's specified explicitly.
12722 Reported and tested by: Alain Greppin.
12723
12724 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12725
12726 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
12727 Reported and tested by: Alain Greppin.
12728
12729 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12730
12731 Satisfy some bison versions need for inttypes.h.
12732
12733 * grub-core/lib/posix_wrap/inttypes.h: New file.
12734 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
12735 (int16_t): Likewise.
12736 (int32_t): Likewise.
12737 (int64_t): Likewise.
12738 Reported and tested by: Alain Greppin.
12739
12740 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12741
12742 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
12743 Silence spurious warning.
12744 Reported and tested by: Alain Greppin.
12745
12746 2011-01-07 Szymon Janc <szymon@janc.net.pl>
12747
12748 * docs/grub.texi (Support automatic decompression): Update with xz
12749 decompression support.
12750
12751 2011-01-07 Szymon Janc <szymon@janc.net.pl>
12752
12753 Improve loaders' kernel command line handling.
12754
12755 * grub-core/lib/cmdline.c: New file.
12756 * include/grub/lib/cmdline.h: Likewise.
12757 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
12758 grub_create_loader_cmdline to create kernel command line.
12759 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
12760 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
12761 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
12762 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
12763 (linux): Add lib/cmdline.c on common.
12764
12765 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
12766
12767 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
12768 inopos might be unaligned.
12769
12770 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
12771
12772 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
12773 endian transformations.
12774 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
12775 Based on report by: Doug Nazar.
12776
12777 2011-01-07 Doug Nazar <nazard.michi@gmail.com>
12778
12779 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
12780 array->members[i].start_sector.
12781 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
12782
12783 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
12784
12785 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
12786 Reported and tested by: Grégoire Sutre.
12787
12788 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
12789
12790 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
12791 avoid causing test failures by clearing the screen.
12792
12793 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
12794
12795 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
12796 Fix prefix check to handle the case where dir ends with a slash
12797 (most significantly, "/" itself).
12798 Reported by: Michael Vogt.
12799
12800 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
12801
12802 Run terminfo_cls on initing terminfo output to clear the screen and
12803 move the cursor to (0,0).
12804
12805 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
12806 Call grub_terminfo_output_init.
12807 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
12808 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
12809 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
12810
12811 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
12812
12813 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
12814 only when needed.
12815
12816 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
12817
12818 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
12819 CTRL.
12820
12821 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
12822
12823 The E820 type 5 is BADRAM, not EXEC_CODE.
12824
12825 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
12826 (GRUB_E820_BADRAM): New define.
12827 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
12828 into reserved. Propagate BADRAM.
12829 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
12830 (GRUB_E820_BADRAM): New define.
12831
12832 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12833
12834 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
12835 Ignore the memory post-4G.
12836 (grub_relocator_firmware_alloc_region): Additional debug statement.
12837
12838 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12839
12840 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
12841 names.
12842 Reported by: David Pravec.
12843
12844 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12845
12846 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
12847 BIOSes.
12848
12849 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12850
12851 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
12852 Prevent overflow.
12853 (grub_reed_solomon_recover): Likewise.
12854
12855 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12856
12857 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
12858
12859 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12860
12861 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
12862 variable.
12863
12864 2011-01-04 Colin Watson <cjwatson@ubuntu.com>
12865
12866 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
12867 descriptions of extract_legacy_entries_source and
12868 extract_legacy_entries_configfile.
12869 Reported by: Seung Soo, Ha.
12870
12871 2011-01-03 Colin Watson <cjwatson@ubuntu.com>
12872
12873 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
12874 on devices that do not implement function 0.
12875
12876 2011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
12877
12878 * grub-core/fs/hfsplus.c: Make parent unsigned.
12879 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
12880 overflows.
12881 (grub_hfsplus_cmp_extkey): Likewise
12882
12883 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
12884
12885 * util/grub-install.in: Correctly use bootloader_id and not
12886 GRUB_DISTRIBUTOR on efibootmgr line.
12887
12888 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
12889
12890 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
12891
12892 2010-12-31 Ian Campbell <ijc@hellion.org.uk>
12893
12894 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
12895 Xen and reorder menu item wording to make it clearer that this entry
12896 will launch Xen. Print separate messages when loading Xen and
12897 Linux.
12898
12899 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
12900
12901 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
12902 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
12903 loop in case of incorrect amiga partmap.
12904
12905 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
12906
12907 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
12908 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
12909 Reported by:EHeM.
12910
12911 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
12912
12913 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
12914 spurious warning.
12915 Reported by: crocket
12916
12917 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12918
12919 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
12920 Preload EFIemu.
12921 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
12922
12923 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12924
12925 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
12926 is loaded
12927 (grub_cmd_xnu_kextdir): Likewise.
12928 (grub_cmd_xnu_splash): Likewise.
12929
12930 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12931
12932 Avoid using Reed-Solomon with 0 redundancy.
12933
12934 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
12935 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
12936 or 0 redundancy.
12937 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
12938 (grub_reed_solomon_recover): Likewise.
12939
12940 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12941
12942 Don't use disk subsystem in freebsd_boot.
12943
12944 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
12945 (freebsd_biosdev): Likewise.
12946 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
12947 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
12948
12949 2010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
12950
12951 Handling of files of unknown size is currently limited. They can't be
12952 used e.g. for initrd or modules. Moreover gzip handling of not
12953 easily seekable files is buggy. Disable unknown file size for now. May
12954 be inefficient but works.
12955
12956 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
12957 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
12958
12959 2010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
12960
12961 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
12962 floppy probe.
12963
12964 2010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
12965
12966 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
12967
12968 2010-12-25 Shea Levy <shlevy>
12969
12970 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
12971
12972 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12973
12974 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
12975 Windows Server 2008.
12976 Reported by: Devin Giddings.
12977
12978 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12979
12980 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
12981 writing an error message because of async power management.
12982 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
12983 (grub_reboot): Likewise.
12984
12985 2010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
12986
12987 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
12988 keep unit tests from failing when they shouldn't.
12989
12990 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
12991
12992 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
12993 previous patch increased the size of the RS code by 20 bytes (at
12994 least with gcc-4.4), so increase this by 20 bytes to match.
12995 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
12996
12997 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
12998
12999 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
13000 scratch area. Make sure to initialise chosen in standalone mode as
13001 well as non-standalone.
13002 Reported by: Robert Hooker and Andy Whitcroft.
13003 Tested by: Andy Whitcroft.
13004
13005 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
13006
13007 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
13008 constructing a new unescaped string and passing it to grub_xputs in
13009 one go, rather than passing characters to grub_printf one at a time.
13010
13011 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
13012
13013 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
13014 initialising utf16.
13015
13016 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
13017
13018 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
13019 comment. Add an extra layer of quotation, requiring the output of
13020 this function to be used in a printf format string.
13021 (gettext_printf): New function.
13022 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
13023 Extract translatable strings from here-documents and use a temporary
13024 variable instead, so that xgettext can find them.
13025 * util/grub.d/10_kfreebsd.in: Likewise.
13026 * util/grub.d/10_linux.in: Likewise.
13027 * util/grub.d/20_linux_xen.in: Likewise.
13028
13029 * po/grub.d.sed: New file.
13030 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
13031 arguments. Set c-format flags on all strings extracted from
13032 util/grub.d/ (xgettext refuses to include these itself for strings
13033 it extracted from a shell file, but these really are c-format).
13034
13035 2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
13036
13037 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
13038 Avoid next pointing to nowhere.
13039
13040 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
13041
13042 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
13043 rather than assuming than rootblock is exactly in the middle.
13044 (grub_affs_label): Likewise.
13045
13046 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
13047
13048 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
13049 reserved_first_sector to 0.
13050 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
13051 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
13052 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
13053
13054 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
13055
13056 Fix handling of UTF-16 UDF labels.
13057
13058 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
13059 (read_string): .. here.
13060 (grub_udf_label): Use read_string.
13061
13062 2010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
13063
13064 * grub-core/normal/menu_entry.c (run): Execute commands from menu
13065 editor under argument scope.
13066 Reported by: Jordan Uggla
13067
13068 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13069
13070 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
13071
13072 2010-12-18 Colin Watson <cjwatson@ubuntu.com>
13073
13074 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
13075 line, and other keys scroll an entire page (previous handling was
13076 for \r and \n to scroll a page and other keys to scroll two lines).
13077
13078 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13079
13080 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
13081 Set ptrdest to correct get_physical_target_address rather than
13082 incorrect get_virtual_current_address.
13083
13084 2010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
13085
13086 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
13087 correct cat to grub_uint8_t * rather than grub_uint32_t *.
13088
13089 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
13090
13091 * .bzrignore: Ignore grub-core/rs_decoder.S.
13092
13093 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
13094
13095 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
13096 .mo/.mo.gz opening sequence to ...
13097 (grub_mofile_open_lang): ... here.
13098 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
13099 * util/grub.d/00_header.in (grub_lang): Include country part of
13100 locale.
13101 Reported by: Mario Limonciello.
13102
13103 2010-12-09 Robert Millan <rmh@gnu.org>
13104
13105 * NEWS: Document addition of ZFS support.
13106
13107 2010-12-04 Colin Watson <cjwatson@ubuntu.com>
13108
13109 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
13110 rather than `/ 2', as the latter requires -Wa,--divide which would
13111 require bumping our minimum binutils version.
13112
13113 2010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
13114
13115 * util/grub-script-check.c (main): Print script line number on
13116 error.
13117
13118 2010-12-01 Robert Millan <rmh@gnu.org>
13119
13120 * grub-core/fs/zfs/zfs.c: New file.
13121 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
13122 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
13123 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
13124 * grub-core/fs/zfs/zfsinfo.c: Likewise.
13125
13126 * include/grub/zfs/dmu.h: Likewise.
13127 * include/grub/zfs/dmu_objset.h: Likewise.
13128 * include/grub/zfs/dnode.h: Likewise.
13129 * include/grub/zfs/dsl_dataset.h: Likewise.
13130 * include/grub/zfs/dsl_dir.h: Likewise.
13131 * include/grub/zfs/sa_impl.h: Likewise.
13132 * include/grub/zfs/spa.h: Likewise.
13133 * include/grub/zfs/uberblock_impl.h: Likewise.
13134 * include/grub/zfs/vdev_impl.h: Likewise.
13135 * include/grub/zfs/zap_impl.h: Likewise.
13136 * include/grub/zfs/zap_leaf.h: Likewise.
13137 * include/grub/zfs/zfs.h: Likewise.
13138 * include/grub/zfs/zfs_acl.h: Likewise.
13139 * include/grub/zfs/zfs_znode.h: Likewise.
13140 * include/grub/zfs/zil.h: Likewise.
13141 * include/grub/zfs/zio.h: Likewise.
13142 * include/grub/zfs/zio_checksum.h: Likewise.
13143
13144 * Makefile.util.def: Build ZFS into libgrubmods.
13145 * grub-core/Makefile.core.def: Build zfs.mod.
13146
13147 2010-11-30 Szymon Janc <szymon@janc.net.pl>
13148
13149 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
13150 variable.
13151 * grub-core/commands/wildcard.c (match_files): Likewise.
13152
13153 2010-11-30 Robert Millan <rmh@gnu.org>
13154
13155 * grub-core/loader/i386/bsd.c
13156 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
13157 whether kernel is loaded using grub_loader_is_loaded(), rather
13158 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
13159 certain error conditions.
13160
13161 2010-11-30 Robert Millan <rmh@gnu.org>
13162
13163 * grub-core/commands/echo.c: Include `<grub/term.h>'.
13164 (grub_cmd_echo): Call grub_refresh() after printing a message.
13165
13166 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
13167
13168 Avoid using tricks for initialising endian variables.
13169
13170 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
13171 Make const.
13172 (GRUB_MOD_INIT): Don't byte-swap.
13173 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
13174 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
13175 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
13176 (grub_swap_bytes32_compile_time): Likewise.
13177 (grub_cpu_to_le32_compile_time): Likewise.
13178 (grub_cpu_to_le16_compile_time): Likewise.
13179
13180 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
13181
13182 * util/grub-setup.c (setup): Stop recommending --force. People who
13183 understand the dangers of blocklists are able to find this option
13184 anyway and the ones who don't shouldn't use it anyway.
13185
13186 2010-11-26 Robert Millan <rmh@gnu.org>
13187
13188 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
13189 Update all users.
13190
13191 2010-11-26 Colin Watson <cjwatson@ubuntu.com>
13192
13193 Fix LVM-on-RAID probing.
13194
13195 * util/grub-probe.c (probe): Remember which disk was detected as
13196 RAID (perhaps an LVM physical volume). Use that disk's raidname
13197 rather than that of the top-level disk.
13198
13199 2010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
13200
13201 Fix cmdline argument quotes for setparams command of menuentry
13202 definitions.
13203
13204 * grub-core/commands/menuentry.c (setparams_prefix): Use single
13205 quotes for arguments.
13206 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
13207 grub_strchrsub function instead.
13208
13209 * include/grub/misc.h (grub_strchrsub): New function.
13210
13211 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
13212
13213 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
13214 effort by skipping "." and ".." entries up-front.
13215 Suggested by: Michael Lazarev.
13216
13217 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
13218
13219 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
13220 ldflags to ldadd, to fix link line ordering.
13221 (none_decompress): Likewise.
13222
13223 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
13224
13225 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
13226 platforms.
13227 (grub-emu-lite): Remove kern/emu/cache.S.
13228
13229 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
13230
13231 * util/deviceiter.c (compare_devices): If the by-id link for a
13232 device couldn't be resolved, fall back to sorting by the by-id link
13233 rather than segfaulting.
13234 Reported and tested by: Daniel Mierswa.
13235
13236 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
13237
13238 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
13239 ldflags, to fix link line ordering.
13240
13241 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
13242
13243 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
13244 linkers are picky about this.
13245
13246 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
13247
13248 * grub-core/Makefile.am (command.lst): Adjust sed expression
13249 ordering so that extended and priority commands aren't treated as
13250 ordinary commands.
13251
13252 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
13253
13254 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
13255 Remove byte-swapping function calls, which are not valid in
13256 structure initialisers.
13257 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
13258 non-const.
13259 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
13260 grub_gpt_partition_type_bios_boot.
13261
13262 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
13263
13264 Fix test program build on GNU/kFreeBSD.
13265
13266 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
13267 $(LIBNVPAIR)' library dependencies.
13268
13269 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
13270
13271 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
13272
13273 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
13274
13275 * util/grub-install.in: Remove excessive quoting that broke
13276 installations to RAID devices.
13277
13278 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
13279
13280 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
13281 bootloader version instead of 0.
13282
13283 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
13284
13285 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
13286 warning.
13287
13288 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
13289
13290 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
13291 retrieve the metadat sector if size isn't known.
13292 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13293
13294 2010-11-18 Robert Millan <rmh@gnu.org>
13295
13296 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
13297 with grub_memcmp().
13298
13299 2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
13300
13301 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
13302 arrow.
13303 Reported by: Jordan Uggla.
13304
13305 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13306
13307 Make better UTF compliant.
13308
13309 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
13310 sequences as incorrect.
13311 (grub_is_valid_utf8): Likewise.
13312 (grub_utf8_to_ucs4): Likewise.
13313 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
13314 (grub_ucs4_to_utf8_alloc): Likewise.
13315 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
13316
13317 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13318
13319 Make legacy_source behave like source.
13320
13321 * grub-core/commands/legacycfg.c (legacy_file): Don't call
13322 grub_show_menu.
13323 (grub_cmd_legacy_source): Call grub_show_menu if needed.
13324
13325 2010-11-16 Colin Watson <cjwatson@debian.org>
13326
13327 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
13328 (-Wunused implies -Wunused-parameter, but not vice versa).
13329
13330 2010-11-16 Colin Watson <cjwatson@ubuntu.com>
13331
13332 * configure.ac: Make error messages less confusing by testing for
13333 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
13334 accepted, but produces a diagnostic if something else is wrong).
13335
13336 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
13337
13338 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
13339 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
13340 (now unused).
13341 (grub_keyboard_controller_init)
13342 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
13343 read the initial state since controller isn't inited yet.
13344
13345 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
13346
13347 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
13348 allocate_regbeg may need to create new chunk header.
13349
13350 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13351
13352 Fix quoting in legacy parser.
13353
13354 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
13355 single quotes.
13356 (grub_legacy_parse): Likewise.
13357 Reported by: Jordan Uggla.
13358 Tested by: Jordan Uggla.
13359
13360 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13361
13362 Don't add -lgcc on i386 and x86_64.
13363
13364 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
13365 * conf/Makefile.common (LDADD_KERNEL): Likewise.
13366 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
13367
13368 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13369
13370 * configure.ac: Add -Wno-trampolines when supported.
13371
13372 2010-11-14 Modestas Vainius <modax@debian.org>
13373
13374 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
13375 fakeraid.
13376
13377 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
13378
13379 Add generic logical block size support for UDF.
13380
13381 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
13382 (GRUB_UDF_BLKSZ): Removed.
13383 (struct grub_udf_data): New field "lbshift" to hold the logical block
13384 size of the file system in log2 format. All users updated.
13385 (sblocklist): Change type to unsigned.
13386 (grub_udf_mount): Change type of "sblklist" to unsigned.
13387 Move AVDP search before VRS recognition, because the latter requires
13388 knowledge of the logical block size, which is detected during the
13389 former.
13390 Detect and validate logical block size during AVDP search, adding
13391 support for block sizes 512, 1024 and 4096.
13392 Make VRS recognition independent of block size.
13393
13394 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
13395
13396 Properly handle deleted files on UDF.
13397
13398 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
13399 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
13400 set.
13401
13402 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
13403
13404 Support reading files larger than 2 GiB.
13405
13406 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
13407 "offset" to grub_off_t.
13408 (grub_udf_read_file): Likewise for parameter "pos".
13409
13410 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13411
13412 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
13413 unavailable.
13414 (Simple configuration): Refer to Changes from GRUB Legacy about
13415 save_env availability.
13416
13417 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13418
13419 * util/grub-install.in: Ignore empty partition table detection
13420 instead of trying to include part_ module.
13421
13422 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13423
13424 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
13425 LVM on RAID support.
13426
13427 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13428
13429 Properly define WORDS_BIGENDIAN in wrapped environments.
13430
13431 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
13432 definition.
13433 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
13434
13435 Reported by: Manoel Rebelo Abranches.
13436 Tested by: Manoel Rebelo Abranches.
13437
13438 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13439
13440 * util/grub-mkconfig.in: Fix quoting.
13441
13442 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13443
13444 Support big ext2 files.
13445
13446 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
13447 (grub_ext2_read_block): Support triple indirect blocks.
13448 (grub_ext2_read_file): Use 64-bit types and read size_high.
13449 (grub_ext2_open): Read size_high.
13450 Reported by: Ximin Luo.
13451 Tested by: Manoel Rebelo Abranches.
13452
13453 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13454
13455 * util/grub-install.in: Handle filenames containing spaces.
13456 Reported by: Jordan Uggla.
13457 Tested by: Jordan Uggla.
13458
13459 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13460
13461 * util/grub-mkconfig.in (grub_script_check): New variable.
13462 Use grub_script_check instead of grub-script-check.
13463 Reported by: Barry Jackson.
13464
13465 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13466
13467 * docs/grub.texi (menu): Correct the order.
13468 Reported by: D. Hugh Redelmeier.
13469
13470 2010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13471
13472 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
13473 jump.
13474
13475 2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
13476
13477 * include/grub/elfload.h (grub_elf32_size): New parameter.
13478 All users updated.
13479 Return maximum segments alignment.
13480 (grub_elf64_size): Likewise.
13481 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
13482 Return maximum segments alignment.
13483 (grub_elf64_size): Likewise.
13484 * grub-core/loader/powerpc/ieee1275/linux.c:
13485 (grub_linux_claimmap_iterate): New function. Uses the
13486 "available" property in the "memory" node for memory allocation
13487 for kernel in the PowerPC loader.
13488 (grub_linux_load32): Correctly find linux entry point offset.
13489 (grub_linux_load64): Likewise.
13490
13491 2010-11-07 Robert Millan <rmh@gnu.org>
13492
13493 On mips-yeeloong, build with -march=loongson2f when this flag is
13494 available (GCC >= 4.4).
13495 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
13496 `-march=mips3'.
13497 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
13498 or otherwise add -march=mips3.
13499
13500 2010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
13501
13502 Suppress shell expansion on echo '*' and echo "*" like cases.
13503 Reported by: Jordan Uggla.
13504
13505 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
13506 string arguments before shell expansion.
13507 * tests/grub_cmd_echo.in: New testcases.
13508
13509 2010-11-07 Robert Millan <rmh@gnu.org>
13510
13511 * conf/mips-qemu-mips.rmk: Remove stale file from previous
13512 transition.
13513
13514 2010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
13515
13516 * grub-core/kern/emu/hostdisk.c
13517 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
13518
13519 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13520
13521 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
13522 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
13523 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
13524
13525 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13526
13527 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
13528
13529 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13530
13531 * util/grub-install.in: Replace useless recomendation to pass
13532 --modules with a recomendation to report a bug.
13533
13534 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13535
13536 Properly register serial terminfo.
13537 Reported by: Jordan Uggla
13538
13539 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
13540 const.
13541 (grub_serial_terminfo_output_template): Likewise.
13542 (grub_cmd_serial): Register "serial" with terminfo.
13543 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
13544 grub_serial_terminfo_output.
13545
13546 2010-11-05 Robert Millan <rmh@gnu.org>
13547
13548 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
13549 needed).
13550
13551 2010-11-05 Robert Millan <rmh@gnu.org>
13552
13553 On Yeeloong, pass machine type information to Linux.
13554
13555 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
13556 (LOONGSON_MACHTYPE): New macro, set to
13557 "machtype=lemote-yeeloong-2f-8.9inches".
13558 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
13559 additional argument to Linux.
13560
13561 2010-11-04 Robert Millan <rmh@gnu.org>
13562
13563 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
13564 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
13565 (its SATA disks are detected as slaveless IDE master drives on
13566 kFreeBSD).
13567 Reported by Carsten Aulbert.
13568
13569 2010-11-02 Colin Watson <cjwatson@ubuntu.com>
13570
13571 * util/bin2h.c (main): Fix spelling error in generated output.
13572
13573 2010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
13574
13575 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
13576
13577 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13578
13579 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
13580 vga= option is supplied.
13581
13582 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13583
13584 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
13585 * util/grub.d/10_kfreebsd.in: Likewise.
13586 * util/grub.d/10_linux.in: Likewise.
13587 * util/grub.d/20_linux_xen.in: Likewise.
13588
13589 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13590
13591 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
13592 argument as an argument to no-argument option.
13593
13594 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13595
13596 * util/grub.d/10_linux.in: Add missing load_video with explicit
13597 GRUB_GFXPAYLOAD_LINUX.
13598
13599 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13600
13601 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
13602
13603 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13604
13605 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
13606 elements with invlid index.
13607 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13608 * grub-core/disk/raid.c (insert_array): Automatically reallocate
13609 members.
13610 * include/grub/raid.h (grub_raid_member): New struct.
13611 (grub_raid_array): Transform devices and start_sector into usage of
13612 grub_raid_member. All users updated
13613 (allocated_devs): New member.
13614
13615 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13616
13617 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
13618 is modified
13619
13620 2010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
13621
13622 NetBSD build fix for getline function conflict from gnulib.
13623
13624 * Makefile.util.def (libgrubkern.a): New library for grub kernel
13625 components that depend on gnulib headers.
13626 (libgrubmods.a): Renamed from earlier libgrub.a.
13627 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
13628
13629 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13630
13631 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
13632 install rather than creating a broken install.
13633
13634 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13635
13636 * util/grub-setup.c (argp): Remove misleading example of installing to
13637 a partition.
13638
13639 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13640
13641 * util/grub-setup.c (setup): Clarify the error message.
13642
13643 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13644
13645 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
13646
13647 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13648
13649 * grub-core/kern/emu/misc.c
13650 (grub_make_system_path_relative_to_its_root)
13651 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
13652
13653 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13654
13655 * grub-core/kern/emu/misc.c
13656 (grub_make_system_path_relative_to_its_root): Revert r2882.
13657
13658 2010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
13659
13660 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
13661 useless field head. All users updated.
13662 (free_subchunk): Correct handling of IN_REGION subchunk.
13663
13664 2010-10-22 Colin Watson <cjwatson@ubuntu.com>
13665
13666 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
13667 (Supported kernels): Likewise.
13668
13669 2010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
13670
13671 Make mktemp invocations portable.
13672
13673 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
13674 exit if mktemp fails.
13675 * tests/grub_script_blockarg.in: Likewise.
13676 * tests/partmap_test.in: Likewise.
13677 * tests/util/grub-shell-tester.in: Likewise.
13678 * tests/util/grub-shell.in: Likewise.
13679 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
13680 * Makefile.am: Likewise, and chain shell commands with `&&'
13681 instead of ';'.
13682 * util/grub-mkrescue.in: Use the same explicit template as above, and
13683 exit if mktemp fails.
13684
13685 2010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
13686
13687 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
13688 Linux kernel, reported by Dennis Schridde.
13689
13690 2010-10-17 Szymon Janc <szymon@janc.net.pl>
13691
13692 * grub-core/normal/auth.c (grub_auth_check_authentication):
13693 Set-but-not-used variable removed.
13694
13695 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13696
13697 * docs/grub.texi (GNU/Linux): Document APM unavailability with
13698 32-bit linux protocol.
13699
13700 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13701
13702 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
13703 cursor shape for sanity.
13704
13705 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13706
13707 * docs/grub.texi (Installation): Document buggy BIOS install.
13708
13709 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13710
13711 * docs/grub.texi (Installation): Indent.
13712
13713 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13714
13715 * util/grub-setup.c (setup): New parameter allow_floppy.
13716 (arguments): New member allow_floppy.
13717 (argp_parser): Handle --allow-floppy.
13718 (main): Pass allow_floppy.
13719 * util/grub-install.in: New option --allow-floppy passed though to
13720 grub-setup.
13721
13722 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13723
13724 * util/grub-install.in: Handle partitionless disks.
13725
13726 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13727
13728 * util/grub-setup.c (setup): Don't clean blocklists before readability
13729 verfification.
13730
13731 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13732
13733 * docs/grub.texi (Installation): Document embedding zone. Remove
13734 obsolete grub-install example.
13735
13736 2010-10-16 Szymon Janc <szymon@janc.net.pl>
13737
13738 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
13739 Set-but-not-used variable ifdef'ed.
13740 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
13741 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
13742 variable removed.
13743 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
13744 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
13745 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
13746 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
13747 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
13748 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
13749 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
13750 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
13751 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
13752 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
13753 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
13754 Likewise.
13755
13756 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13757
13758 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
13759 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
13760 enum value.
13761
13762 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13763
13764 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
13765 synonym to _S5_. Needed for some DSDTs.
13766
13767 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13768
13769 Userspace ACPI parser debugging.
13770
13771 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
13772 headers and add relevant defines. Don't include standard headers.
13773 (main) [GRUB_DSDT_TEST]: New function.
13774 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
13775 Don't declare functions.
13776
13777 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13778
13779 Remove dead grub_efi_mm_fini.
13780
13781 * grub-core/kern/efi/mm.c (allocated_page): Removed.
13782 (ALLOCATED_PAGES_SIZE): Likewise.
13783 (MAX_ALLOCATED_PAGES): Likewise.
13784 (allocated_pages): Likewise.
13785 (grub_efi_allocate_pages): Don't record allocated pages.
13786 (grub_efi_free_pages): Likewise.
13787 (grub_efi_mm_init): Likewise.
13788 (grub_efi_mm_fini): Removed.
13789
13790 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13791
13792 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
13793 (grub_efi_mm_init): Take into account the memory map size increase.
13794
13795 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13796
13797 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
13798 (serial_hw_put): Wait based on real time rather than port reads. Don't
13799 roken ports.
13800 * include/grub/serial.h (grub_serial_port): New field broken.
13801
13802 2010-10-16 Robert Millan <rmh@gnu.org>
13803
13804 * grub-core/kern/emu/misc.c
13805 (grub_make_system_path_relative_to_its_root): Fix premature return
13806 when processing non-root ZFS filesystems.
13807 Reported by Sergio Talens-Oliag.
13808
13809 2010-10-15 Robert Millan <rmh@gnu.org>
13810
13811 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
13812 guarantee compressed ones are processed first.
13813
13814 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13815
13816 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
13817 grub_efiemu_autocore.
13818
13819 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13820
13821 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
13822 rather than 0x1b.
13823 (grub_console_getkey): Use correct jae opcode rather than ja.
13824
13825 2010-10-12 Robert Millan <rmh@gnu.org>
13826
13827 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
13828 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
13829 variable. All references updated.
13830
13831 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
13832
13833 2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
13834
13835 Correctly distinguish mdraid flavours.
13836
13837 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
13838 (insert_array): New argument raid.
13839 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
13840 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
13841 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
13842
13843 2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
13844
13845 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
13846 handling of special keys.
13847
13848 2010-10-02 Aleš Nesrsta <starous@volny.cz>
13849
13850 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
13851 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
13852
13853 2010-10-02 Aleš Nesrsta <starous@volny.cz>
13854
13855 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
13856 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
13857 users updated.
13858 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
13859 Use right endpoint when querying descriptor.
13860
13861 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
13862
13863 Clear out 0x80 color bit on EFI.
13864 Tested by: decoder
13865 Reported by: decoder and meta tech.
13866
13867 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
13868 (grub_console_setcolorstate): Clear out 0x80 bit.
13869 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
13870 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
13871 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
13872
13873 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
13874
13875 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
13876 Set to "auto".
13877
13878 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
13879
13880 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
13881 mo_file after freeing.
13882
13883 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
13884
13885 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
13886
13887 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
13888
13889 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
13890 flags.
13891
13892 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
13893
13894 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
13895 usage.
13896
13897 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
13898
13899 Put terminfo into core on ieee1275 and yeeloong (needed for console).
13900
13901 * gentpl.py: New groups terminfoinkernel and terminfomodule.
13902 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
13903 and terminfo.h when needed.
13904 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
13905 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
13906 (terminfo): Enable only on terminfokernel.
13907 (extcmd): Likewise.
13908 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
13909 * include/grub/lib/arg.h: Likewise.
13910 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
13911 incorrect usage of ->.
13912
13913 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13914
13915 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
13916 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
13917
13918 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13919
13920 Fix coreboot compilation.
13921
13922 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
13923 Take VBE info into account even if only text is supported.
13924 (fill_vbe_info): Take into account the case when only VGA text
13925 is supported.
13926 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
13927 on coreboot, multiboot and qemu.
13928
13929 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13930
13931 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
13932 debug messages.
13933 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
13934
13935 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13936
13937 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
13938 parameters.
13939
13940 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13941
13942 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
13943 if they were BSD-style.
13944
13945 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13946
13947 * grub-core/boot/i386/pc/lnxboot.S: Replace
13948 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
13949 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
13950
13951 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13952
13953 Write embedding zone using Reed-Solomon.
13954
13955 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
13956 * grub-core/Makefile.am (rs_decoder.S): New target.
13957 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
13958 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
13959 (multiboot): Move to RS part.
13960 (post_reed_solomon): New label.
13961 (grub_boot_drive): Move to non-RS part since it's modified in memory
13962 on boot.
13963 Include rs_decoder.S.
13964 * grub-core/lib/reed_solomon.c: New file.
13965 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
13966 New definition.
13967 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
13968 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
13969 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
13970 * include/grub/partition.h (grub_partition_map): Change prototype of
13971 embed to allow returning additional sectors.
13972 * include/grub/reed_solomon.h: New file.
13973 * util/grub-setup.c (setup): Handle Reed-Solomon.
13974
13975 2010-09-28 Colin Watson <cjwatson@ubuntu.com>
13976
13977 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
13978 i386 and x86-64 definedness tests.
13979
13980 2010-09-27 Yves Blusseau <blusseau@zetam.org>
13981
13982 Fix generation of kernel_syms.lst
13983
13984 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
13985 ASM_PREFIX
13986
13987 2010-09-26 Robert Millan <rmh@gnu.org>
13988
13989 Support degraded ZFS arrays in "grub-probe -t device" resolution.
13990
13991 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
13992 the pool is an array of devices, iterate through it and return the
13993 first device that passes a stat() test (instead of blindly returning
13994 the first one).
13995
13996 2010-09-26 Robert Millan <rmh@gnu.org>
13997
13998 Build fixes for GNU/kFreeBSD.
13999
14000 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
14001 to programs that require ZFS conversion.
14002 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
14003 kernels that don't have FLOPPY_MAJOR.
14004
14005 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
14006
14007 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
14008
14009 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
14010
14011 Fix grub-emu build.
14012
14013 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
14014 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
14015 mdraid09 and mdraid1x.
14016
14017 2010-09-24 Colin Watson <cjwatson@ubuntu.com>
14018
14019 Re-enable grub-extras.
14020
14021 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
14022 avoid confusing Automake. Run autogen only twice, once for the top
14023 level and once for grub-core. Add Makefile.util.def and
14024 Makefile.core.def from extra modules to the appropriate autogen
14025 invocations. If Makefile.common exists in an extra module, include
14026 it in both Makefile.util.am and grub-core/Makefile.core.am;
14027 similarly, include any Makefile.util.common file in Makefile.util.am
14028 and any Makefile.core.common file in grub-core/Makefile.core.am.
14029 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
14030 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
14031 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
14032 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
14033
14034 * gentpl.py (gvar_add): Turn GVARS into a set.
14035 (global_variable_initializers): Sort global variables on output.
14036 (vars_init): New function.
14037 (first_time): Likewise.
14038 (library): Ensure that non-global variable initialisations are
14039 emitted before the first time we emit code for a library block.
14040 Append to variables rather than setting them. Only emit
14041 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
14042 each conditional path.
14043 (program): installdir() emits an Autogen macro, so must be passed to
14044 var_add rather than gvar_add.
14045 (data): Likewise.
14046 (script): Likewise.
14047 (rules): New function, centralising handling for different target
14048 types. Set up Guile association lists for first_time and vars_init,
14049 and send most output to a diversion so that variable initialisations
14050 can be emitted first.
14051 (module_rules): Use new rules function.
14052 (kernel_rules): Likewise.
14053 (image_rules): Likewise.
14054 (library_rules): Likewise.
14055 (program_rules): Likewise.
14056 (script_rules): Likewise.
14057 (data_rules): Likewise.
14058
14059 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
14060
14061 * .bzrignore: Add contrib and grub-core/contrib. Remove
14062 grub-core/Makefile.gcry.am.
14063
14064 2010-09-24 Yves Blusseau <blusseau@zetam.org>
14065
14066 * grub-core/lib/LzFind.c: Add missing include.
14067 * grub-core/lib/LzmaEnc.c: Likewise.
14068 * grub-core/script/lexer.c: Likewise.
14069 * grub-core/script/yylex.l: Likewise.
14070 * util/grub-macho2img.c: Likewise.
14071 * util/grub-menulst2cfg.c: Likewise.
14072 * util/grub-mklayout.c: Likewise.
14073 * util/grub-mkpasswd-pbkdf2.c
14074 * util/grub-mkrelpath.c: Likewise.
14075 * util/resolve.c: Likewise.
14076
14077 2010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
14078
14079 * Makefile.util.def (example_unit_test): Add
14080 grub-core/gnulib/libgnu.a.
14081
14082 2010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
14083
14084 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
14085
14086 2010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
14087
14088 Support xz compression on yeeloong.
14089
14090 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
14091 * configure.ac: Check for LZMA.
14092 * grub-core/Makefile.core.def (xz_decompress): New target.
14093 (none_decompress): Likewise.
14094 * grub-core/boot/decompressor/minilib.c: New file.
14095 * grub-core/boot/decompressor/none.c: Likewise.
14096 * grub-core/boot/decompressor/xz.c: Likewise.
14097 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
14098 * grub-core/kern/mips/cache_flush.S: Likewise.
14099 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
14100 * grub-core/kern/mips/startup.S: Move first stage to ...
14101 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
14102 nomacro.
14103 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
14104 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
14105 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
14106 Allocate statically.
14107 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
14108 Allocate statically or use scratch. Don't check CRC32.
14109 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
14110 Allocate statically. Don't check CRC32.
14111 * include/grub/decompressor.h: New file.
14112 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
14113 Removed.
14114 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
14115 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
14116 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
14117 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
14118 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
14119 * util/grub-mkimage.c (grub_compression_t): New type.
14120 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
14121 (image_target_desc): New field default_compression.
14122 (image_targets): Adjust yeeloong targets.
14123 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
14124 (compress_kernel): New parameter comp.
14125 (generate_image): Likewise. Handle new compression case.
14126 (options): New option --compression
14127 (help): Likewise.
14128 (main): Handle new option.
14129
14130 2010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
14131
14132 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
14133
14134 2010-09-22 Colin Watson <cjwatson@ubuntu.com>
14135
14136 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
14137 typo in __i386__ conditional.
14138
14139 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
14140
14141 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
14142 include.
14143
14144 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
14145
14146 Implement EFI and ACPI multiboot2 extensions.
14147
14148 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
14149 new tags as supported.
14150 (acpiv2_size): New function.
14151 (grub_multiboot_get_mbi_size): Take new tags into account.
14152 (grub_multiboot_make_mbi): Add new tags.
14153 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
14154
14155 2010-09-21 Aleš Nesrsta <starous@volny.cz>
14156
14157 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
14158 Added missing configuration of USB device.
14159
14160 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14161
14162 * grub-core/normal/menu_entry.c (run): Make sure we always return
14163 a value.
14164
14165 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14166
14167 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
14168 NumberOfPages is UINT64 according to the UEFI specification, not
14169 UINTN. Fix printf format.
14170
14171 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14172
14173 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
14174 `err' to grub_usb_err_t.
14175 Reported and tested by: KESHAV P.R.
14176
14177 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14178
14179 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
14180 tpart non-const, so that we can assign to it. (Since this is a
14181 typedef, the constness refers to the pointer rather than what it
14182 points to.)
14183
14184 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14185
14186 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
14187 $(top_srcdir)/grub-core/gnulib as well as
14188 $(top_builddir)/grub-core/gnulib.
14189 Reported by: KESHAV P.R.
14190
14191 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14192
14193 * util/grub-install.in: Fix the bootloader ID option to be
14194 consistently --bootloader-id, not --bootloader_id.
14195 Reported by: KESHAV P.R.
14196
14197 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14198
14199 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
14200 check hash checksum." consistently translatable.
14201
14202 2010-09-21 Yves Blusseau <blusseau@zetam.org>
14203
14204 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
14205 $(top_builddir).
14206
14207 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14208
14209 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
14210 (GRUB_MOD_INIT): Register sha1sum command.
14211 (GRUB_MOD_FINI): Unregister sha1sum command.
14212
14213 2010-09-21 Yves Blusseau <blusseau@zetam.org>
14214
14215 Keep boot and grub directory names in sync with utils scripts
14216
14217 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
14218 * config.h.in: Add previous macros.
14219 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
14220 * util/grub-install.in: Use $bootdir and $grubdir variables.
14221
14222 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14223
14224 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
14225 convert partition names to disk names if the new `convert' parameter
14226 is set.
14227 (grub_util_biosdisk_get_grub_dev): If opening the disk device
14228 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
14229 disk in its own right. This can happen with Xen disk images.
14230
14231 2010-09-21 Yves Blusseau <blusseau@zetam.org>
14232
14233 * util/grub-editenv.c: Update strings to avoid warnings when generating
14234 grub.pot file.
14235 * util/grub-setup.c: Likewise.
14236
14237 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
14238
14239 * configure.ac: Change version to 1.99~beta0.
14240
14241 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
14242
14243 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
14244 Add BADRAM.
14245 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
14246 Likewise.
14247 * include/multiboot.h: Resynced with specification.
14248 * include/multiboot2.h: Likewise.
14249
14250 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14251
14252 Fix po directory handling.
14253
14254 * configure.ac: Create po/Makefile.in rather than po/Makefile.
14255 * grub-core/gnulib/Makefile.am: Import gettext module.
14256 * m4/gnulib-cache.m4: Likewise.
14257 * m4/gnulib-comp.m4: Likewise.
14258 * m4/gettext.m4: New file, from gnulib.
14259 * m4/glibc2.m4: Likewise.
14260 * m4/iconv.m4: Likewise.
14261 * m4/intdiv0.m4: Likewise.
14262 * m4/intl.m4: Likewise.
14263 * m4/intldir.m4: Likewise.
14264 * m4/intlmacosx.m4: Likewise.
14265 * m4/intmax.m4: Likewise.
14266 * m4/inttypes-pri.m4: Likewise.
14267 * m4/lcmessage.m4: Likewise.
14268 * m4/lib-ld.m4: Likewise.
14269 * m4/lib-link.m4: Likewise.
14270 * m4/lib-prefix.m4: Likewise.
14271 * m4/lock.m4: Likewise.
14272 * m4/nls.m4: Likewise.
14273 * m4/po.m4: Likewise.
14274 * m4/printf-posix.m4: Likewise.
14275 * m4/progtest.m4: Likewise.
14276 * m4/threadlib.m4: Likewise.
14277 * m4/uintmax_t.m4: Likewise.
14278 * m4/visibility.m4: Likewise.
14279 * po/Makefile.am: Remove.
14280 * po/Makefile.in.in: New file, from gettext.
14281 ($(DOMAIN).pot-update): Support POTFILES-shell.
14282 * po/Makevars: New file.
14283 * po/POTFILES-shell: Rename to ...
14284 * po/POTFILES-shell.in: ... this. Update.
14285 * po/POTFILES: Rename to ...
14286 * po/POTFILES.in: ... this. Update.
14287 * po/Rules-quot: New file, from gettext.
14288 * po/boldquot.sed: Likewise.
14289 * po/en@boldquot.header: Likewise.
14290 * po/en@quot.header: Likewise.
14291 * po/insert-header.sin: Likewise.
14292 * po/quot.sed: Likewise.
14293 * po/remove-potcdate.sin: Likewise.
14294
14295 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14296
14297 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
14298
14299 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14300
14301 * util/grub.d/20_linux_xen.in: Use submenus.
14302
14303 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14304
14305 Support submenus.
14306
14307 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
14308 parameter submenu. All users updated.
14309 * grub-core/normal/main.c (free_menu): Rename to ...
14310 (grub_normal_free_menu): ... this. Made global.
14311 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
14312 if requested.
14313 * grub-core/normal/menu_entry.c (screen): New field submenu.
14314 (make_screen): Set submenu.
14315 (run): Open new context if requested.
14316 * include/grub/menu.h (grub_menu_entry): New field submenu.
14317 * include/grub/normal.h (grub_normal_free_menu): New proto.
14318
14319 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14320
14321 Menu entries extractor.
14322
14323 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
14324 variants.
14325 (GRUB_MOD_INIT): Register new variants.
14326 (GRUB_MOD_FINI): Unregister new variants.
14327 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
14328 into grub_cmd_legacy_source.
14329 (grub_cmd_legacy_source): Implement extractor variants.
14330 (GRUB_MOD_INIT): Register new variants.
14331 (GRUB_MOD_FINI): Unregister new variants.
14332 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
14333 as an extractor.
14334 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
14335 search as an extractor.
14336 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
14337 test as an extractor.
14338 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
14339 as an extractor.
14340 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
14341 (grub_env_new_context): New function.
14342 (grub_env_context_open): Likewise.
14343 (grub_env_extractor_open): Likewise.
14344 (grub_env_extractor_close): Likewise.
14345 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
14346 grub_extractor_level.
14347 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
14348 * include/grub/env.h (grub_env_extractor_open): New proto.
14349 (grub_env_extractor_close): Likewise.
14350 * include/grub/normal.h (grub_extractor_level): New external variable.
14351
14352 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14353
14354 Make cutmem accept a region specification.
14355 Suggested by: Samuel Thibault
14356
14357 * grub-core/mmap/mmap.c (parsemem): New function.
14358 (grub_cmd_cutmem): Handle new arguments.
14359
14360 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14361
14362 New command cutmem.
14363
14364 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
14365 (GRUB_MOD_INIT): Register new command.
14366 (GRUB_MOD_FINI): Unregister new command.
14367
14368 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14369
14370 Support some annoying BSD and Minix subpartitions.
14371
14372 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
14373 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
14374 Properly handle concatenation.
14375 * grub-core/kern/device.c (grub_device_iterate): Likewise.
14376 * grub-core/normal/completion.c (iterate_partition): Likewise.
14377 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
14378 contain partition. All users updated.
14379 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
14380 struct.
14381 (grub_openbsdlabel_partition_map): Likewise.
14382 (bsdlabel_partition_map_iterate): Rename to ..
14383 (iterate_real): ... this. New arguments sector, freebsd and pmap.
14384 (bsdlabel_partition_map_iterate): New function.
14385 (netopenbsdlabel_partition_map_iterate): Likewise.
14386 (netbsdlabel_partition_map_iterate): Likewise.
14387 (openbsdlabel_partition_map_iterate): Likewise.
14388 (GRUB_MOD_INIT): Register new partmaps.
14389 (GRUB_MOD_FINI): Unregister new partmaps.
14390 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
14391 (grub_partition_msdos_iterate): ... this. All users updated.
14392 Don't support embedding other than in a minix partition.
14393 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
14394 proto.
14395 * include/grub/partition.h (grub_partition): New field msdostype.
14396 * util/grub-install.in: Handle openbsd and netbsd types being in
14397 part_bsd module.
14398
14399 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14400
14401 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
14402
14403 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
14404 * grub-core/Makefile.core.def (mdraid): Renamed to ...
14405 (mdraid09): ... this.
14406 (mdraid1x): New module.
14407 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
14408 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
14409
14410 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14411
14412 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
14413 vsprintf.
14414
14415 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
14416
14417 * grub-core/commands/efi/lsefimmap.c: Correct header.
14418 * NEWS: Update.
14419
14420 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
14421
14422 * util/grub-editenv.c (argp_parser): Don't pass translated strings
14423 as printf format strings; the translations might contain '%' which
14424 could cause a crash.
14425 (main): Likewise.
14426 * util/grub-fstest.c (argp_parser): Likewise.
14427 * util/grub-setup.c (argp_parser): Likewise.
14428 (main): Likewise.
14429
14430 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14431
14432 Use argp in grub-fstest.
14433
14434 * util/grub-fstest.c: Don't include getopt.h.
14435 Include argp.h.
14436 (root): New variable.
14437 (args_count): Likewise.
14438 (nparm): Likewise.
14439 (num_disks): Likewise.
14440 (images): Likewise.
14441 (cmd): Likewise.
14442 (debug_str): Likewise.
14443 (args): Likewise.
14444 (options): Transformed to argp.
14445 (usage): Removed.
14446 (main): Split argument parsing into ...
14447 (argp_parser): ... this. Changed to argp format.
14448 (argp): New variable.
14449 (main): Use argp_parse.
14450
14451 2010-09-20 Tristan Gingold <gingold@free.fr>
14452 2010-09-20 Robert Millan <rmh.grub@aybabtu.com>
14453 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14454
14455 * grub-core/commands/efi/lsefimmap.c: New file.
14456 * grub-core/Makefile.core.def (lsefimmap): New module.
14457 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
14458
14459 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14460
14461 Pause the execution (10s max) if any errors are displayed so the user
14462 has a chance to see them.
14463
14464 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
14465 (grub_print_error): Increment grub_err_printed_errors.
14466 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
14467 execution if any errors were displayed.
14468 (show_menu): Remove old code for pause.
14469 * grub-core/normal/menu_entry.c (run): Likewise.
14470 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
14471 users updated.
14472 (grub_normal_get_char_counter): Likewise.
14473 * include/grub/err.h (grub_err_printed_errors): New external variable.
14474 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
14475
14476 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14477
14478 Support multiboot VBE info.
14479
14480 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
14481 Take VBE info into account.
14482 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
14483 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
14484 Call fill_vbe_info when appropriate.
14485 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
14486 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
14487 as supported.
14488 (grub_multiboot_get_mbi_size): Take new tags into account.
14489 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
14490 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
14491 Call fill_vbe_tag when appropriate.
14492 (grub_multiboot_make_mbi): Properly align tags.
14493 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
14494 function.
14495 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
14496 proto.
14497 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
14498
14499 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14500
14501 Suport manual terminal geometry specification.
14502
14503 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
14504 Save state in grub_ofconsole_terminfo_output.
14505 (grub_ofconsole_term): Use grub_terminfo_getwh.
14506 (grub_ofconsole_getwh): Removed.
14507 * grub-core/term/serial.c (grub_serial_getwh): Removed.
14508 (grub_serial_term): Use grub_terminfo_getwh.
14509 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
14510 (options): New struct.
14511 (OPTION_*): New enum.
14512 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
14513 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
14514 width and height.
14515 (grub_terminfo_getwh): New proto.
14516 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
14517
14518 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14519
14520 Handle legacy "terminal" command.
14521
14522 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
14523 and FLAG_TERMINAL.
14524 (legacy_commands): Add terminal and title.
14525 (grub_legacy_parse): Handle terminal. Simplify title handling.
14526
14527 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14528
14529 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
14530 parameters overflow.
14531
14532 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
14533
14534 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
14535 widthspec.h.
14536
14537 * docs/grub.texi (Shell-like scripting): Document `!'.
14538 (Network): Simplify using new i386-pc-pxe format. Mention
14539 grub-mknetdir.
14540
14541 * NEWS: Update.
14542
14543 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
14544
14545 * Makefile.am (SUBDIRS): Restore "."; it's important to force
14546 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
14547 when needed.
14548
14549 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
14550
14551 * grub-core/commands/efi/lsefisystab.c: Correct header.
14552 * grub-core/commands/efi/lssal.c: Likewise.
14553 * grub-core/commands/testload.c: Likewise.
14554
14555 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
14556
14557 * util/grub-mkrescue.in: Add explicit root argument to --set to
14558 prevent the UUID being interpreted as an argument to --set (matches
14559 previous change to prepare_grub_to_access_device).
14560
14561 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
14562
14563 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
14564 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
14565 the verbosity of later #ifs.
14566 (find_partition_start): Define this function on FreeBSD too.
14567 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
14568 function.
14569 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
14570 on FreeBSD.
14571
14572 2010-09-20 Yves Blusseau <blusseau@zetam.org>
14573
14574 * util/grub-editenv.c: Use argp instead of getopt.
14575
14576 2010-09-20 Yves Blusseau <blusseau@zetam.org>
14577
14578 * util/grub-setup.c: Use argp instead of getopt.
14579
14580 2010-09-20 Yves Blusseau <blusseau@zetam.org>
14581
14582 Use gnulib-tool to create gnulib source files.
14583
14584 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
14585 grub-core/gnulib directories
14586 * .bzignore: Add **/.deps and autogenerated gnulib files
14587 * configure.ac: Assign auxiliary directory to build-aux, add invocation
14588 of gnulib macros, add grub-core/gnulib/Makefile
14589 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
14590 include m4 directory to aclocal.
14591 * Makefile.util.def: Remove direct compilation of gnulib source files
14592 and use the new grub-core/gnulib/libgnu.a.
14593 * build-aux/config.rpath: move config.rpath from top directory to
14594 build-aux
14595 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
14596 in gnulib headers
14597 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
14598 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
14599 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
14600 header.
14601 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
14602 string.
14603
14604 2010-09-20 Yves Blusseau <blusseau@zetam.org>
14605
14606 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
14607 grub-core/genmod.sh and grub-core/gensyminfo.sh
14608
14609 2010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
14610
14611 Add a test for echo command options.
14612
14613 * tests/grub_cmd_echo.in: New test.
14614 * Makefile.util.def: Rules for new test.
14615
14616 2010-09-20 Szymon Janc <szymon@janc.net.pl>
14617
14618 Remove crc.mod and move crc command to hashsum.mod.
14619 Remove lib/crc.c - users updated to use gcrypt implementation.
14620
14621 * grub-core/commands/crc.c: Removed.
14622 * grub-core/Makefile.core.def (crc): Module removed.
14623 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
14624 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
14625 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
14626 * grub-core/lib/crc.c: Removed.
14627 * include/grub/lib/crc.h: Removed.
14628 * Makefile.util.def (crc): Remove lib/crc.c
14629 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
14630 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
14631 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
14632 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
14633 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
14634 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
14635
14636 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14637
14638 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
14639
14640 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14641
14642 Split config.h for util and core.
14643
14644 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
14645 (ADDR32): Likewise.
14646 (DATA32): Likewise.
14647 (BSS_START_SYMBOL): Likewise.
14648 (END_SYMBOL): Likewise.
14649 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
14650 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
14651 * config.h.in: New file.
14652 * configure.ac: Use config-util.h as config define file.
14653 Rename MACHINE into GRUB_MACHINE. All users updated.
14654 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
14655 updated.
14656 (NESTED_FUNC_ATTR): Likewise.
14657 Substitue new variables.
14658 (COND_HAVE_ASM_USCORE): New conditional.
14659 * grub-core/Makefile.am (ASM_PREFIX): New variable.
14660 (kernel_syms.lst): Use ASM_PREFIX.
14661 * grub-core/kern/emu/console.c: Include config-util.h.
14662 * grub-core/kern/emu/misc.c: Likewise.
14663 * grub-core/kern/emu/mm.c: Likewise.
14664 * include/grub/emu/misc.h: Likewise.
14665 * include/grub/libgcc.h: Likewise.
14666
14667 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14668
14669 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
14670 constants usage.
14671 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
14672 Fix GRUB_TERM_KEY_* constants usage.
14673 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
14674
14675 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14676
14677 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
14678 print pointer.
14679 * grub-core/bus/usb/uhci.c: Remove empty define.
14680 (grub_uhci_check_transfer): Add missing cast.
14681 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
14682 print pointer.
14683 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
14684 PRIuGRUB_SIZE.
14685 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
14686
14687 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14688
14689 * grub-core/Makefile.core.def (legacycfg): Add
14690 lib/i386/pc/vesa_modes_table.c on emu.
14691
14692 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
14693
14694 Reduce number of temporary files generated by build system.
14695
14696 * grub-core/gencmdlist.sh: Removed.
14697 * grub-core/genfslist.sh: Removed.
14698 * grub-core/genhandlerlist.sh: Removed.
14699 * grub-core/genmodsrc.sh: Removed.
14700 * grub-core/genpartmaplist.sh: Removed.
14701 * grub-core/genparttoollist.sh: Removed.
14702 * grub-core/gentermiinallist.sh: Removed.
14703 * grub-core/genvideolist.sh: Removed.
14704
14705 * grub-core/genmod.sh.in: New file.
14706 * grub-core/gensyminfo.sh.in: New file.
14707
14708 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
14709 * conf/Makefile.extra-dist: Update with new files.
14710 * gentpl.py: Remove rules related to unnecessary temporary files.
14711 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
14712 and und-* files.
14713 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
14714 genmod.sh scripts.
14715 * grub-core/bus/usb/uhci.c: Remove empty #define.
14716 * grub-core/genmoddep.awk: Updated with new syminfo format.
14717 * util/bash-completion.d/Makefile.am: Add config.log to
14718 CLEANFILES.
14719
14720 2010-09-19 Yves Blusseau <blusseau@zetam.org>
14721
14722 * Makefile.util.def: Add forgotten $(LIBINTL) library.
14723
14724 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
14725
14726 * util/grub-mkconfig.in: Check the config script for syntax errors
14727 before saving.
14728
14729 2010-09-19 Colin Watson <cjwatson@ubuntu.com>
14730 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14731
14732 * Makefile.util.def (grub-install): Use util/grub-install.in on all
14733 platforms.
14734 * util/grub-install.in: Add EFI and IEEE1275 support.
14735 * util/i386/efi/grub-install.in: Removed.
14736 * util/ieee1275/grub-install.in: Likewise.
14737
14738 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14739
14740 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
14741 (grub_cmd_cmosclean): Likewise.
14742 (GRUB_MOD_INIT): Register command cmosclean.
14743 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
14744 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
14745
14746 2010-09-18 Carles Pina i Estany <carles@pina.cat>
14747 2010-09-18 Aleš Nesrsta <starous@volny.cz>
14748 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
14749
14750 Add keyboard layouts support.
14751
14752 * Makefile.util.def (grub-mklayout): New file.
14753 (grub-kbdcomp): New script.
14754 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
14755 Add keyboard_layouts.h.
14756 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
14757 commands/boot.c on yeeloong.
14758 (keylayouts): New module.
14759 * grub-core/bus/usb/ohci.c
14760 * grub-core/bus/usb/uhci.c
14761 * grub-core/bus/usb/usbhub.c (rescan): New variable.
14762 (grub_usb_add_hub): Poll interrupt pipe for device handling.
14763 (attach_root_port): Likewise.
14764 (poll_nonroot_hub): Likewise.
14765 (grub_usb_poll_devices): Likewise.
14766 (detach_device): Close transfer.
14767 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
14768 function.
14769 (grub_usb_bulk_setup_readwrite): Likewise.
14770 (grub_usb_bulk_finish_readwrite): Likewise.
14771 * grub-core/commands/keylayouts.c: New file.
14772 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
14773 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
14774 aliases.
14775 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
14776 support scancode 2.
14777 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
14778 * include/grub/keyboard_layouts.h: New file.
14779 * util/grub-mklayout.c: New file.
14780 * util/grub-kbdcomp.in: Likewise.
14781
14782 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
14783
14784 Unify memory types.
14785
14786 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
14787 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
14788 types.
14789 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
14790 (grub_upper_mem): Likewise.
14791 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
14792 * include/grub/memory.h (grub_memory_type_t): New enum.
14793 All users updated.
14794
14795 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
14796
14797 * grub-core/Makefile.core.def (lsapm): New module.
14798 * grub-core/commands/i386/pc/lsapm.c: New file.
14799 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
14800 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
14801 Likewise.
14802 * include/grub/i386/pc/apm.h: New file.
14803 * include/multiboot.h (multiboot_apm_info): New struct.
14804
14805 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
14806
14807 GRUB-legacy configuration file support.
14808
14809 * Makefile.util.def (grub-menulst2cfg): New util.
14810 * docs/man/grub-menulst2cfg.h2m: New file.
14811 * grub-core/Makefile.core.def (legacycfg): New module.
14812 * grub-core/commands/legacycfg.c: New file.
14813 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
14814 (grub_normal_add_menu_entry): ... this.
14815 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
14816 (grub_normal_set_password): ...this.
14817 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
14818 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
14819 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
14820 * grub-core/lib/legacy_parse.c: New file.
14821 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
14822 * include/grub/i386/pc/vesa_modes_table.h: New file.
14823 * include/grub/legacy_parse.h: Likewise.
14824 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
14825 * util/grub-menulst2cfg.c: New file.
14826
14827 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
14828
14829 * grub-core/kern/emu/hostdisk.c
14830 (convert_system_partition_to_system_disk): Initialise node.
14831
14832 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
14833
14834 * grub-core/kern/emu/hostdisk.c
14835 (convert_system_partition_to_system_disk): Fix devmapper memory pool
14836 leak.
14837 Reported and based on patch by: Modestas Vainius.
14838
14839 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
14840
14841 Fix DM-RAID probing with recent versions of device-mapper udev
14842 rules.
14843
14844 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
14845 canonicalise device paths under /dev/mapper/.
14846 (convert_system_partition_to_system_disk): Compare the
14847 uncanonicalised path to /dev/mapper/ rather than the canonicalised
14848 path, since device nodes under /dev/mapper/ are often symlinks.
14849
14850 2010-09-17 Yves Blusseau <blusseau@zetam.org>
14851
14852 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
14853
14854 2010-09-16 Yves Blusseau <blusseau@zetam.org>
14855
14856 * configure.ac: Avoid some annoying error messages if freetype-config
14857 program is not found.
14858
14859 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
14860
14861 Support RAID on virtio devices, and others.
14862
14863 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
14864 Rename to ...
14865 [__MINGW32__] (grub_find_device): ... this.
14866 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
14867 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
14868 reasonable default if dir is NULL.
14869 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
14870 ...
14871 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
14872 (grub_guess_root_device): Update callers.
14873 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
14874
14875 * util/raid.c (grub_util_getdiskname): Remove.
14876 (grub_util_raid_getmembers): Use grub_find_device rather than
14877 grub_util_getdiskname.
14878
14879 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
14880
14881 * docs/grub.texi (serial): Remove obsolete comment about GRUB
14882 needing to be compiled with serial support.
14883 (ls): Indicate that multiple files are accepted.
14884 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
14885 indicate that multiple files are accepted.
14886
14887 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
14888
14889 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
14890 libgrub_a_init.c, and util/bash-completion.d/grub.
14891
14892 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14893
14894 * util/grub-setup.c (setup): Fix incorrect container semantics.
14895
14896 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14897
14898 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
14899 misusage.
14900 Reported by: J. Nick Terry
14901
14902 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14903
14904 Move embedding routines to partmap sources files.
14905
14906 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
14907 [GRUB_UTIL]: New variable.
14908 (gpt_partition_map_iterate): Set part.parent.
14909 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
14910 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
14911 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
14912 New function.
14913 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
14914 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
14915 (grub_partition_map) [GRUB_UTIL]: New field embed.
14916 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
14917 (setup): Use ->embed.
14918
14919 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14920
14921 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
14922 function.
14923 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
14924 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
14925
14926 2010-09-15 Yves Blusseau <blusseau@zetam.org>
14927
14928 Add function to get completions from usage.
14929
14930 * util/bash-completion.d/grub-completion.bash.in: Add function to get
14931 completions from usage. Use LC_ALL=C to get options properly.
14932
14933 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14934
14935 * grub-core/gnulib/basename-lgpl.c: Imported.
14936 * grub-core/gnulib/basename.c: Likewise.
14937 * grub-core/gnulib/dirname-lgpl.c: Likewise.
14938 * grub-core/gnulib/dirname.c: Likewise.
14939 * grub-core/gnulib/dirname.h: Likewise.
14940 * grub-core/gnulib/stripslash.c: Likewise.
14941
14942 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14943
14944 * grub-core/gnulib/error.c: Resynced.
14945 * grub-core/gnulib/getopt.c: Likewise.
14946 * grub-core/gnulib/getopt_int.h: Likewise.
14947 * grub-core/gnulib/regex.h: Likewise.
14948 * grub-core/gnulib/regex_internal.c: Likewise.
14949 * grub-core/gnulib/regex_internal.h: Likewise.
14950
14951 2010-09-15 Szymon Janc <szymon@janc.net.pl>
14952
14953 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
14954 CRC calculations and validity checks.
14955 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
14956 calculations.
14957
14958 2010-09-15 Szymon Janc <szymon@janc.net.pl>
14959
14960 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
14961
14962 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14963
14964 Fix incorrect echo options handling.
14965 Reported by: Yves Blusseau.
14966
14967 * include/grub/command.h (grub_command_flags_t): New flags
14968 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
14969 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
14970 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
14971
14972 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14973
14974 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
14975 users updated.
14976 (GRUB_COMMAND_FLAG_MENU): Likewise.
14977 (GRUB_COMMAND_FLAG_BOTH): Likewise.
14978 (GRUB_COMMAND_FLAG_TITLE): Removed.
14979 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
14980 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
14981 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
14982 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
14983 (grub_command_flags_t): New enum. All users updated.
14984
14985 2010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
14986
14987 Fix solaris compilation.
14988
14989 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
14990 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
14991 (grub-emu-list): Likewise.
14992
14993 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14994
14995 Remove deprecated root command.
14996
14997 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
14998 updated.
14999
15000 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15001
15002 * util/i386/pc/grub-setup.c: Merge this ...
15003 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
15004 * util/grub-setup.c: ... into this.
15005 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
15006 New struct.
15007
15008 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15009
15010 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
15011 possible.
15012
15013 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15014
15015 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
15016 allocate p.
15017
15018 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15019
15020 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
15021 explicit root argument to set to prevent UUID to be interpreted as
15022 argument to set.
15023
15024 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15025
15026 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
15027
15028 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15029
15030 Don't export grub_gate_a20.
15031
15032 * grub-core/kern/i386/pc/init.c: Remove leftovers.
15033 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
15034 to ...
15035 (grub_gate_a20): ... this. All users updated.
15036 * include/grub/i386/pc/init.h: Removed. All users updated.
15037
15038 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15039
15040 Create euro.pf2 which supports most European languages.
15041
15042 * Makefile.am (grubdata_DATA): Add euro.pf2.
15043 (euro.pf2): New target.
15044 (CLEANFILES): Add euro.pf2.
15045
15046 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15047
15048 * configure.ac: Disable emu-usb by default to prevent inadvertent
15049 device takeover.
15050
15051 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15052
15053 Disable usbserial on grub-emu since our libusb code isn't good enough
15054 yet.
15055
15056 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
15057 (usbserial_pl2303): Likewise.
15058 (usbserial_ftdi): Likewise.
15059
15060 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15061
15062 * include/grub/disk.h (grub_disk): Remove has_partitions.
15063 All users updated.
15064 * disk/loopback.c (grub_loopback): Remove has_partitions.
15065 All users updated.
15066 (options): Remove partitions. All users updated.
15067 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
15068 * util/i386/pc/grub-setup.c (setup): copy partition table only when
15069 actual partition table is found.
15070
15071 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15072
15073 Remove readability checks (too many false negatives).
15074
15075 * util/grub-install.in: Remove readability checks.
15076 * util/grub-mkconfig.in: Likewise.
15077 * util/grub.d/10_hurd.in: Likewise.
15078 * util/grub.d/10_kfreebsd.in: Likewise.
15079 * util/grub.d/10_linux.in: Likewise.
15080 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
15081 way.
15082
15083 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15084
15085 Enable acpi shutdown on all ACPI platforms.
15086
15087 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
15088 on coreboo, multiboot and EFI.
15089 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
15090 (grub_acpi_halt): Likewise.
15091 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
15092 (grub_cmd_halt): Don't call grub_acpi_halt directly.
15093 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
15094 * grub-core/lib/i386/halt.c (grub_halt)
15095 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
15096
15097 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15098
15099 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
15100 context.
15101
15102 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15103
15104 * grub-core/video/efi_gop.c: Fix over-80-chars line.
15105 * grub-core/video/efi_uga.c: Likewise.
15106
15107 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15108
15109 Filter devaliases and never open same device twice.
15110
15111 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
15112 (last_ihandle): Likewise.
15113 (ofdisk_hash_ent): New member shortest.
15114 (ofdisk_hash_add): Add canonical path too.
15115 (scan): New function.
15116 (grub_ofdisk_iterate): Iterate over hashed entries.
15117 (compute_dev_path): Don't add :0.
15118 (grub_ofdisk_open): Don't really open the disk.
15119 (grub_ofdisk_close): Avoid closing unrelated disk.
15120 (grub_ofdisk_read): Implement reopen logic.
15121 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
15122 New function.
15123 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
15124 New proto.
15125
15126 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15127
15128 Fix sparc64.
15129
15130 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
15131 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
15132 right address. Add sparc64_ieee1275_ldflags.
15133 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
15134 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
15135 to grub_host_to_target_addr
15136 (load_image): Likewise.
15137
15138 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15139
15140 * grub-core/normal/completion.c (complete_file): Handle device
15141 containing slash.
15142 Fix based on patch by Doug Nazar.
15143
15144 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15145
15146 grub-mknetdir script.
15147
15148 * Makefile.util.def (grub-mknetdir): New module.
15149 * tests/util/grub-shell.in: Support boot=net
15150 * util/grub-mknetdir.in: New file.
15151
15152 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15153
15154 videoinfo on non-vbe.
15155
15156 * grub-core/Makefile.core.def (vbeinfo): Removed.
15157 (vbetest): Removed.
15158 (videoinfo): New module.
15159 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
15160 * grub-core/commands/i386/pc/vbetest.c: Removed.
15161 * grub-core/commands/videoinfo.c: New file.
15162 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
15163 specification.
15164 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
15165 as vbetest.
15166 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
15167 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
15168 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
15169 mode_number. New parameter mode. All users updated.
15170 (grub_video_gop_iterate): New function.
15171 (grub_video_efi_gop): New member iterate.
15172 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
15173 (grub_vbe_set_video_mode): Remove setting useless fields.
15174 (vbe2videoinfo): New function.
15175 (grub_video_vbe_iterate): Likewise.
15176 (grub_video_vbe_setup): Use vbe2videoinfo.
15177 (grub_video_vbe_print_adapter_specific_info): New function.
15178 (grub_video_vbe_adapter): New fields iterate and
15179 print_adapter_specific_info.
15180 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
15181 All users updated.
15182 (grub_video_mode_info): New field mode_number.
15183 (grub_video_adapter): New fields iterate and
15184 print_adapter_specific_info.
15185
15186 2010-09-13 Tristan Gingold <gingold@free.fr>
15187 2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
15188 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15189
15190 * grub-core/commands/efi/lsefisystab.c: New file.
15191 * grub-core/commands/efi/lssal.c: Likewise.
15192 * grub-core/Makefile.core.def (lsacpi): New module.
15193 (lsefisystab): Likewise.
15194 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
15195 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
15196 (grub_efi_sal_system_table): New struct.
15197 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
15198 (grub_efi_sal_system_table_memory_descriptor): Likewise.
15199 (grub_efi_sal_system_table_platform_features): Likewise.
15200 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
15201 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
15202 (grub_efi_sal_system_table_ap_wakeup): Likewise.
15203 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
15204
15205 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15206
15207 Support explicit user claim that a device is BIOS-visible.
15208
15209 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
15210 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
15211 * grub-core/kern/emu/hostdisk.c
15212 (convert_system_partition_to_system_disk): Support mdX.
15213 (find_system_device): New parameter add. All users updated.
15214 (grub_util_biosdisk_is_present): New function.
15215 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
15216 proto.
15217
15218 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15219
15220 Search hints support.
15221
15222 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
15223 All users updated.
15224
15225 2010-09-13 Yves Blusseau <blusseau@zetam.org>
15226
15227 Bash completion script for util commands
15228
15229 * Makefile.am: Add util/bash-completion.d directory
15230 * configure.ac: Likewise.
15231 * util/bash-completion.d/Makefile.am: New file.
15232 * util/bash-completion.d/grub-completion.bash.in: Likewise.
15233
15234 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15235
15236 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
15237 (print_backlog): set backlog_ucs4 and backlog_glyphs.
15238 Reported by: Yves Blusseau.
15239
15240 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15241
15242 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
15243 partition size and offset.
15244
15245 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15246
15247 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
15248
15249 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15250
15251 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
15252
15253 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15254
15255 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
15256 (grub_xvasprintf): Likewise.
15257
15258 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15259
15260 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
15261
15262 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15263
15264 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
15265 args ending with NULL.
15266
15267 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15268
15269 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
15270 pointer.
15271
15272 2010-09-11 Szymon Janc <szymon@janc.net.pl>
15273
15274 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
15275
15276 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15277
15278 Shutdown using ACPI.
15279
15280 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
15281 * grub-core/commands/acpihalt.c: New file.
15282 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
15283 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
15284 (grub_acpi_halt): New proto.
15285 (GRUB_ACPI_SLP_EN): New const.
15286 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
15287 (GRUB_ACPI_OPCODE_*): New enum.
15288 (GRUB_ACPI_EXTOPCODE_*): Likewise.
15289
15290 2010-09-11 Tristan Gingold <gingold@free.fr>
15291 2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
15292 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15293
15294 * commands/lsacpi.c: New file.
15295 * grub-core/Makefile.core.def (lsacpi): New module.
15296 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
15297 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
15298 (grub_acpi_madt_entry_header): New struct.
15299 (grub_acpi_madt): Likewise.
15300 (grub_acpi_madt_entry_interrupt_override): Likewise.
15301 (grub_acpi_madt_entry_sapic): Likewise.
15302 (grub_acpi_madt_entry_lsapic): Likewise.
15303 (grub_acpi_madt_entry_platform_int_source): Likewise.
15304 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
15305 (PRIuGRUB_UINT32_T): Likewise.
15306 (PRIxGRUB_UINT64_T): Likewise.
15307
15308 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15309
15310 Implement loading palette on ieee1275_fb.
15311
15312 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
15313 (have_setcolors): Likewise.
15314 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
15315 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
15316 (grub_video_ieee1275_set_palette): Implement.
15317
15318 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15319 2010-09-11 Colin Watson <cjwatson@ubuntu.com>
15320
15321 * util/grub-install.in (grub_partition): New variable.
15322 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
15323 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
15324 Fixes a bug reported by Yves Blusseau.
15325
15326 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15327
15328 Fix emu on mipsel.
15329
15330 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
15331 =grub_cpu_flush_cache on all mips and not only yeeloong.
15332 * configure.ac (COND_mips): New conditional.
15333 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
15334 platforms.
15335 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
15336 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
15337 [GRUB_LINKER_HAVE_INIT]: New function.
15338 (grub_emu_post_init): Likewise.
15339 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
15340 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
15341 * include/grub/cache.h (_mips): Include mips/cache.h.
15342 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
15343 LVM and RAID prototypes.
15344 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
15345 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
15346 function.
15347
15348 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
15349
15350 * util/grub-install.in: Don't try to verify core.img until after
15351 running grub-mkimage to create it.
15352
15353 2010-09-10 Robert Millan <rmh@gnu.org>
15354
15355 * util/grub.d/10_hurd.in: Add misc readability checks.
15356 * util/grub.d/10_kfreebsd.in: Likewise.
15357 * util/grub.d/10_linux.in: Likewise.
15358
15359 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
15360
15361 * util/grub-install.in: ${imgext} won't be defined here until the
15362 install branch is merged. For the meantime, only verify core.img on
15363 i386-pc and sparc64-ieee1275 platforms.
15364
15365 2010-09-10 Robert Millan <rmh@gnu.org>
15366
15367 Solaris support in grub_find_zpool_from_dir(). Thanks
15368 Seth Goldberg for referring to getextmntent() facility.
15369
15370 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
15371 `sys/mkdev.h'.
15372 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
15373 `<sys/mnttab.h>'.
15374 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
15375 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
15376 method for finding zpool name.
15377
15378 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
15379
15380 grub-fstest needs the host and hostfs modules while other utilities
15381 actively require those modules to be absent, so grub-fstest needs
15382 its own initialisation and finalisation code.
15383
15384 * Makefile.am (grub_fstest.pp): New target.
15385 (grub_fstest_init.lst): Likewise.
15386 (grub_fstest_init.c): Likewise.
15387 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
15388
15389 2010-09-10 Robert Millan <rmh@gnu.org>
15390
15391 * configure.ac: Check for `struct statfs.f_fstypename' and
15392 `struct statfs.f_mntfromname'.
15393
15394 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
15395 kFreeBSD-specific code.
15396
15397 2010-09-10 Robert Millan <rmh@gnu.org>
15398
15399 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
15400 on ZFS. Now non-main filesystems are supported as / too.
15401
15402 2010-09-09 Colin Watson <cjwatson@ubuntu.com>
15403
15404 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
15405 and grub-core/disk/host.c to ...
15406 (grub-fstest): ... here. Having the host disk implementation
15407 present confuses grub-probe and other utility programs.
15408
15409 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
15410 when writing to a file, not when writing to stdout.
15411
15412 2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
15413
15414 * tests/partmap_test.in: New test for partitions.
15415 * Makefile.util.def: Rules for new test.
15416
15417 2010-09-09 Robert Millan <rmh@gnu.org>
15418
15419 * util/grub-probe.c (probe): Fix a pair of unhandled error
15420 conditions.
15421
15422 2010-09-09 Robert Millan <rmh@gnu.org>
15423
15424 Basic Btrfs support (detection and UUID).
15425
15426 * grub-core/fs/btrfs.c: New file.
15427 * Makefile.util.def (library): Register btrfs.c.
15428 * grub-core/Makefile.core.def: Likewise.
15429
15430 2010-09-08 Robert Millan <rmh@gnu.org>
15431
15432 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
15433 with (optional) parameters to specify device and relative path.
15434 * util/grub-install.in: Use is_path_readable_by_grub() to
15435 verify readability of a few critical files.
15436 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
15437 verify readability of grub.cfg.new.
15438
15439 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
15440
15441 Split minix.mod into minix.mod and minix2.mod.
15442
15443 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
15444 * grub-core/Makefile.core.def (minix2): New module.
15445 * grub-core/fs/minix.c: Use definitions instead of runtime version
15446 checking.
15447 * grub-core/fs/minix2.c: New file.
15448
15449 2010-09-08 Yves Blusseau <blusseau@zetam.org>
15450
15451 Add new --boot-directory option to replace --root-directory
15452
15453 * util/grub-install.in: Add new --boot-directory option
15454 * util/grub-reboot.in: Likewise.
15455 * util/grub-set-default.in: Likewise.
15456
15457 2010-09-08 Yves Blusseau <blusseau@zetam.org>
15458
15459 * util/grub-mkconfig.in: Use new variable.
15460
15461 2010-09-08 Yves Blusseau <blusseau@zetam.org>
15462
15463 * configure.ac: Define some useful variables.
15464
15465 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
15466
15467 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
15468 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
15469 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
15470 Use terminfo and don't use cursor-on/cursor-off unless it's known
15471 to work.
15472 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
15473 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
15474
15475 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
15476
15477 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
15478 starts with "(,", fill the drive containing the loaded image in
15479 between those two characters, but expect that a full partition
15480 specification including partition map names will follow.
15481
15482 2010-09-08 Robert Millan <rmh@gnu.org>
15483
15484 * configure.ac: Remove `--enable-grub-fstest' option.
15485 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
15486
15487 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
15488 `grub-fstest' instead of `grub-probe' for readability verification.
15489 * util/grub-probe.c (probe): Remove readability verification kludge.
15490
15491 2010-09-08 Robert Millan <rmh@gnu.org>
15492
15493 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
15494 initializing `GRUB_FS'.
15495
15496 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
15497
15498 Not command (!) support to GRUB script.
15499
15500 * tests/grub_script_not.in: New test.
15501 * Makefile.util.def: Rules for new test.
15502
15503 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
15504 ! command as a special case.
15505 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
15506
15507 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
15508
15509 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
15510 grub_free.
15511
15512 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
15513
15514 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
15515
15516 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
15517
15518 * docs/grub.texi (Shell-like scripting): Documentation for break,
15519 continue, shift and return commands.
15520
15521 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
15522
15523 Rename CD-ROM to cd on BIOS.
15524
15525 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
15526 "cd".
15527 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
15528
15529 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15530
15531 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
15532 * util/grub-probe.c (main): Likewise.
15533 * util/i386/pc/grub-setup.c (main): Likewise.
15534 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
15535 Reported and debugged by: alexxy
15536
15537 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15538
15539 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
15540 diagnostic info.
15541
15542 2010-09-05 Jo Shields <directhex@apebox.org>
15543
15544 * util/grub.d/30_os-prober.in: Add missing classes.
15545
15546 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15547
15548 * docs/grub.texi (Theme file format): Document new position format.
15549
15550 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15551
15552 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
15553 a table. Use @code instead of @verbatim.
15554
15555 2010-09-05 Colin D Bennett <colin@gibibit.com>
15556
15557 Gfxmenu documentation.
15558
15559 * docs/grub.texi (Theme file format): New chapter.
15560
15561 2010-09-05 Szymon Janc <szymon@janc.net.pl>
15562
15563 * grub-core/Makefile.core.def (xzio): New module.
15564 * grub-core/io/xzio.c: New file.
15565 * grub-core/lib/xzembed/xz.h: New file (from xembed).
15566 * grub-core/lib/xzembed/xz_config.h: Likewise.
15567 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
15568 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
15569 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
15570 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
15571 * grub-core/lib/xzembed/xz_private.h: Likewise.
15572 * grub-core/lib/xzembed/xz_stream.h: Likewise.
15573 * include/grub/file.h (grub_file_filter_id): New compression filter
15574 GRUB_FILE_FILTER_XZIO.
15575
15576 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15577
15578 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
15579 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
15580 size.
15581
15582 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15583
15584 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
15585 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
15586
15587 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15588
15589 Uncompressed checksum support.
15590
15591 * grub-core/commands/hashsum.c (options): Add option --uncompress.
15592 (check_list): New parameter uncompress.
15593 (grub_cmd_hashsum): Handle --uncompress.
15594
15595 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15596
15597 Reintroduce testload.
15598
15599 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
15600 from here ...
15601 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
15602 (GRUB_MOD_INIT): New function.
15603 (GRUB_MOD_FINI): Likewise.
15604 * grub-core/Makefile.core.def (testload): New module.
15605
15606 2010-09-05 Szymon Janc <szymon@janc.net.pl>
15607
15608 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
15609 (uint8_t): New type.
15610 (uint16_t): Likewise.
15611 (uint32_t): Likewise.
15612 (uint64_t): Likewise.
15613
15614 2010-09-05 Szymon Janc <szymon@janc.net.pl>
15615
15616 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
15617
15618 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15619
15620 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
15621 Made static.
15622 (grub_gzfile_open): Removed. All users updated.
15623 (GRUB_MOD_INIT): New function.
15624 (GRUB_MOD_FINI): Likewise.
15625 * grub-core/kern/file.c (grub_file_filters_all): New variable.
15626 (grub_file_filters_enabled): Likewise.
15627 (grub_file_open): Handle filters.
15628 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
15629 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
15630 * include/grub/file.h (grub_file_filter_id_t): New type.
15631 (grub_file_filter_t): Likewise.
15632 (grub_file_filters_all): New extern variable.
15633 (grub_file_filters_enabled): Likewise.
15634 (grub_file_filter_register): New inline function.
15635 (grub_file_filter_unregister): Likewise.
15636 (grub_file_filter_disable): Likewise.
15637 (grub_file_filter_disable_compression): Likewise.
15638 * include/grub/gzio.h: Removed.
15639
15640 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15641
15642 Filename expansion support for wildcards in GRUB script.
15643
15644 * tests/grub_script_expansion.in: New test.
15645 * Makefile.util.def: Rule for new test.
15646
15647 * grub-core/commands/wildcard.c: New file, implements filename
15648 expansion support for GRUB script.
15649 * grub-core/Makefile.core.def: Rule update for regexp.mod.
15650 * grub-core/script/argv.c: Cosmetic changes.
15651 * grub-core/script/execute.c (grub_script_arglist_to_argv):
15652 Refactored to perform wildcard expansion on arguments.
15653 * include/grub/script_sh.h (grub_script_wildcard_translator): New
15654 struct.
15655
15656 * tests/util/grub-shell.in: Fix quoting for read input.
15657
15658 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15659
15660 Support for updating environment variables with matched substrings
15661 of regexp.
15662
15663 * tests/grub_cmd_regexp.in: New test.
15664 * Makefile.util.def: Rule for new test.
15665
15666 * grub-core/commands/regexp.c: New option -s to update environment
15667 variables with regexp matches.
15668
15669 2010-09-04 Szymon Janc <szymon@janc.net.pl>
15670
15671 * include/grub/file.h (grub_file): New member not_easly_seekable.
15672 (grub_file_seekable): New inline function.
15673 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
15674 easily seekable.
15675 (grub_gzio_open): Set not_easly_seekable.
15676 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
15677 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
15678
15679 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15680
15681 Support for options to appear multiple times on cmdline.
15682
15683 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
15684 * grub-core/commands/extcmd.c: Support for repeatable option.
15685 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
15686 repeatable option support.
15687
15688 Refactor menuentry into a regular command.
15689
15690 * grub-core/commands/menuentry.c: New file, menuentry command
15691 implementation.
15692 * grub-core/Makefile.core.def: Rule update for normal.mod.
15693 * grub-core/normal/main.c: Moved menuentry creation to
15694 grub-core/commands/menuentry.c.
15695 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
15696 (grub_menu_execute_entry_real): Removed.
15697 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
15698 function.
15699 (grub_script_execute_menuentry): Removed.
15700 * grub-core/script/parser.y (menuentry): Removed.
15701 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
15702 * grub-core/script/yylex.l (menuentry): Removed.
15703 * include/grub/menu.h (grub_menu_init): New prototype.
15704 (grub_menu_fini): New prototype.
15705 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
15706 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
15707 (grub_script_execute_sourcecode): New prototype.
15708
15709 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15710
15711 "return" command for GRUB script functions.
15712
15713 * tests/grub_script_return.in: New test.
15714 * Makefile.util.def: Rules for new test.
15715
15716 * grub-core/script/execute.c (grub_script_return): New function.
15717 * grub-core/script/main.c: Register/unregister return commaond.
15718 * include/grub/script_sh.h (grub_script_return): New prototype.
15719
15720 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15721
15722 "setparams" command to update positional parameters.
15723
15724 * tests/grub_script_setparams.in: New test.
15725 * Makefile.util.def: Rules for new test.
15726
15727 * grub-core/script/argv.c (grub_script_argv_make): New function.
15728 * grub-core/script/execute.c (replace_scope): New function.
15729 (grub_script_setparams): New function.
15730 * grub-core/script/lexer.c: Remove unused variables.
15731 * grub-core/script/main.c: Register/unregister setparams command.
15732 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
15733 (grub_script_setparams): New prototype.
15734
15735 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15736
15737 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
15738 grub_free order.
15739
15740 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15741
15742 Support for passing block of commands as an argument to extcmds.
15743
15744 * Makefile.util.def: Rules for new test.
15745 * tests/grub_script_blockarg.in: New test.
15746 * grub-core/tests/test_blockarg.c: New file, block argument
15747 command used in the test.
15748
15749 * include/grub/extcmd.h (grub_extcmd_context): New struct.
15750 (grub_register_extcmd_prio): New function prototype.
15751 (grub_extcmd_dispatcher): New function prototype.
15752 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
15753 type.
15754 * include/grub/script_sh.h (struct grub_script): New members
15755 `children', `next_siblings' and `refcnt' for block arguments and
15756 reference counting.
15757 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
15758 (grub_script_arg): New member `script' for block argument.
15759 (grub_script_argv): New member `script' for block argument.
15760 (grub_parser_param): New member `scripts' for block argument.
15761 (grub_script_mem_free): New extern function prototype.
15762 (grub_script_ref): New function prototype.
15763 (grub_script_unref): New function prototype.
15764
15765 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
15766 extcmd form to support block arguments.
15767 * grub-core/script/argv.c: Block arguments support.
15768 * grub-core/script/execute.c: Likewise.
15769 * grub-core/script/lexer.c: Likewise.
15770 * grub-core/script/main.c: Likewise.
15771 * grub-core/script/script.c: Likewise.
15772 * grub-core/script/parser.y: Likewise. New `block' and `block0'
15773 non-terminals.
15774
15775 * grub-core/commands/acpi.c: Update extcmd implementations with
15776 grub_extcmd_context_t.
15777 * grub-core/commands/cat.c: Likewise.
15778 * grub-core/commands/echo.c: Likewise.
15779 * grub-core/commands/extcmd.c: Likewise.
15780 * grub-core/commands/hashsum.c: Likewise.
15781 * grub-core/commands/hdparm.c: Likewise.
15782 * grub-core/commands/help.c: Likewise.
15783 * grub-core/commands/hexdump.c: Likewise.
15784 * grub-core/commands/i386/cpuid.c: Likewise.
15785 * grub-core/commands/i386/pc/drivemap.c: Likewise.
15786 * grub-core/commands/i386/pc/halt.c: Likewise.
15787 * grub-core/commands/i386/pc/sendkey.c: Likewise.
15788 * grub-core/commands/iorw.c: Likewise.
15789 * grub-core/commands/keystatus.c: Likewise.
15790 * grub-core/commands/loadenv.c: Likewise.
15791 * grub-core/commands/ls.c: Likewise.
15792 * grub-core/commands/lspci.c: Likewise.
15793 * grub-core/commands/memrw.c: Likewise.
15794 * grub-core/commands/probe.c: Likewise.
15795 * grub-core/commands/search_wrap.c: Likewise.
15796 * grub-core/commands/setpci.c: Likewise.
15797 * grub-core/commands/sleep.c: Likewise.
15798 * grub-core/disk/loopback.c: Likewise.
15799 * grub-core/hello/hello.c: Likewise.
15800 * grub-core/loader/i386/bsd.c: Likewise.
15801 * grub-core/loader/xnu.c: Likewise.
15802 * grub-core/term/gfxterm.c: Likewise.
15803 * grub-core/term/serial.c: Likewise.
15804 * grub-core/tests/lib/functional_test.c: Likewise.
15805
15806 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15807
15808 Multi-line quoted strings support.
15809
15810 * grub-core/script/lexer.c (append_newline): Removed.
15811 (grub_script_lexer_yywrap): Refactored.
15812 (grub_script_lexer_init): Refactored.
15813 * grub-core/script/yylex.l (yywrap): New function.
15814 (grub_lexer_resplit): New function.
15815 (grub_lexer_unput): New function.
15816 * include/grub/script_sh.h (grub_lexer_param): New members, unput
15817 and resplit.
15818 * tests/grub_script_echo1.in: Added few more testcases.
15819
15820 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
15821
15822 * grub-core/kern/misc.c: Don't add abort alias in utils.
15823 Reported by: echoline.
15824
15825 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
15826
15827 Add missing files into "make dist" tarball for other platforms.
15828
15829 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
15830 * conf/Makefile.common (dist_noinst_DATA): New variable.
15831 * conf/Makefile.extra-dist: Added missing make dist files.
15832 * grub-core/Makefile.core.def: Likewise.
15833
15834 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
15835
15836 Compress grub_prefix.
15837
15838 * grub-core/boot/i386/pc/lnxboot.S: Use
15839 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
15840 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
15841 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
15842 GRUB_MACHINE_PREFIX_END. All users updated.
15843 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
15844 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
15845 + 0x40.
15846 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
15847 * util/grub-mkimage.c (image_target_desc): Change data_end to
15848 prefix_end. All users updated.
15849
15850 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
15851
15852 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
15853 value.
15854 (grub_openbsd_boot): Likewise.
15855 (grub_netbsd_boot): Likewise.
15856 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
15857 (grub_xnu_boot): Likewise.
15858
15859 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
15860
15861 * configure.ac: Clean LIBS variable after tests.
15862
15863 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
15864
15865 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
15866
15867 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
15868
15869 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
15870 echo if libdevmapper will be used.
15871
15872 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
15873
15874 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
15875 constant for the same file.
15876
15877 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
15878
15879 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
15880
15881 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
15882
15883 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
15884 grub-core/*.pp.
15885
15886 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
15887
15888 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
15889 required by the boot protocol.
15890
15891 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
15892 ebp and edi members.
15893 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
15894 state.ebp and state.edi.
15895 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
15896 %ebp and %edi according to grub_relocator32_ebp and
15897 grub_relocator32_edi respectively.
15898 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
15899 and state.edi.
15900
15901 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
15902
15903 Add i386-pc-pxe image target.
15904
15905 * util/grub-mkimage.c (image_target_desc): New enum value
15906 IMAGE_I386_PC_PXE.
15907 (image_targets): New target i386-pc-pxe.
15908 (generate_image): Handle i386-pc-pxe image.
15909
15910 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
15911
15912 Fix grub_pxe_scan.
15913
15914 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
15915 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
15916 All users updated.
15917 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
15918 (grub_pxe_pxenv): Correct type.
15919
15920 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
15921
15922 * NEWS: Document most of the important changes since 1.98.
15923
15924 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
15925
15926 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
15927 generated manual page) a little.
15928
15929 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
15930
15931 * docs/grub.texi: Add myself as an author.
15932
15933 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
15934
15935 * Makefile.util.def (libgrub.a): Add missing sunpc.
15936 Reported by: Seth Goldberg.
15937
15938 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15939
15940 Interrupt wrapping and code simplifications.
15941
15942 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
15943 x86_noieee1275 which are functionaly equivalent in this case.
15944 (grub-install): Make source on each platform explicit. Enable on
15945 all noemu.
15946 * gentpl.py (x86_efi_pc): Removed group.
15947 (x86_noefi): Likewise.
15948 (i386_noefi): Likewise.
15949 (x86_noieee1275): Likewise.
15950 (i386_noieee1275): Likewise.
15951 (i386_noefi_noieee1275): Likewise.
15952 (i386_pc_qemu_coreboot): Likewise.
15953 (i386_coreboot_multiboot): Likewise.
15954 (i386_pc_coreboot_multiboot_qemu): Likewise.
15955 (x86_noefi_mips): Likewise.
15956 (noieee1275): Likewise.
15957 (ieee1275_mips): Likewise.
15958 (noemu_noieee1275): Likewise.
15959 (cmos): New group.
15960 (usb): Likewise.
15961 (videoinkernel): Likewise.
15962 (videomodules): Likewise.
15963 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
15964 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
15965 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
15966 include/grub/loader.h, include/grub/msdos_partition.h,
15967 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
15968 include/grub/machine/console.h, include/grub/machine/vga.h,
15969 include/grub/machine/vbe.h, include/grub/machine/init.h,
15970 include/grub/machine/kernel.h, include/grub/cpu/time.h,
15971 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
15972 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
15973 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
15974 * grub-core/Makefile.core.def (kernel): Explicit the source for
15975 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
15976 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
15977 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
15978 Use videoinkernel tag.
15979 (usb): Enable on all usb.
15980 (usbserial_common): Likewise.
15981 (usbserial_pl2303): Likewise.
15982 (usbserial_ftdi): Likewise.
15983 (uhci): Enable on all x86.
15984 (ohci): Enable on all pci.
15985 (cmostest): Enable on all CMOS.
15986 (acpi): Include commands/acpi.c on all platforms.
15987 (halt): Add relevant lib/*/halt.c.
15988 (hdparm): Enable on all pci.
15989 (lspci): Likewise.
15990 (usbtest): Enable on all usb.
15991 (ata): Enable on all pci.
15992 (ata_pthru): Likewise.
15993 (usbms): Enable on all usb.
15994 (usb_keyboard): Likewise.
15995 (font): Use tag videomodules.
15996 (bufio): Likewise.
15997 (datetime): Use tag cmos. Enable on all noemu.
15998 (mmap): Use tags common and x86.
15999 (gfxterm): Use tag videomodules.
16000 (bitmap): Likewise.
16001 (bitmap_scale): Likewise.
16002 (video_fb): Likewise.
16003 (video): Likewise.
16004 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
16005 adjust padding accordingly. All users updated.
16006 (grub_ohci_transaction): Fix bad format specification.
16007 (GRUB_MOD_INIT): Add asserts for struct size.
16008 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
16009 (grub_alloc_td): Likewise.
16010 (grub_free_queue): Likewise.
16011 (grub_uhci_transfer): Likewise.
16012 (grub_uhci_transaction): Fix bad format specification.
16013 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
16014 (grub_usb_bulk_readwrite): Likewise.
16015 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
16016 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
16017 Made static.
16018 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
16019 Made static.
16020 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
16021 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
16022 Transformed into C.
16023 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
16024 Moved from here ...
16025 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
16026 ... here. Transformed into C. Made static.
16027 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
16028 Moved from here ...
16029 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
16030 ... here. Transformed into C. Made static.
16031 * grub-core/kern/i386/pc/startup.S
16032 (grub_biosdisk_check_int13_extensions): Moved from here ...
16033 * grub-core/disk/i386/pc/biosdisk.c
16034 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
16035 Made static.
16036 * grub-core/kern/i386/pc/startup.S
16037 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
16038 * grub-core/disk/i386/pc/biosdisk.c
16039 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
16040 Transformed into C. Made static.
16041 * grub-core/kern/i386/pc/startup.S
16042 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
16043 * grub-core/disk/i386/pc/biosdisk.c
16044 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
16045 Transformed into C. Made static.
16046 * grub-core/kern/i386/pc/startup.S
16047 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
16048 * grub-core/disk/i386/pc/biosdisk.c
16049 (grub_biosdisk_get_diskinfo_standard): ... here.
16050 Transformed into C. Made static.
16051 * grub-core/kern/i386/pc/startup.S
16052 (grub_biosdisk_get_num_floppies): Moved from here ...
16053 * grub-core/disk/i386/pc/biosdisk.c
16054 (grub_biosdisk_get_num_floppies): ... here.
16055 Transformed into C. Made static.
16056 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
16057 New function.
16058 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
16059 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
16060 Transformed into C. Made static.
16061 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
16062 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
16063 Transformed into C. Made static.
16064 * grub-core/kern/i386/ieee1275/init.c: Removed.
16065 * grub-core/kern/i386/misc.S: Likewise.
16066 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
16067 Splitted from here ...
16068 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
16069 Transformed into C. Made static. All users updated.
16070 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
16071 Transformed into C. Made static. All users updated.
16072 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
16073 Moved from here...
16074 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
16075 Transformed into C. Made static. All users updated.
16076 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
16077 Moved from here...
16078 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
16079 Transformed into C. Made static. All users updated.
16080 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
16081 Removed (replaced by C version).
16082 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
16083 Moved from here...
16084 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
16085 Transformed into C. Made static.
16086 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
16087 Moved from here...
16088 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
16089 ... here. Transformed into C.
16090 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
16091 Moved from here...
16092 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
16093 ... here. Transformed into C.
16094 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
16095 Moved from here...
16096 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
16097 ... here. Transformed into C. Made static.
16098 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
16099 Moved from here...
16100 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
16101 ... here. Transformed into C.
16102 * grub-core/kern/i386/pc/startup.S
16103 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
16104 * grub-core/video/i386/pc/vbe.c
16105 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
16106 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
16107 Moved from here...
16108 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
16109 ... here. Transformed into C.
16110 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
16111 Moved from here...
16112 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
16113 ... here. Transformed into C.
16114 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
16115 Moved from here...
16116 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
16117 ... here. Transformed into C.
16118 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
16119 Moved from here...
16120 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
16121 ... here. Transformed into C.
16122 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
16123 Moved from here...
16124 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
16125 ... here. Transformed into C. Made static.
16126 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
16127 Moved from here...
16128 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
16129 ... here. Transformed into C. Made static.
16130 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
16131 Moved from here...
16132 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
16133 ... here. Transformed into C. Made static.
16134 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
16135 pxe_rm_entry as third argument.
16136 (grub_bios_interrupt): New function.
16137 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
16138 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
16139 of calling grub_stop.
16140 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
16141 * grub-core/lib/efi/halt.c (grub_halt): ...here.
16142 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
16143 * grub-core/lib/emu/halt.c (grub_halt): ... here.
16144 * grub-core/lib/i386/halt.c: Moved from here ...
16145 * grub-core/lib/i386/halt.c: ... here.
16146 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
16147 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
16148 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
16149 grub_stop_floppy.
16150 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
16151 * include/grub/i386/coreboot/init.h: Removed.
16152 * include/grub/i386/multiboot/init.h: Likewise.
16153 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
16154 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
16155 * include/grub/i386/pc/int.h: New file.
16156 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
16157 (grub_pxe_scan): Removed.
16158 (grub_pxe_call): Update prototype.
16159 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
16160 prototypes.
16161 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
16162 * include/grub/i386/qemu/init.h: Removed.
16163 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
16164 noreturn.
16165 (grub_halt): Likewise.
16166 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
16167 (grub_reboot): Likewise.
16168 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
16169 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
16170 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
16171
16172 2010-08-30 Robert Millan <rmh@gnu.org>
16173
16174 * NEWS: Document addition of ZFS support in `grub-install' and
16175 `grub-mkconfig'.
16176
16177 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
16178
16179 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
16180 dprintf output.
16181
16182 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16183
16184 Remove leftover embedding of font objects.
16185
16186 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
16187 * util/grub-install.in (font): Removed.
16188 * util/grub-mkimage.c (generate_image): Remove font support. All users
16189 updated.
16190
16191 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16192
16193 Remove leftover embedding of font objects.
16194
16195 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
16196 * util/grub-install.in (font): Removed.
16197 * util/grub-mkimage.c (generate_image): Remove font support. All users
16198 updated.
16199
16200 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16201
16202 * docs/grub.texi (Network): Fix reference to pxe_blksize.
16203 Reported by: Ian Turner
16204
16205 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16206
16207 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
16208 timeout to avoid indefinite boot stalling.
16209
16210 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16211
16212 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
16213 (grub_env_write_color_highlight): Likewise.
16214
16215 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16216
16217 * grub-core/normal/term.c (print_more): Return to normal and not
16218 to standard state after printing "---MORE---".
16219
16220 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16221
16222 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
16223 Mask out the bit 0x80 since it has other meaning that specifiing color.
16224
16225 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16226
16227 New relocator. Allows for more kernel support and more straightforward
16228 loader writing.
16229
16230 * Makefile.am (BOOTTARGET): New variable.
16231 (QEMU32): Likewise.
16232 (linux.init.x86_64): New target.
16233 (linux.init.i386): Likewise.
16234 (multiboot.elf): Likewise.
16235 (kfreebsd.elf): Likewise.
16236 (kfreebsd.aout): Likewise.
16237 (pc-chainloader.elf): Likewise.
16238 (pc-chainloader.bin): Likewise.
16239 (ntldr.elf): Likewise.
16240 (ntldr.bin): Likewise.
16241 (multiboot2.elf): Likewise.
16242 (kfreebsd.init.x86_64): Likewise.
16243 (kfreebsd.init.i386): Likewise.
16244 (knetbsd.init.i386): Likewise.
16245 (kopenbsd.init.i386): Likewise.
16246 (knetbsd.init.x86_64): Likewise.
16247 (kopenbsd.init.x86_64): Likewise.
16248 (linux-initramfs.i386): Likewise.
16249 (linux-initramfs.x86_64): Likewise.
16250 (kfreebsd-mfsroot.i386.img): Likewise.
16251 (knetbsd.image.i386): Likewise.
16252 (kopenbsd.image.i386): Likewise.
16253 (kopenbsd.image.x86_64): Likewise.
16254 (knetbsd.miniroot-image.i386.img): Likewise.
16255 (kfreebsd-mfsroot.x86_64.img): Likewise.
16256 (knetbsd.image.x86_64): Likewise.
16257 (knetbsd.miniroot-image.x86_64.img): Likewise.
16258 (kfreebsd-mfsroot.i386.gz): Likewise.
16259 (bootcheck-kfreebsd-i386): Likewise.
16260 (kfreebsd-mfsroot.x86_64.gz): Likewise.
16261 (bootcheck-kfreebsd-x86_64): Likewise.
16262 (knetbsd.miniroot-image.i386.gz): Likewise.
16263 (bootcheck-knetbsd-i386): Likewise.
16264 (bootcheck-kopenbsd-i386): Likewise.
16265 (bootcheck-kopenbsd-x86_64): Likewise.
16266 (knetbsd.miniroot-image.x86_64.gz): Likewise.
16267 (bootcheck-knetbsd-x86_64): Likewise.
16268 (bootcheck-linux-i386): Likewise.
16269 (bootcheck-linux-x86_64): Likewise.
16270 (bootcheck-linux16-i386): Likewise.
16271 (bootcheck-linux16-x86_64): Likewise.
16272 (bootcheck-multiboot): Likewise.
16273 (bootcheck-multiboot2): Likewise.
16274 (bootcheck-kfreebsd-aout): Likewise.
16275 (bootcheck-pc-chainloader): Likewise.
16276 (bootcheck-ntldr): Likewise.
16277 (CLEANFILES): Add new targets.
16278 (BOOTCHECKS): New variable.
16279 (.PHONY): Add bootchecks.
16280 (SUCCESSFUL_BOOT_STRING): New variable.
16281 (BOOTCHECK_TIMEOUT): Likewise.
16282 (bootcheck): New target
16283 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
16284 * configure.ac: Correct efiemu excuse.
16285 * docs/grub.texi (Supported kernels): New chapter.
16286 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
16287 include/grub/mm_private.h. Simplify inclusion of
16288 include/grub/boot.h, include/grub/loader.h
16289 and include/grub/msdos_partition.h
16290 (KERNEL_HEADER_FILES) [i386_coreboot]:
16291 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
16292 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
16293 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
16294 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
16295 include/grub/machine/loader.h.
16296 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
16297 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
16298 extra_dist.
16299 (pci.mod): Enable on i386-multiboot.
16300 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
16301 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
16302 i386-qemu.
16303 (relocator.mod): Rewritten.
16304 (aout.mod): Enable on all x86.
16305 (bsd.mod): Likewise.
16306 (ntldr.mod): New module.
16307 (linux.mod): Use loader/i386/linux.c on all x86.
16308 (xnu.mod): Enable on all x86.
16309 (vga_text.mod): disable on EFI and QEMU.
16310 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
16311 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
16312 * grub-core/efiemu/loadcore.c: Likewise.
16313 * grub-core/efiemu/main.c: Likewise.
16314 (grub_efiemu_exit_boot_services): Removed.
16315 (grub_efiemu_finish_boot_services): Likewise.
16316 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
16317 function.
16318 * grub-core/efiemu/i386/nocfgtables.c: New file.
16319 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
16320 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
16321 (grub_efi_finish_boot_services): Moved from here ...
16322 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
16323 Fille finish memory map and related data.
16324 (finish_mmap_buf): New variable.
16325 (grub_efi_uintn_t finish_mmap_size): Likewise.
16326 (grub_efi_uintn_t finish_key): Likewise.
16327 (grub_efi_uintn_t finish_desc_size): Likewise.
16328 (grub_efi_uint32_t finish_desc_version): Likewise.
16329 (grub_efi_is_finished): Likewise.
16330 (grub_efi_get_memory_map): Use saved memory map if EFI is already
16331 finished.
16332 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
16333 (grub_elf64_phdr_iterate): Likewise.
16334 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
16335 (grub_os_area_size): Likewise.
16336 (grub_machine_init): Don't reserve os area.
16337 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
16338 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
16339 * grub-core/kern/i386/loader.S: Removed.
16340 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
16341 (grub_os_area_size): Likewise.
16342 (grub_machine_init): Don't reserve os area.
16343 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
16344 Don't call grub_dl_unload_all.
16345 Don't include loader.S.
16346 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
16347 Declare the memory after _end as available.
16348 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
16349 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
16350 (GRUB_MM_ALLOC_MAGIC): Moved from here...
16351 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
16352 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
16353 * include/grub/mm_private.h (grub_mm_header): ... here.
16354 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
16355 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
16356 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
16357 (grub_mm_region): ..here. Removed addr. Added pre_size.
16358 All users updated.
16359 * grub-core/kern/mm.c (base): Renamed to ...
16360 (grub_mm_base): ... this. Made global.
16361 (grub_real_malloc): Alloc from end of region.
16362 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
16363 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
16364 * grub-core/kern/powerpc/cache_flush.S: ... here.
16365 * grub-core/lib/efi/relocator.c: New file.
16366 * grub-core/lib/i386/relocator.c: Rewritten.
16367 * grub-core/lib/i386/relocator16.S: New file.
16368 * grub-core/lib/i386/relocator32.S: Likewise.
16369 * grub-core/lib/i386/relocator64.S: Likewise.
16370 * grub-core/lib/i386/relocator_asm.S: Rewritten.
16371 * grub-core/lib/i386/relocator_common.S: New file.
16372 * grub-core/lib/ieee1275/relocator.c: Likewise.
16373 * grub-core/lib/mips/relocator.c: Rewritten.
16374 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
16375 stylistic adjustments.
16376 * grub-core/lib/powerpc/relocator.c: New file.
16377 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
16378 * grub-core/lib/relocator.c: Rewritten.
16379 * grub-core/lib/x86_64/relocator_asm.S: New file.
16380 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
16381 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
16382 (bsd_tag): New struct.
16383 (tags): New variable.
16384 (tags_last): Likewise.
16385 (netbsd_module): New struct.
16386 (netbsd_mods): New variable.
16387 (netbsd_mods_last): Likewise.
16388 (openbsd_opts): New parameter "serial".
16389 (OPENBSD_SERIAL_ARG): New definition.
16390 (netbsd_opts): New parameter "serial".
16391 (NETBSD_SERIAL_ARG): New definition.
16392 (grub_freebsd_add_meta): Reorganised into ...
16393 (grub_bsd_add_meta): ...this. All users updated.
16394 (grub_freebsd_add_mmap): Reorganised into ...
16395 (generate_e820_mmap): ...this...
16396 (grub_bsd_add_mmap): ...and this. All users updated.
16397 (grub_freebsd_list_modules): Use tags.
16398 (grub_netbsd_add_meta_module): New function.
16399 (grub_netbsd_list_modules): Likewise.
16400 (grub_freebsd_boot): Use relocator and finish EFI.
16401 (grub_openbsd_boot): Likewise.
16402 (grub_netbsd_setup_video): New function.
16403 (grub_netbsd_add_modules): Likewise.
16404 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
16405 and finish EFI.
16406 (grub_bsd_unload): Unload tags.
16407 (grub_bsd_load_aout): Use relocator.
16408 (grub_bsd_elf32_size_hook): New function.
16409 (grub_bsd_elf32_hook): Use relocator.
16410 (grub_bsd_elf64_size_hook): New function.
16411 (grub_bsd_elf64_hook): Use relocator.
16412 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
16413 (grub_bsd_load): Zero-out openbsd_ramdisk.
16414 (grub_bsd_load): Use relocator.
16415 (grub_cmd_openbsd): Support serial.
16416 (grub_cmd_netbsd): Support modules.
16417 (grub_cmd_freebsd_module): Use relocator.
16418 (grub_netbsd_module_load): New function.
16419 (grub_cmd_netbsd_module): Likewise.
16420 (grub_cmd_openbsd_ramdisk): Likewise.
16421 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
16422 kopenbsd_ramdisk.
16423 (GRUB_MOD_FINI): Unregister new commands.
16424 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
16425 (grub_freebsd_load_elfmodule_obj): Use relocator.
16426 (grub_freebsd_load_elfmodule): Likewise.
16427 (grub_freebsd_load_elf_meta): Likewise.
16428 (grub_netbsd_load_elf_meta): New function.
16429 (grub_openbsd_find_ramdisk): Likewise.
16430 * grub-core/loader/i386/bsd_helper.S: Removed.
16431 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
16432 * grub-core/loader/i386/bsd_trampoline.S: Removed.
16433 * grub-core/loader/i386/efi/linux.c: Likewise.
16434 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
16435 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
16436 (DEFAULT_VIDEO_MODE): Likewise.
16437 (real_mode_target): New variable.
16438 (prot_mode_target): Likewise.
16439 (initrd_mem_target): Likewise.
16440 (relocator): Likewise.
16441 (efi_mmap_buf): Likewise.
16442 (efi_mmap_size): Likewise.
16443 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
16444 (free_pages): Use relocator.
16445 (allocate_pages): Account for efi_mmap and use relocator. Return error.
16446 (grub_linux_setup_video): Return error.
16447 (grub_linux_trampoline_start): Removed.
16448 (grub_linux_trampoline_end): Likewise.
16449 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
16450 andd video parameters depending on firmware.
16451 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
16452 [GRUB_MACHINE_EFI]: Pass EFI parameters.
16453 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
16454 (grub_cmd_initrd): Use relocator.
16455 * grub-core/loader/i386/linux_trampoline.S: Removed.
16456 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
16457 (elf_sec_entsize): Likewise.
16458 (elf_sec_shstrndx): Likewise.
16459 (elf_sections): Likewise.
16460 (grub_multiboot_load): Use relocator.
16461 (grub_multiboot_get_mbi_size): Account for sections.
16462 (grub_multiboot_make_mbi): Use relocator and support sections.
16463 (grub_multiboot_add_elfsyms): New function.
16464 (grub_multiboot_free_mbi): Free sections.
16465 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
16466 (grub_linux_real_target): Likewise.
16467 (grub_linux_real_chunk): Likewise.
16468 (grub_linux16_prot_size): Likewise.
16469 (grub_linux16_boot): Use relocator.
16470 (grub_linux_unload): Unload relocator.
16471 (grub_cmd_linux): Use relocator.
16472 (grub_cmd_initrd): Likewise.
16473 * grub-core/loader/i386/pc/ntldr.c: New file.
16474 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
16475 Don't try to guess CPU frequency.
16476 (grub_xnu_set_video): Stretch bitmap.
16477 (grub_xnu_boot): Use relocator.
16478 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
16479 (grub_linux_unload): Free relocator.
16480 (grub_linux_load32): Use relocator.
16481 (grub_linux_load64): Likewise.
16482 (grub_cmd_initrd): Likewise.
16483 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
16484 (grub_multiboot_unload): Unload relocator.
16485 (grub_cmd_multiboot): Use relocator.
16486 (grub_cmd_module): Likewise.
16487 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
16488 Use relocator and support sections.
16489 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
16490 (elf_sec_entsize): Likewise.
16491 (elf_sec_shstrndx): Likewise.
16492 (elf_sections): Likewise.
16493 (grub_multiboot_load): Use relocator.
16494 (grub_multiboot_get_mbi_size): Account for sections.
16495 (grub_multiboot_make_mbi): Use relocator and support sections.
16496 (grub_multiboot_add_elfsyms): New function.
16497 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
16498 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
16499 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
16500 Prototype changed. All users updated.
16501 (grub_xnu_align_heap): Simplified.
16502 (grub_xnu_writetree_toheap): Likewise.
16503 (grub_xnu_unload): Unload relocator.
16504 (grub_cmd_xnu_kernel): Use relocator.
16505 (grub_cmd_xnu_kernel64): Likewise.
16506 (grub_xnu_register_memory): Simplified.
16507 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
16508 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
16509 EFI is finished.
16510 (grub_console_checkkey): Likewise.
16511 (grub_console_getkey): Likewise.
16512 (grub_console_getwh): Likewise.
16513 (grub_console_getxy): Likewise.
16514 (grub_console_gotoxy): Likewise.
16515 (grub_console_cls): Likewise.
16516 (grub_console_setcolorstate): Likewise.
16517 (grub_console_setcursor): Likewise.
16518 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
16519 * grub-core/tests/boot/kbsd.init-i386.S: New file.
16520 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
16521 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
16522 * grub-core/tests/boot/kernel-8086.S: Likewise.
16523 * grub-core/tests/boot/kernel-i386.S: Likewise.
16524 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
16525 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
16526 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
16527 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
16528 * grub-core/tests/boot/knetbsd.cfg: Likewise.
16529 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
16530 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
16531 * grub-core/tests/boot/linux.cfg: Likewise.
16532 * grub-core/tests/boot/linux.init-i386.S: Likewise.
16533 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
16534 * grub-core/tests/boot/linux16.cfg: Likewise.
16535 * grub-core/tests/boot/multiboot.cfg: Likewise.
16536 * grub-core/tests/boot/multiboot2.cfg: Likewise.
16537 * grub-core/tests/boot/ntldr.cfg: Likewise.
16538 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
16539 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
16540 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
16541 New definition.
16542 * include/grub/dl.h (grub_dl_unload_all): Removed.
16543 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
16544 (grub_efi_finish_boot_services): Change prototype.
16545 (grub_efi_is_finished): New variable.
16546 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
16547 Changed prototype.
16548 (grub_efiemu_finish_boot_services): Removed.
16549 (grub_machine_efiemu_init_tables): New prototype.
16550 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
16551 (grub_elf64_phdr_iterate): Likewise.
16552 * include/grub/i386/bsd.h: Include relocator.h.
16553 (freebsd_tag_header): New struct.
16554 (grub_openbsd_bios_mmap): Removed.
16555 (grub_unix_real_boot): Removed.
16556 (grub_freebsd_load_elfmodule32): Changed prototype.
16557 (grub_freebsd_load_elfmodule_obj64): Likewise.
16558 (grub_freebsd_load_elf_meta32): Likewise.
16559 (grub_freebsd_load_elf_meta64): Likewise.
16560 (grub_freebsd_add_meta): Removed.
16561 (grub_netbsd_load_elf_meta32): New prototype.
16562 (grub_netbsd_load_elf_meta64): Likewise.
16563 (grub_bsd_add_meta): Likewise.
16564 (grub_openbsd_ramdisk_descriptor): New struct.
16565 (grub_openbsd_find_ramdisk32): New prototype.
16566 (grub_openbsd_find_ramdisk64): Likewise.
16567 * include/grub/i386/coreboot/loader.h: Removed.
16568 * include/grub/i386/efi/loader.h: Likewise.
16569 * include/grub/i386/ieee1275/loader.h: Likewise.
16570 * include/grub/i386/linux.h (linux_kernel_header): Change void *
16571 to grub_uint32_t.
16572 * include/grub/i386/loader.h: Removed.
16573 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
16574 value.
16575 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
16576 (grub_phys_addr_t): New type.
16577 (grub_vtop): New inline function.
16578 (grub_map_memory): Likewise.
16579 (grub_unmap_memory): Likewise.
16580 * include/grub/i386/multiboot/loader.h: Removed.
16581 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
16582 (NETBSD_BTINFO_CONSOLE): New definition.
16583 (NETBSD_BTINFO_SYMTAB): Likewise.
16584 (NETBSD_BTINFO_MODULES): Likewise.
16585 (NETBSD_BTINFO_FRAMEBUF): Likewise.
16586 (grub_netbsd_bootinfo): New struct.
16587 (grub_netbsd_btinfo_common): Use explicit bitsize.
16588 (grub_netbsd_btinfo_mmap_entry): Removed.
16589 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
16590 (grub_netbsd_btinfo_bootdisk): New struct.
16591 (grub_netbsd_btinfo_symtab): Likewise.
16592 (grub_netbsd_btinfo_serial): Likewise.
16593 (grub_netbsd_btinfo_modules): Likewise.
16594 (grub_netbsd_btinfo_framebuf): Likewise.
16595 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
16596 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
16597 Likewise.
16598 (grub_openbsd_bootargs): Use explicit bitsize.
16599 (grub_openbsd_bootarg_console): New struct.
16600 (GRUB_OPENBSD_COM_MAJOR): New definition.
16601 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
16602 * include/grub/i386/pc/efiemu.h: Removed.
16603 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
16604 * include/grub/i386/qemu/loader.h: Removed.
16605 * include/grub/i386/relocator.h: Rewritten.
16606 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
16607 * include/grub/mips/memory.h: New file.
16608 * include/grub/mips/multiboot.h: Rewritten.
16609 * include/grub/mips/relocator.h: Rewritten.
16610 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
16611 (grub_vtop): New function.
16612 (grub_map_memory): Likewise.
16613 (grub_unmap_memory): Likewise.
16614 * include/grub/misc.h (ALIGN_DOWN): New definition.
16615 * include/grub/mm.h (grub_mm_check_real): New proto.
16616 (GRUB_MM_CHECK): New definition.
16617 * include/grub/mm_private.h: New file.
16618 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
16619 (grub_multiboot_get_mbi_size): Removed.
16620 (grub_multiboot_make_mbi): Change prottype.
16621 (grub_multiboot_set_accepts_video): New proto.
16622 (grub_multiboot_add_elfsyms): Likewise.
16623 (grub_multiboot_payload_eip): New variable.
16624 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
16625 New prototype.
16626 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
16627 New definition.
16628 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
16629 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
16630 * include/grub/powerpc/ieee1275/loader.h: Removed.
16631 * include/grub/powerpc/memory.h: New file.
16632 * include/grub/powerpc/relocator.h: Likewise.
16633 * include/grub/relocator.h: Likewise.
16634 * include/grub/relocator_private.h: Likewise.
16635 * include/grub/sparc64/ieee1275/loader.h: Removed.
16636 * include/grub/x86_64/memory.h: New file.
16637 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
16638 (grub_xnu_heap_malloc): Likewise.
16639 (grub_xnu_heap_real_start): Removed.
16640 (grub_xnu_heap_start): Likewise.
16641 (grub_xnu_relocator): New variable.
16642 (grub_xnu_heap_target_start): Likewise.
16643 * tests/util/grub-shell.in: Support non-pc.
16644 * util/grub-mkimage.c (image_targets): Fix multiboot target.
16645
16646 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16647
16648 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
16649 on malloc error.
16650 (grub_bidi_logical_to_visual): Check that malloc succeded.
16651 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
16652 puts.
16653 (grub_xputs_normal): Likewise.
16654
16655 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16656
16657 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
16658 extra_dist.
16659
16660 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16661
16662 * grub-core/efiemu/runtime/efiemu.sh: Removed.
16663
16664 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16665
16666 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
16667
16668 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16669
16670 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
16671 dprintf.
16672
16673 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
16674
16675 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
16676
16677 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16678
16679 * grub-core/normal/term.c (print_more): Fix a memory leak.
16680 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
16681 (grub_xputs_normal): Likewise.
16682
16683 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16684
16685 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
16686 the begining of the string
16687
16688 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16689
16690 * grub-core/script/script.c (grub_script_parse): Free parsed on
16691 failure.
16692
16693 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16694
16695 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
16696 on failure.
16697
16698 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16699
16700 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
16701 return.
16702
16703 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16704
16705 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
16706 (scroll_up): Fix a memory leak.
16707
16708 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16709
16710 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
16711 errors.
16712
16713 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
16714
16715 Handle USB pendrives exposed as floppies.
16716
16717 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
16718 floppy.
16719 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
16720 Check for partitions on all devices.
16721
16722 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
16723
16724 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
16725 (readkey): Likewise.
16726
16727 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
16728
16729 Multiple variable names support to "export" command.
16730
16731 * normal/context.c (grub_cmd_export): "export" command supports
16732 multiple variable names.
16733
16734 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
16735
16736 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
16737 --target=drive output to Mach device name.
16738
16739 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
16740
16741 New Automake based build system for GRUB.
16742
16743 * ABOUT-NLS: New file.
16744 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
16745 in Makefile.util.def file.
16746 * Makefile.util.def: New file. Autogen build definitions file for
16747 GRUB host utils.
16748 * conf/Makefile.common: New file. Common variables for GRUB host
16749 utils and target modules.
16750 * conf/Makefile.extra-dist: New file. Extra files for make dist.
16751 * docs/Makefile.am: New file. Automake file for docs.
16752 * gentpl.py: New file. Python script to generate Autogen
16753 template.
16754 * grub-core/Makefile.am: New file. GRUB target modules' rules
16755 that doesn't fit in Makefile.core.def file.
16756 * grub-core/Makefile.core.def: New file. Autogen build
16757 definitions file for GRUB target modules.
16758 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
16759 specific setjmp.S file.
16760 * po/Makefile.am: New file.
16761
16762 * .bzrignore: New ignores.
16763 * INSTALL: New requirements, without Ruby.
16764 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
16765 * autogen.sh: Updated to invoke autogen as necessary.
16766 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
16767 and defines for Automake conditionals.
16768 * geninit.sh: Refactoring.
16769
16770 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
16771 necessary.
16772 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
16773 New prototype.
16774
16775 * include/grub/test.h: Fix functional test modules' naming.
16776 * grub-core/tests/example_functional_test.c: Fix test module name.
16777
16778 * util/misc.c: Hosted versions' of grub functions for libgrub.a
16779 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
16780 * util/grub-editenv.c: Likewise.
16781 * util/grub-fstest.c: Likewise.
16782 * util/grub-mkdevicemap.c: Likewise.
16783 * util/grub-mkfont.c: Likewise.
16784 * util/grub-mkimage.c: Likewise.
16785 * util/grub-mkpasswd-pbkdf2.c: Likewise.
16786 * util/grub-probe.c: Likewise.
16787 * util/grub-script-check.c: Likewise.
16788 * util/i386/pc/grub-setup.c: Likewise.
16789 * util/sparc64/ieee1275/grub-setup.c: Likewise.
16790
16791 * tests/util/grub-shell.in: Fix override directory path.
16792 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
16793 * util/import_gcry.py: Create Makefile.gcry.def file instead.
16794
16795 * util/lvm.c: Update #includes.
16796 * util/raid.c: Likewise.
16797 * util/resolve.c: Likewise.
16798 * grub-core/bus/emu/pci.c: Likewise.
16799 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
16800 * grub-core/lib/posix_wrap/string.h: Likewise.
16801 * grub-core/kern/emu/main.c: Likewise.
16802
16803 * grub-core/gensymlist.sh: New file. Script for generating kernel
16804 symbols file.
16805 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
16806
16807 * grub-core/gentrigtables.c: Fix unused variable warnings.
16808
16809 * Makefile.in: Removed.
16810 * conf/any-emu.rmk: Removed.
16811 * conf/common.rmk: Removed.
16812 * conf/i386-coreboot.rmk: Removed.
16813 * conf/i386-efi.rmk: Removed.
16814 * conf/i386-ieee1275.rmk: Removed.
16815 * conf/i386-multiboot.rmk: Removed.
16816 * conf/i386-pc.rmk: Removed.
16817 * conf/i386-qemu.rmk: Removed.
16818 * conf/i386.rmk: Removed.
16819 * conf/mips-yeeloong.rmk: Removed.
16820 * conf/mips.rmk: Removed.
16821 * conf/powerpc-ieee1275.rmk: Removed.
16822 * conf/sparc64-ieee1275.rmk: Removed.
16823 * conf/tests.rmk: Removed.
16824 * conf/x86-efi.rmk: Removed.
16825 * conf/x86_64-efi.rmk: Removed.
16826 * gendistlist.sh: Removed.
16827 * geninitheader.sh: Removed.
16828 * genkernsyms.sh.in: Removed.
16829 * genmk.rb: Removed.
16830 * gensymlist.sh.in: Removed.
16831 * mkinstalldirs: Removed.
16832 * boot: Moved ...
16833 * grub-core/boot: ... to here.
16834 * bus: Moved ...
16835 * grub-core/bus: ... to here.
16836 * commands: Moved ...
16837 * grub-core/commands: ... to here.
16838 * disk: Moved ...
16839 * grub-core/disk: ... to here.
16840 * efiemu: Moved ...
16841 * grub-core/efiemu: ... to here.
16842 * font: Moved ...
16843 * grub-core/font: ... to here.
16844 * fs: Moved ...
16845 * grub-core/fs: ... to here.
16846 * gencmdlist.sh: Moved ...
16847 * grub-core/gencmdlist.sh: ... to here.
16848 * genemuinit.sh: Moved ...
16849 * grub-core/genemuinit.sh: ... to here.
16850 * genemuinitheader.sh: Moved ...
16851 * grub-core/genemuinitheader.sh: ... to here.
16852 * genfslist.sh: Moved ...
16853 * grub-core/genfslist.sh: ... to here.
16854 * genhandlerlist.sh: Moved ...
16855 * grub-core/genhandlerlist.sh: ... to here.
16856 * genmoddep.awk: Moved ...
16857 * grub-core/genmoddep.awk: ... to here.
16858 * genmodsrc.sh: Moved ...
16859 * grub-core/genmodsrc.sh: ... to here.
16860 * genpartmaplist.sh: Moved ...
16861 * grub-core/genpartmaplist.sh: ... to here.
16862 * genparttoollist.sh: Moved ...
16863 * grub-core/genparttoollist.sh: ... to here.
16864 * genterminallist.sh: Moved ...
16865 * grub-core/genterminallist.sh: ... to here.
16866 * gentrigtables.c: Moved ...
16867 * grub-core/gentrigtables.c: ... to here.
16868 * genvideolist.sh: Moved ...
16869 * grub-core/genvideolist.sh: ... to here.
16870 * gettext: Moved ...
16871 * grub-core/gettext: ... to here.
16872 * gfxmenu: Moved ...
16873 * grub-core/gfxmenu: ... to here.
16874 * gnulib: Moved ...
16875 * grub-core/gnulib: ... to here.
16876 * hello: Moved ...
16877 * grub-core/hello: ... to here.
16878 * hook: Moved ...
16879 * grub-core/hook: ... to here.
16880 * io: Moved ...
16881 * grub-core/io: ... to here.
16882 * kern: Moved ...
16883 * grub-core/kern: ... to here.
16884 * lib: Moved ...
16885 * grub-core/lib: ... to here.
16886 * loader: Moved ...
16887 * grub-core/loader: ... to here.
16888 * mmap: Moved ...
16889 * grub-core/mmap: ... to here.
16890 * normal: Moved ...
16891 * grub-core/normal: ... to here.
16892 * partmap: Moved ...
16893 * grub-core/partmap: ... to here.
16894 * parttool: Moved ...
16895 * grub-core/parttool: ... to here.
16896 * script: Moved ...
16897 * grub-core/script: ... to here.
16898 * term: Moved ...
16899 * grub-core/term: ... to here
16900 * tests/example_functional_test.c: Moved ...
16901 * grub-core/tests/example_functional_test.c: ... to here.
16902 * tests/lib/functional_test.c: Moved ...
16903 * grub-core/tests/lib/functional_test.c: ... to here.
16904 * tests/lib/test.c: Moved ...
16905 * grub-core/tests/lib/test.c: ... to here.
16906 * video: Moved ...
16907 * grub-core/video: ... to here.
16908
16909 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
16910
16911 Replace --enable-grub-emu-modules with grub-emu-lite.
16912
16913 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
16914 cache.S.
16915
16916 * include/grub/emu/misc.h (grub_emu_init): New prototype.
16917 * kern/emu/full.c: New file. For grub-emu specific initialization.
16918 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
16919 * kern/emu/main.c: Call initialization function grub_emu_init.
16920
16921 * Makefile.in: Include grub-emu-lite in install.
16922 * commands/parttool.c: Use grub_no_autoload to differentiate
16923 between grub-emu and grub-emu-lite.
16924 * include/grub/misc.h: New variable grub_no_autoload.
16925
16926 * conf/any-emu.rmk: New rules for grub-emu-lite.
16927 * configure.ac: Remove --enable-grub-emu-modules.
16928 * genmk.rb: Cleanup unnecessary rules.
16929 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
16930
16931 * normal/main.c: Don't load list files on grub-emu-lite.
16932 * util/misc.c (grub_arch_sync_caches): Removed.
16933
16934 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
16935
16936 * kern/mips/startup.S (grub_prefix): Update comment to refer to
16937 grub-mkimage rather than grub-mkelfimage.
16938 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
16939
16940 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
16941
16942 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
16943 a key after CapsLock or NumLock. It's just a qemu bug.
16944
16945 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
16946
16947 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
16948 needed by libusb wrapper.
16949
16950 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
16951
16952 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
16953
16954 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
16955
16956 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
16957 --nounzip is passed.
16958
16959 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
16960
16961 USB hotunplugging and USB serial support.
16962
16963 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
16964 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
16965 (grub_uhci_transfer): Respect timeout and set *actual.
16966 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
16967 non-standard length.
16968 (grub_usb_device_attach): Autoload modules.
16969 (GRUB_MOD_INIT): Set grub_term_poll_usb.
16970 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
16971 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
16972 users updated.
16973 (grub_usb_add_hub): Fill nports and children.
16974 (attach_root_port): Receive hub instead of controller.
16975 All users updated. Fill hub->devices.
16976 (grub_usb_root_hub): Allocate hub->devices.
16977 (detach_device): New function.
16978 (poll_nonroot_hub): Fill children and detach devices.
16979 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
16980 actual arguments. All users updated.
16981 (grub_usb_bulk_read_extended): New function.
16982 * bus/usb/serial/common.c: New file.
16983 * bus/usb/serial/ftdi.c: Likewise.
16984 * bus/usb/serial/pl2303.c: Likewise.
16985 * commands/terminal.c (handle_command): Support wildcard.
16986 * commands/usbtest.c: Output "Unknown" instead of empty string.
16987 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
16988 (usbserial_common_mod_SOURCES): New variable.
16989 (usbserial_common_mod_CFLAGS): Likewise.
16990 (usbserial_common_mod_LDFLAGS): Likewise.
16991 (pkglib_MODULES): Add usbserial_pl2303.mod.
16992 (usbserial_pl2303_mod_SOURCES): New variable.
16993 (usbserial_pl2303_mod_CFLAGS): Likewise.
16994 (usbserial_pl2303_mod_LDFLAGS): Likewise.
16995 (pkglib_MODULES): Add usbserial_ftdi.mod.
16996 (usbserial_ftdi_mod_SOURCES): New variable.
16997 (usbserial_ftdi_mod_CFLAGS): Likewise.
16998 (usbserial_ftdi_mod_LDFLAGS): Likewise.
16999 (pkglib_MODULES): Add serial.mod.
17000 (serial_mod_SOURCES): New variable.
17001 (serial_mod_CFLAGS): Likewise.
17002 (serial_mod_LDFLAGS): Likewise.
17003 * conf/i386-pc.rmk: Likewise.
17004 * conf/mips-yeeloong.rmk: Likewise.
17005 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
17006 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
17007 * disk/usbms.c (first_available_slot): New variable.
17008 (grub_usbms_attach): Don't reuse free slots due to potential cache
17009 problems.
17010 * include/grub/serial.h: Moved to ..
17011 * include/grub/ns8250.h: ...this.
17012 * include/grub/serial.h: New file.
17013 * include/grub/term.h (grub_term_poll_usb): New variable.
17014 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
17015 readkey. All users updated.
17016 (grub_terminfo_output_state): Pass term to put.
17017 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
17018 (grub_usb_controller_dev): Add timeout and actual arguments to
17019 transfer. All users updated.
17020 (grub_usb_interface): New field detach_data.
17021 (grub_usb_device): New fields children and nports.
17022 (grub_usb_ep_type_t): New type.
17023 (grub_usb_get_ep_type): New function.
17024 (grub_usb_bulk_read_extended): Likewise.
17025 * include/grub/usbdesc.h (grub_usb_desc): New type.
17026 * include/grub/usbserial.h: New file.
17027 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
17028 * kern/term.c (grub_term_poll_usb): New variable.
17029 (grub_getkey): Call grub_term_poll_usb if set.
17030 (grub_checkkey): Likewise.
17031 (grub_getkeystatus): Likewise.
17032 * term/serial.c: Moved controller-specific parts to ...
17033 * term/ns8250.c: ... here.
17034 * term/serial.c: Mostly rewritten.
17035 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
17036 according to spec.
17037
17038 2010-08-20 Robert Millan <rmh@gnu.org>
17039
17040 Make kFreeBSD code more generic to support ext2fs as root, ufs as
17041 a separate module and maybe other interesting combinations.
17042
17043 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
17044 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
17045 (kfreebsd_entry): Add generic filesystem module load routine.
17046 Map GRUB `ext2' to kFreeBSD `ext2fs'.
17047
17048 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
17049
17050 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
17051 "numcenter" (I misunderstood the purpose of this entry).
17052 * docs/grub.texi (sendkey): Likewise.
17053
17054 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
17055
17056 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
17057 status flag options; simply omitting the option is equivalent and
17058 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
17059 (keysym_table): Rename "num5numlock" to "numlock".
17060 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
17061 can uniformly say that only the last of multiple `sendkey'
17062 invocations has any effect.
17063 * docs/grub.texi (sendkey): New section.
17064
17065 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
17066
17067 * commands/i386/pc/sendkey.c (options): Fix three typos.
17068
17069 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17070
17071 Implement sendkey support.
17072
17073 * commands/i386/pc/sendkey.c: New file.
17074 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
17075 (sendkey_mod_SOURCES): New variable.
17076 (sendkey_mod_CFLAGS): Likewise.
17077 (sendkey_mod_LDFLAGS): Likewise.
17078
17079 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
17080
17081 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
17082 fix warnings from Autoconf.
17083
17084 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
17085
17086 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
17087 to avoid false positives with some assemblers that output things
17088 like "someprefix_func" as part of their output.
17089
17090 2010-08-15 Robert Millan <rmh@gnu.org>
17091
17092 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
17093 errors.
17094 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
17095 grub_get_libzfs_handle() errors.
17096
17097 2010-08-14 Robert Millan <rmh@gnu.org>
17098
17099 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
17100 filesystem is not ZFS.
17101
17102 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17103
17104 Fix for misspelled color names defaulting to black/black (bug
17105 reported by Doug Nazar)
17106
17107 * include/grub/normal.h (grub_parse_color_name_pair): Add return
17108 status to prototype.
17109 * normal/color.c (grub_parse_color_name_pair): Return failure
17110 status.
17111 (grub_env_write_color_normal): Ignore bad color names.
17112 (grub_env_write_color_highlight): Likewise.
17113 * normal/main.c (GRUB_MOD_INIT): Set default color names.
17114
17115 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17116
17117 "shift" command support to GRUB script.
17118
17119 * include/grub/script_sh.h (grub_script_shift): New prototype.
17120 * script/execute.c (grub_script_shift): New function.
17121 * script/main.c (grub_script_init): Register shift command.
17122 (grub_script_fini): Unregister shift command.
17123 * util/grub-script-check.c (grub_script_cmd_shift): New function.
17124
17125 * tests/grub_script_shift.in: New testcase.
17126 * conf/tests.rmk: Rules for new testcase.
17127
17128 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17129
17130 "continue" command support to GRUB script.
17131
17132 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
17133 (grub_script_break): Continue support.
17134 * script/main.c (grub_script_init): Register continue command.
17135 (grub_script_fini): Unregister continue command.
17136
17137 * tests/grub_script_continue.in: New testcase.
17138 * conf/tests.rmk: Rules for new testcase.
17139
17140 2010-08-12 BVK Chaitanya <bvk@dbook>
17141
17142 "break" command support to GRUB script.
17143
17144 * conf/common.rmk: Rule updates to grub-script-check.
17145 * include/grub/misc.h (grub_min): New function.
17146 * include/grub/script_sh.h (grub_script_init): New prototype.
17147 (grub_script_fini): New prototype.
17148 (grub_script_break): New prototype.
17149 * script/main.c (grub_script_init): New function.
17150 (grub_script_fini): New function.
17151 * script/execute.c (grub_script_break): New function.
17152 * normal/main.c: Calls to grub_script_{init,fini}.
17153 * util/grub-script-check.c (grub_script_break): New function.
17154
17155 * tests/grub_script_break.in: New testcase.
17156 * conf/tests.rmk: Rules for new test case.
17157
17158 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17159
17160 Function parameters support to GRUB script.
17161
17162 * script/yylex.l (VARIABLE): Regular expression update.
17163 * script/function.c (grub_script_function_call): Moved ...
17164 * script/execute.c (grub_script_function_call): ... to here.
17165 (grub_script_execute_arglist_to_argv): Removed.
17166 (grub_script_arglist_to_argv): New function.
17167 * script/argv.c: New file.
17168 (grub_script_argv_free): New function.
17169 (grub_script_argv_next): Likewise.
17170 (grub_script_argv_append): Likewise.
17171 (grub_script_argv_split_append): Likewise.
17172 * include/grub/script_sh.h (grub_script_argv): New struct.
17173 (grub_script_argv_free): New function.
17174 (grub_script_argv_next): Likewise.
17175 (grub_script_argv_append): Likewise.
17176 (grub_script_argv_split_append): Likewise.
17177
17178 * conf/common.rmk (normal.mod): New source script/argv.c.
17179
17180 * tests/grub_script_echo1.in: More tests.
17181 * tests/grub_script_vars1.in: Likewise.
17182 * tests/grub_script_functions.in: New test case.
17183 * conf/tests.rmk: Rules for new testcase.
17184
17185 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17186
17187 Remove grub_script_cmdblock struct.
17188
17189 * include/grub/script_sh.h: Remove grub_script_cmdblock.
17190 * script/parser.y: Likewise.
17191 * script/execute.c: Rename cmdblock suffix to cmdlist.
17192 * script/script.c: Likewise.
17193 * util/grub-script-check.c: Likewise.
17194
17195 2010-08-11 Yves Blusseau <blusseau@zetam.org>
17196
17197 * .bzrignore: add grub-macho2img
17198
17199 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
17200
17201 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
17202
17203 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
17204
17205 Remove the dump of sm712 initialisation sequence.
17206
17207 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
17208 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
17209 (GRUB_VGA_IO_MISC_WRITE): Likewise.
17210 (GRUB_VGA_CR_*): Added many registers.
17211 (GRUB_VGA_SR_*): Likewise.
17212 (GRUB_VGA_GR_*): Likewise.
17213 (grub_vga_write_arx): New function.
17214 (grub_video_hw_config): New struct.
17215 (grub_vga_set_geometry): New function.
17216 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
17217 GRUB_PCI_CLASS_SUBCLASS_VGA.
17218 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
17219 * video/sm712.c (grub_sm712_write_reg): New function
17220 (grub_sm712_read_reg): Likewise.
17221 (grub_sm712_sr_write): Likewise.
17222 (grub_sm712_gr_write): Likewise.
17223 (grub_sm712_cr_write): Likewise.
17224 (grub_sm712_write_arx): Likewise.
17225 (grub_sm712_cr_shadow_write): Likewise.
17226 (grub_sm712_write_dda_lookup): Likewise.
17227 (grub_video_sm712_setup): Initialise the video rather then
17228 blindly replay the dump.
17229 (main) [TEST]: Add a routine to be able to compile as standalone for
17230 tests.
17231 * video/sm712_init.c (sm712_init): Removed.
17232 (sm712_sr_seq1): New array.
17233 (sm712_sr_seq2): Likewise.
17234
17235 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
17236
17237 * include/grub/vga.h: Add missing grub/pci.h include.
17238
17239 2010-08-10 Yves Blusseau <blusseau@zetam.org>
17240
17241 * util/grub-macho2img.c (main): fix typo
17242
17243 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
17244
17245 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
17246 (grub_vga_gr_read): Likewise.
17247 (grub_vga_cr_write): Likewise.
17248 (grub_vga_cr_read): Likewise.
17249 (grub_vga_sr_write): Likewise.
17250 (grub_vga_sr_read): Likewise.
17251 (grub_vga_palette_read): Likewise.
17252 (grub_vga_palette_write): Likewise.
17253 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
17254 (grub_sm712_sr_read): New function.
17255 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
17256 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
17257
17258 2010-08-09 Robert Millan <rmh@gnu.org>
17259
17260 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
17261 out unused variables on non-ZFS build.
17262
17263 2010-08-08 Robert Millan <rmh@gnu.org>
17264
17265 Fix path generation for sub-filesystems in ZFS.
17266
17267 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
17268 missing slash.
17269
17270 2010-08-08 Robert Millan <rmh@gnu.org>
17271
17272 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
17273
17274 2010-08-08 Robert Millan <rmh@gnu.org>
17275
17276 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
17277 exist, issue a proper error message (rely on `ls' for translated
17278 strings).
17279
17280 2010-08-08 Robert Millan <rmh@gnu.org>
17281
17282 Fix grub-probe invocation.
17283
17284 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
17285
17286 2010-08-04 Robert Millan <rmh@gnu.org>
17287
17288 * configure.ac: Remove checks for getfsstat() and getmntany().
17289 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
17290 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
17291 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
17292 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
17293 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
17294 function.
17295 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
17296 via find_mount_point_from_dir() and getfsstat() / getmntany().
17297
17298 2010-08-04 Robert Millan <rmh@gnu.org>
17299
17300 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
17301 (grub_find_zpool_from_mount_point): Merge into ...
17302 (grub_find_zpool_from_dir): ... this.
17303 * kern/emu/misc.c: Likewise.
17304
17305 * kern/emu/misc.c
17306 (grub_make_system_path_relative_to_its_root): Replace
17307 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
17308 with grub_find_zpool_from_dir().
17309 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
17310
17311 2010-08-04 Robert Millan <rmh@gnu.org>
17312
17313 Support OpenSolaris in ZFS device resolution.
17314
17315 * configure.ac: Check for getmntany().
17316 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
17317 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
17318 support.
17319
17320 2010-08-03 Robert Millan <rmh@gnu.org>
17321
17322 Fix grub-emu build.
17323
17324 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
17325 * include/grub/emu/misc.h: ... here.
17326
17327 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
17328 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
17329
17330 * util/misc.c: Remove `<grub/util/libzfs.h>'.
17331 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
17332 (grub_get_libzfs_handle): Move to ...
17333 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
17334 (grub_get_libzfs_handle): ... here.
17335
17336 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
17337
17338 * script/execute.c (grub_script_execute_cmdline): Check for NULL
17339 as command name case.
17340
17341 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
17342
17343 * disk/raid.c (insert_array): Select unique numbers for named arrays
17344 as well, for use as keys in the disk cache.
17345
17346 2010-08-01 Robert Millan <rmh@gnu.org>
17347
17348 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
17349 kFreeBSD device name, except on ZFS where the filesystem label is
17350 used.
17351 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
17352 `/boot/zfs/zpool.cache'.
17353 Set mountfrom kernel variable using ${kfreebsd_device}.
17354
17355 2010-08-01 Robert Millan <rmh@gnu.org>
17356
17357 Make it even harder to use uninitialized `libzfs_handle' (and
17358 make the interface a bit simpler).
17359
17360 * include/grub/util/misc.h (grub_util_init_libzfs)
17361 (libzfs_handle): Remove.
17362 (grub_get_libzfs_handle): New prototype.
17363
17364 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
17365 attribute.
17366 (grub_util_init_libzfs): Remove.
17367 (grub_get_libzfs_handle): New function.
17368
17369 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
17370 grub_get_libzfs_handle() to obtain a libzfs handle instead of
17371 accessing `libzfs_handle' directly.
17372
17373 2010-08-01 Robert Millan <rmh@gnu.org>
17374
17375 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
17376 (grub_find_zpool_from_mount_point): New function prototypes.
17377
17378 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
17379 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
17380
17381 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
17382 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
17383 `static' attribute.
17384
17385 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
17386 finding zpool from mount point into ...
17387 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
17388
17389 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
17390 requested path is part of a ZFS pool, use
17391 grub_find_zpool_from_mount_point() to detect its filesystem name,
17392 and generate a path with `/fsname@path' syntax.
17393
17394 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
17395
17396 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
17397 (void) rather than () so that this is a proper prototype.
17398
17399 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
17400
17401 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
17402
17403 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
17404
17405 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
17406 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
17407
17408 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
17409
17410 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
17411
17412 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
17413
17414 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
17415
17416 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
17417
17418 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
17419 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
17420 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
17421 disable gfxpayload.
17422 (Shell-like scripting): Add real content.
17423 (Serial terminal): Suggest `terminal_input serial; terminal_output
17424 serial' rather than putting the two commands on separate lines,
17425 since console input will be inoperative after the first command.
17426 (menuentry): Document --class, --users, and --hotkey options.
17427 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
17428 Vladimir Serbinenko).
17429
17430 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
17431 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
17432
17433 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
17434
17435 2010-08-01 Robert Millan <rmh@gnu.org>
17436
17437 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
17438 (grub_find_zpool_from_mount_point): New function prototypes.
17439
17440 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
17441 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
17442
17443 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
17444 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
17445 `static' attribute.
17446
17447 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
17448 finding zpool from mount point into ...
17449 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
17450
17451 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
17452 requested path is part of a ZFS pool, use
17453 grub_find_zpool_from_mount_point() to detect its filesystem name,
17454 and generate a path with `/fsname@path' syntax.
17455
17456 2010-08-01 Robert Millan <rmh@gnu.org>
17457
17458 Prevent accidental use of uninitialized libzfs_handle.
17459
17460 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
17461 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
17462 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
17463
17464 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
17465
17466 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
17467 util/grub.d/10_linux.in). Fixes Debian bug #591093.
17468
17469 2010-08-01 Robert Millan <rmh@gnu.org>
17470
17471 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
17472
17473 2010-07-31 Robert Millan <rmh@gnu.org>
17474
17475 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
17476
17477 2010-07-31 Robert Millan <rmh@gnu.org>
17478
17479 * kern/emu/misc.c: Add missing license header.
17480
17481 2010-07-31 Robert Millan <rmh@gnu.org>
17482
17483 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
17484
17485 * include/grub/util/libnvpair.h: Include `<config.h>'.
17486 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
17487 declaring libnvpair prototypes ourselves.
17488 * include/grub/util/libzfs.h: Include `<config.h>'.
17489 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
17490 declaring libzfs prototypes ourselves.
17491
17492 (libzfs_handle): Moved to ...
17493 * include/grub/util/misc.h (libzfs_handle): ... here.
17494 Include `<grub/util/libzfs.h>'.
17495
17496 2010-07-30 Robert Millan <rmh@gnu.org>
17497
17498 * include/grub/emu/misc.h: Add missing license header.
17499
17500 2010-07-30 Robert Millan <rmh@gnu.org>
17501
17502 Enable `grub-probe -t device' resolution on ZFS.
17503
17504 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
17505 * include/grub/util/libnvpair.h: New file.
17506 * include/grub/util/libzfs.h: New file.
17507
17508 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
17509 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
17510 `<grub/util/libnvpair.h>'.
17511 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
17512
17513 (find_mount_point_from_dir): New static function.
17514 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
17515 function.
17516 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
17517 find_root_device_from_libzfs() before ressorting to find_root_device().
17518
17519 * include/grub/util/misc.h (grub_util_init_libzfs): New function
17520 prototype.
17521 * util/misc.c: Include `<grub/util/libzfs.h>'.
17522 (grub_util_init_libzfs): New function.
17523 [HAVE_LIBZFS] (libzfs_handle): New global variable.
17524 [HAVE_LIBZFS] (fini_libzfs): New static function.
17525 (grub_util_init_libzfs): New function.
17526 * util/grub-probe.c (main): Call grub_util_init_libzfs().
17527
17528 2010-07-30 Robert Millan <rmh@gnu.org>
17529
17530 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
17531 (xmalloc, xrealloc, xstrdup, xasprintf): Add
17532 `warn_unused_result' attribute.
17533 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
17534 (grub_xasprintf, grub_xvasprintf): Likewise.
17535 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
17536
17537 2010-07-29 Robert Millan <rmh@gnu.org>
17538
17539 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
17540 (probe): Handle `PRINT_FS_LABEL'.
17541 (main): Handle `-t fs_label'.
17542
17543 2010-07-29 Robert Millan <rmh@gnu.org>
17544
17545 * configure.ac: Remove grub-mkisofs checks.
17546
17547 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
17548
17549 * util/ieee1275/grub-install.in: Don't use empty grub_device.
17550 Reported by: Lennart Sorensen.
17551
17552 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17553
17554 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
17555 prior to terminal_input/terminal_output separation. It's been over 1.5
17556 years and those versions weren't widely deployed.
17557
17558 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
17559
17560 * disk/raid.c (insert_array): Don't count named arrays when looking
17561 for unused array numbers.
17562 Reported and tested by: Michael Guntsche.
17563
17564 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
17565
17566 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
17567 implementation of this so that grub-emu links again, with a note
17568 that this should support hotplugging in the future.
17569
17570 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
17571
17572 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
17573
17574 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
17575
17576 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
17577 handle on failure.
17578 (grub_loopback_close): Remove empty function.
17579 (grub_loopback_dev): Remove close method.
17580
17581 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
17582
17583 Disable EFI cursor when the EFI console becomes inactive.
17584
17585 * term/efi/console.c (grub_efi_console_init): New function.
17586 (grub_efi_console_fini): New function.
17587 (grub_console_term_output): Register init and fini methods.
17588
17589 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17590
17591 * tests/util/grub-shell-tester.in: Remove bashism and declare as
17592 sh script.
17593
17594 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17595
17596 * disk/loopback.c (grub_loopback): Replace filename with file.
17597 (delete_loopback): Handle new semantics.
17598 (grub_cmd_loopback): Likewise.
17599 (grub_loopback_iterate): Likewise.
17600 (grub_loopback_close): Likewise.
17601
17602 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17603
17604 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
17605 with -p "".
17606 Reported by: Tito Keitel.
17607
17608 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17609
17610 * docs/grub.texi (Naming convention): Document new naming convention.
17611
17612 2010-07-20 Vadim Solomin <vadic052@gmail.com>
17613 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
17614
17615 Generate device.map in something closer to the old ordering.
17616
17617 * util/deviceiter.c (struct device): New declaration.
17618 (compare_file_names): Rename to ...
17619 (compare_devices): ... this. Sort by kernel name in preference to
17620 the stable by-id name, but keep the latter as a fallback comparison.
17621 Update header comment.
17622 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
17623 of `struct device' rather than of plain file names.
17624
17625 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
17626
17627 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
17628 on i386.
17629
17630 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17631
17632 * commands/acpi.c (setup_common_tables): Use sizeof instead of
17633 hardcoding size.
17634 (setv1table): Likewise.
17635
17636 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
17637
17638 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
17639 removing the homehost if present.
17640 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
17641 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
17642 removing the homehost if present.
17643 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
17644 if possible.
17645 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
17646
17647 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
17648 parameter. Set its pointer target to 0.
17649 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
17650 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
17651 `data_offset' value from the superblock for 1.x metadata.
17652 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
17653 data on the device.
17654 (insert_array): Record the start sector of data on the device.
17655 (grub_raid_register): Pass start_sector parameters to
17656 grub_raid_list->detect and insert_array.
17657 * include/grub/raid.h (struct grub_raid_array): Add start_sector
17658 member.
17659 (struct grub_raid): Add start_sector parameter to `detect'.
17660
17661 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
17662 __attribute__ ((packed)), leaving a comment.
17663 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
17664 (grub_mdraid_detect_09): ... here and ...
17665 (grub_mdraid_detect_1x): ... here.
17666
17667 2010-07-20 Peter Henn <peter.henn@web.de>
17668
17669 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
17670 chunk size and disk size, which are already given as sector counts
17671 as distinct from the 0.90 units. Fetch the correct device number
17672 from the role table instead of using the table index.
17673
17674 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
17675
17676 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
17677 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
17678 (WriteMostly1): New macro.
17679 Set array->name to NULL for metadata format 0.90. Add support for
17680 metadata 1.x. Fix some comments.
17681 * disk/raid.c (): Add support for name based RAID arrays. Fix a
17682 few comments.
17683 * util/getroot.c (grub_util_get_grub_dev): Add support for
17684 /dev/md/name style devices.
17685
17686 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
17687
17688 * .bzrignore: Ignore 20_linux_xen.
17689
17690 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
17691
17692 * util/import_unicode.py: Remove unnecessary imports.
17693
17694 2010-07-17 Aleš Nesrsta <starous@volny.cz>
17695
17696 Hotplugging and USB hub support.
17697
17698 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
17699 (grub_ohci): Likewise.
17700 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
17701 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
17702 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
17703 (GRUB_OHCI_CTRL_EDS): Likewise.
17704 (GRUB_OHCI_BULK_EDS): Likewise.
17705 (GRUB_OHCI_TDS): Likewise.
17706 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
17707 (grub_ohci_ed_phys2virt): New function.
17708 (grub_ohci_virt_to_phys): Likewise.
17709 (grub_ohci_td_phys2virt): Likewise.
17710 (grub_ohci_td_virt2phys): Likewise.
17711 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
17712 attachment.
17713 (grub_ohci_find_ed): New function.
17714 (grub_ohci_alloc_td): Likewise.
17715 (grub_ohci_free_td): Likewise.
17716 (grub_ohci_free_tds): Likewise.
17717 (grub_ohci_transfer): Use previously allocated memory.
17718 (grub_ohci_portstatus): Reset status changed bit.
17719 (grub_ohci_detect_dev): Supply status changed.
17720 (grub_ohci_fini_hw): Free memory.
17721 (grub_ohci_restore_hw): Reallocate memory.
17722 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
17723 Reset status change.
17724 (grub_uhci_detect_dev): Supply status_change.
17725 * bus/usb/usb.c (attach_hooks): New var.
17726 (grub_usb_device_attach): New function.
17727 (grub_usb_register_attach_hook_class): Likewise.
17728 (grub_usb_unregister_attach_hook_class): Likewise.
17729 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
17730 (grub_usb_add_hub): Reset connection changed bit.
17731 (attach_root_port): New function.
17732 (grub_usb_root_hub): Likewise.
17733 (poll_nonroot_hub): Likewise.
17734 (grub_usb_poll_devices): Likewise.
17735 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
17736 * disk/usbms.c (grub_usbms_open): Use device hooks.
17737 (grub_usbms_iterate) :Poll devices.
17738 (grub_usbms_finddevs): Split into ...
17739 (grub_usbms_attach): ... this ...
17740 (grub_usbms_attach): ... and this.
17741 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
17742 in detect_dev.
17743 (grub_usb_interface): New fields attached and detach_hook.
17744 (grub_usb_attach_hook_class): New type.
17745 (grub_usb_attach_desc): New struct.
17746 (grub_usb_register_attach_hook_class): New function.
17747 (grub_usb_unregister_attach_hook_class): Likewise.
17748 (grub_usb_poll_devices): Likewise.
17749 (grub_usb_device_attach): Likewise.
17750 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
17751 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
17752
17753 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
17754
17755 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
17756 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
17757 delta determination style. Works with most NetBSD partitions too.
17758
17759 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
17760
17761 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
17762 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
17763
17764 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
17765
17766 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
17767
17768 2010-07-14 Anton Blanchard <anton@samba.org>
17769
17770 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
17771 ET_DYN files.
17772
17773 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
17774
17775 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
17776
17777 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
17778
17779 * kern/partition.c (grub_partition_check_containment): New function to
17780 check that a partition is physically contained in a parent. Since
17781 offsets are relative (and non-negative), this reduces to checking that
17782 the partition ends before its parent.
17783 (grub_partition_map_probe): Discard out-of-range sub-partitions.
17784 (grub_partition_iterate): Likewise.
17785 * include/grub/partition.h (grub_partition_map): Slightly more detailed
17786 comments.
17787 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
17788 partitions that start before their parent, and add debug printfs.
17789
17790 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
17791
17792 * Makefile.in (.SUFFIX): Spell correctly, as ...
17793 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
17794 bare module name without `.mod', e.g. `test') tried to invoke a
17795 Modula-2 compiler.
17796
17797 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
17798
17799 * README: Point to the Info manual.
17800
17801 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
17802
17803 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
17804 2nd superblock position from partition size.
17805
17806 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
17807
17808 * Makefile.in (MAINTAINER_CLEANFILES): Remove
17809 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
17810 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
17811 outputs.
17812
17813 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17814
17815 Restructure SCSI .id handling.
17816 Reported and tested by: Aleš Nesrsta.
17817
17818 * disk/ata.c (grub_atapi_close): Removed. All users updated.
17819 (grub_atapi_dev): Changed .name to "ata". New field .id.
17820 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
17821 (grub_usbms_dev): New field .id.
17822 * disk/scsi.c (grub_scsi_iterate): Generate name.
17823 (grub_scsi_open): Parse name.
17824 * include/grub/scsi.h (grub_make_scsi_id): New function.
17825 (grub_scsi_dev): Change iterate and open to number instead of naming
17826 busses. All users updated.
17827 (grub_scsi): Remove name. Add .bus.
17828
17829 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17830
17831 * commands/help.c (grub_cmd_help): Fix a typo.
17832
17833 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17834
17835 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
17836 Reported and tested by: Colin Watson.
17837
17838 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17839
17840 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
17841 in this context.
17842
17843 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
17844
17845 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
17846
17847 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
17848
17849 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
17850 indentation.
17851
17852 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
17853
17854 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
17855 and disk/raid6_recover.c.
17856 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
17857 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
17858
17859 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
17860
17861 * term/gfxterm.c (repaint_schedulded): Rename to ...
17862 (repaint_scheduled): ... this. Update all callers.
17863 (repaint_was_schedulded): Rename to ...
17864 (repaint_was_scheduled): ... this. Update all callers.
17865
17866 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
17867
17868 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
17869 which we expect to be handled by upper layers.
17870
17871 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
17872
17873 * bus/usb/usbhub.c: #include time.h header.
17874
17875 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
17876
17877 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
17878 entry_name also for entries without stat blocks (e.g. ".."); fixes
17879 corruption of the first entry in a directory.
17880
17881 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
17882
17883 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
17884 after setting gfxterm as the active terminal. GRUB_BACKGROUND
17885 doesn't work otherwise.
17886
17887 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
17888
17889 * docs/grub.texi (Features): Update list of supported file systems.
17890 (GNU/Linux): Update for GRUB 2.
17891 (Serial terminal): Remove mention of --disable-serial, which was a
17892 GRUB Legacy configure option. Update instructions to use
17893 `terminal_input' and `terminal_output' rather than `terminal'.
17894 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
17895 configuration' and `Installing GRUB using grub-install'.
17896 (Menu entry editor): Update for GRUB 2.
17897 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
17898 Document new -a, -u, and -v options.
17899 (initrd): New section.
17900 (initrd16): New section.
17901 (linux): New section.
17902 (linux16): New section.
17903 (search): The `var' argument to `--set' is optional.
17904 (GRUB only offers a rescue shell): Go into a little more detail on
17905 drive ordering.
17906
17907 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
17908
17909 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
17910
17911 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
17912
17913 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
17914 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
17915
17916 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
17917
17918 * util/i386/pc/grub-setup.c (setup): Rename prefix to
17919 install_prefix, in line with install_dos_part and install_bsd_part.
17920 Add new prefix variable, which is copied to install_prefix after
17921 comparing core.img in memory with the one read from disk in the
17922 no-embedding case, and use that rather than overwriting
17923 install_prefix immediately when installing to a partition.
17924 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
17925 Bicakci.
17926
17927 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
17928
17929 * configure.ac: Avoid == in test command, it's not portable.
17930 * util/grub.d/30_os-prober.in: Likewise.
17931
17932 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
17933
17934 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
17935
17936 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
17937
17938 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
17939 multiple (top-level) partmaps.
17940
17941 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
17942
17943 * util/i386/efi/grub-install.in: Don't use empty grub_device.
17944 Reported by: Tino Keitel.
17945
17946 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
17947
17948 Bidi and diacritics support.
17949
17950 * Makefile.in (widthspec.bin): New target.
17951 (widthspec.h): Likewise.
17952 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
17953 * autogen.sh: Generate unidata.c.
17954 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
17955 * commands/ls.c (grub_ls_list_devices): Likewise.
17956 (grub_ls_list_files): Likewise.
17957 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
17958 (grub_mini_cmd_lsmod): Likewise.
17959 * commands/read.c: Likewise.
17960 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
17961 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
17962 * lib/arg.c (grub_arg_show_help): Likewise.
17963 * lib/crypto.c (grub_password_get): Likewise.
17964 * normal/auth.c (grub_username_get): Likewise.
17965 * normal/misc.c (grub_normal_print_device_info): Likewise.
17966 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
17967 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
17968 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
17969 (normal/charset.c_DEPENDENCIES): New variable.
17970 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
17971 (pkglib_MODULES): Remove charset.mod.
17972 (charset_mod_SOURCES): Removed.
17973 (charset_mod_CFLAGS): Likewise.
17974 (charset_mod_LDFLAGS): Likewise.
17975 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
17976 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
17977 and term/tparm.c.
17978 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
17979 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
17980 (kernel_img_HEADERS): Add terminfo.h.
17981 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
17982 Fill ->font. Reverse ascii bitmaps.
17983 (grub_font_get_xheight): New function.
17984 * font/font.c (grub_font_get_string_width): Moved from here ...
17985 * gfxmenu/font.c (grub_font_get_string_width): ... here.
17986 * font/font.c (grub_font_draw_string): Moved from here ...
17987 * gfxmenu/font.c (grub_font_draw_string): ... here.
17988 * font/font.c (grub_font_dup_glyph): New function.
17989 (grub_font_blit_glyph): Likewise.
17990 (grub_font_blit_glyph_mirror): Likewise.
17991 (blit_comb): Likewise.
17992 (grub_font_construct_dry_run): Likewise.
17993 (grub_font_get_constructed_device_width): Likewise.
17994 (grub_font_construct_glyph): Likewise.
17995 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
17996 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
17997 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
17998 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
17999 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
18000 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
18001 (grub_font_get_xheight): New proto.
18002 (grub_font_get_constructed_device_width): Likewise.
18003 (grub_font_construct_glyph): Likewise.
18004 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
18005 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
18006 * include/grub/font.h (grub_font_draw_string): Moved from here ...
18007 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
18008 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
18009 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
18010 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
18011 (grub_console_getcharwidth): Likewise.
18012 * include/grub/misc.h (grub_xputs): New proto.
18013 (grub_puts): Inlined.
18014 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
18015 (grub_normal_get_line_counter): Removed.
18016 (grub_install_newline_hook): Likewise.
18017 (grub_normal_get_char_counter): New proto.
18018 (grub_normal_reset_more): Likewise.
18019 (grub_xputs_normal): Likewise.
18020 * include/grub/powerpc/ieee1275/console.h: Removed.
18021 * include/grub/sparc64/ieee1275/console.h: Likewise.
18022 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
18023 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
18024 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
18025 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
18026 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
18027 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
18028 (grub_term_input): Pass reference to self. All users updated.
18029 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
18030 Pass reference to self. New fields normal_color, highlight_color and
18031 data. All users updated.
18032 (grub_putchar): Removed.
18033 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
18034 (grub_unicode_estimate_width): New function.
18035 (grub_term_getcharwidth): Add defaults.
18036 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
18037 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
18038 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
18039 (grub_cls): Remove EXPORT_FUNC.
18040 (grub_setcolorstate): Inline.
18041 (grub_newline_hook): Removed.
18042 * include/grub/terminfo.h: Rewritten. All users updated.
18043 * include/grub/unicode.h: New file.
18044 * include/grub/video.h (grub_video_signed_rect): New type.
18045 * kern/emu/console.c (grub_console_highlight_color): Removed.
18046 (grub_console_normal_color): Likewise.
18047 (grub_console_standard_color): Made static.
18048 (grub_ncurses_putchar): Remove mapping.
18049 (grub_ncurses_getcharwidth): Removed.
18050 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
18051 (grub_ncurses_setcolor): Removed.
18052 (grub_ncurses_getcolor): Likewise.
18053 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
18054 (grub_console_putchar): ... this.
18055 (grub_console_putchar): Handle argument difference.
18056 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
18057 console_init_early and console_init_lately.
18058 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
18059 * kern/misc.c (grub_puts): Removed.
18060 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
18061 (grub_vsnprintf_real): Remove str = NULL support.
18062 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
18063 * normal/charset.c (grub_utf8_to_ucs4): ... here.
18064 * kern/term.c (grub_putcode): Renamed to ...
18065 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
18066 (grub_putchar): Removed.
18067 (grub_xputs_dumb): New function.
18068 (grub_xputs): New variable.
18069 * lib/charset.c: Move from here ...
18070 * normal/charset.c: ... to here.
18071 (grub_ucs4_to_utf8): New function.
18072 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
18073 (join_types): New variable.
18074 (unpack_join): New function.
18075 (bidi_types): New variable.
18076 (unpack_bidi): New function.
18077 (get_bidi_type): Likewise.
18078 (get_join_type): Likewise.
18079 (is_mirrored): Likewise.
18080 (grub_unicode_get_comb_type): Likewise.
18081 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
18082 (is_type_after): Likewise.
18083 (grub_unicode_aglomerate_comb): Likewise.
18084 (bidi_line_wrap): Likewise.
18085 (grub_bidi_line_logical_to_visual): Likewise.
18086 (grub_bidi_logical_to_visual): Likewise.
18087 (grub_unicode_mirror_code): Likewise.
18088 (grub_unicode_shape_code): Likewise.
18089 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
18090 Don't use grub_putchar.
18091 * normal/main.c (grub_normal_init_page): Use grub_putcode.
18092 (grub_normal_reader_init): Likewise.
18093 (grub_xputs_saved): New variable.
18094 (GRUB_MOD_INIT): Set grub_xputs.
18095 (GRUB_MOD_FINI): Restore grub_xputs.
18096 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
18097 (menu_init): Avoid printing gfxmenu error.
18098 (show_menu): Use grub_normal_get_char_counter.
18099 * normal/menu_entry.c (update_screen): Fix out-of-array.
18100 (complete): Avoid NULL dereferencing.
18101 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
18102 * normal/menu_text.c (print_spaces): Removed.
18103 (grub_print_ucs4): Likewise.
18104 (grub_print_message_indented): Use grub_print_ucs4.
18105 (print_message): Use grub_putcode.
18106 (print_entry): Hanlde diacritics.
18107 * normal/term.c (term_state): New type.
18108 (grub_more_lines): Removed.
18109 (term_states): New variable.
18110 (grub_normal_line_counter): Renamed to ..
18111 (grub_normal_char_counter): ...this. All users updated.
18112 (grub_normal_get_line_counter): Renamed to ...
18113 (grub_normal_get_char_counter): ... this.
18114 (grub_normal_reset_more): New function.
18115 (process_newline): Removed.
18116 (print_more): New function.
18117 (grub_install_newline_hook): Removed.
18118 (map_code): New function.
18119 (grub_puts_terminal): Use grub_print_ucs4.
18120 (putglyph): New function.
18121 (putcode_real): Likewise.
18122 (grub_putcode): Use putcode_real.
18123 (get_maxwidth): New function.
18124 (get_startwidth): Likewise.
18125 (print_ucs4_terminal): Likewise.
18126 (find_term_state): Likewise.
18127 (put_glyphs_terminal): Likewise.
18128 (print_backlog): Likewise.
18129 (print_ucs4_real): Likewise.
18130 (grub_print_ucs4): Likewise.
18131 (grub_xputs_normal): Likewise.
18132 * term/efi/console.c (grub_console_putchar): Output diacritics.
18133 (grub_console_getcharwidth): Removed.
18134 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
18135 * term/gfxterm.c (clear_char): Free chars.
18136 (scroll_up): Avoid leaking memory.
18137 (grub_gfxterm_putchar): Support diacritics.
18138 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
18139 * term/i386/pc/console.c (grub_console_term_output): Declare as
18140 GRUB_TERM_CODE_TYPE_VGA.
18141 * term/i386/pc/vga.c (grub_vga_term): Declare as
18142 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
18143 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
18144 GRUB_TERM_CODE_TYPE_VGA.
18145 * term/i386/vga_common.c (map_char): Removed.
18146 (grub_console_putchar): Likewise.
18147 (grub_console_getcharwidth): Likewise.
18148 * term/ieee1275/ofconsole.c: Simplify using terminfo.
18149 (colors): Reordered to match terminfo.
18150 (grub_ofconsole_normal_color): Removed.
18151 (grub_ofconsole_writeesc): Likewise.
18152 (grub_ofconsole_highlight_color): Likewise.
18153 (grub_ofconsole_getcharwidth): Likewise.
18154 (grub_ofconsole_setcolorstate): Likewise.
18155 (grub_ofconsole_setcolor): Likewise.
18156 (grub_ofconsole_getcolor): Likewise.
18157 (grub_ofconsole_readkey): Renamed to ...
18158 (readkey): ... this. Remove escape sequence handling. Return -1 on no
18159 key.
18160 (grub_ofconsole_checkkey): Removed.
18161 (grub_ofconsole_getkey): Likewise.
18162 (grub_ofconsole_getxy): Likewise.
18163 (grub_ofconsole_gotoxy): Likewise.
18164 (grub_ofconsole_cls): Likewise.
18165 (grub_ofconsole_refresh): Likewise.
18166 (grub_ofconsole_terminfo_input): New struct.
18167 (grub_ofconsole_terminfo_output): Likewise.
18168 (grub_ofconsole_term_input): Use terminfo.
18169 (grub_ofconsole_term_output): Likewise.
18170 (grub_console_init): Split into ...
18171 (grub_console_init_early): ...this and ...
18172 (grub_console_init_lately): ...this. Use terminfo.
18173 (grub_ofconsole_putchar): Renamed to ...
18174 (put): ... this. Remove mapping.
18175 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
18176 * term/serial.c: Simplify using terminfo.
18177 (xpos): Removed.
18178 (ypos): Likewise.
18179 (keep_track): Likewise.
18180 (registered): Likewise.
18181 (input_buf): Likewise.
18182 (npending): Likewise.
18183 (serial_translate_key_sequence): Likewise.
18184 (fill_input_buf): Likewise.
18185 (grub_serial_checkkey): Likewise.
18186 (grub_serial_getkey): Likewise.
18187 (grub_serial_getxy): Likewise.
18188 (grub_serial_gotoxy): Likewise.
18189 (grub_serial_putchar): Likewise.
18190 (grub_serial_cls): Likewise.
18191 (grub_serial_setcolorstate): Likewise.
18192 (grub_serial_setcursor): Likewise.
18193 (serial_hw_init): Use serial_hw_fetch.
18194 (grub_serial_terminfo_input): New variable.
18195 (grub_serial_terminfo_output): Likewise.
18196 (grub_serial_term_input): Use terminfo.
18197 (grub_serial_term_output): Likewise.
18198 * term/terminfo.c (putstr): Use put.
18199 (grub_terminfo_all_free): New function
18200 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
18201 (grub_terminfo_output_register): New function.
18202 (grub_terminfo_output_unregister): Likewise.
18203 (grub_terminfo_getxy): Likewise.
18204 (grub_terminfo_readkey): Likewise.
18205 (grub_terminfo_checkkey): Likewise.
18206 (grub_terminfo_getkey): Likewise.
18207 (grub_terminfo_input_init): Likewise.
18208 (print_terminfo): Likewise.
18209 (grub_cmd_terminfo): Handle encoding.
18210 (grub_terminfo_gotoxy): Track position.
18211 (grub_terminfo_cls): Likewise.
18212 (grub_terminfo_putchar): Likewise.
18213 (grub_terminfo_setcolorstate): Handle colors
18214 (grub_terminfo_cursor_on): This ...
18215 (grub_terminfo_cursor_off): ... and this merged into ...
18216 (grub_terminfo_setcursor): ... this.
18217 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
18218 * unicode/ArabicShaping.txt: New file (imported from Unicode).
18219 * unicode/BidiMirroring.txt: Likewise.
18220 * unicode/UnicodeData.txt: Likewise.
18221 * unicode/COPYING: Likewise.
18222 * util/grub-editenv.c (grub_putchar): Removed.
18223 (grub_xputs_real): New function.
18224 (grub_xputs): New variable.
18225 * util/grub-fstest.c (grub_putchar): Removed.
18226 (grub_xputs_real): New function.
18227 (grub_xputs): New variable.
18228 * util/grub-mkdevicemap.c (grub_putchar): Removed.
18229 (grub_xputs_real): New function.
18230 (grub_xputs): New variable.
18231 * util/grub-probe.c (grub_putchar): Removed.
18232 (grub_xputs_real): New function.
18233 (grub_xputs): New variable.
18234 * util/grub-script-check.c (grub_putchar): Removed.
18235 (grub_xputs_real): New function.
18236 (grub_xputs): New variable.
18237 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
18238 (grub_xputs_real): New function.
18239 (grub_xputs): New variable.
18240 * util/import_unicode.py: New file.
18241 * util/grub-mkfont.c (ft_errmsgs): New array.
18242 (grub_glyph_info): Make bitmap a pointer.
18243 (file_formats): New type WIDTH_SPEC.
18244 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
18245 (options): Add width-spec.
18246 (help): Likewise.
18247 (add_char): Renamed to ...
18248 (add_glyph): ... this.
18249 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
18250 (glyph_replace): New type.
18251 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
18252 (add_char): New function.
18253 (add_subst): Likewise.
18254 (process_cursive): Likewise.
18255 (add_font): Handle GSUB.
18256 (write_font_width_spec): New function.
18257 (main): Sort glyphs.
18258 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
18259 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
18260 * kern/term.c (grub_cls): Moved from here...
18261 * normal/term.c (grub_cls): ... here.
18262
18263 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18264
18265 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
18266 suitable for using within the format argument of printf when
18267 converting grub_size_t.
18268 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
18269 "x" to convert grub_size_t arguments.
18270
18271 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18272
18273 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
18274 too long captions.
18275 (list_get_minimal_size): Take selection box into account.
18276
18277 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18278
18279 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
18280 NULL font.
18281
18282 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18283
18284 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
18285 devices when iterating over /dev/disk/by-id; they will be handled
18286 later if appropriate, which they aren't always (e.g. LVM).
18287
18288 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18289
18290 * include/grub/misc.h (grub_reboot): Declare as noreturn.
18291 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
18292 fails.
18293 (grub_halt): Likewise.
18294 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
18295 reset-all fails.
18296 (grub_halt): Don't return, even if all of shut-down, power-off, and
18297 poweroff fail.
18298
18299 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18300
18301 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
18302 arguments, not three.
18303
18304 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18305
18306 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
18307 * util/grub.d/10_linux.in: Use it to check for LVM, so that
18308 LVM-on-RAID is handled correctly.
18309
18310 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18311
18312 * docs/grub.texi (Changes from GRUB Legacy): New section.
18313 (Future): Fix typo.
18314
18315 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18316
18317 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
18318 grub.d/README accidentally ends up executable for one reason or
18319 another. Ignore it.
18320
18321 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18322
18323 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
18324 (gpt_partition_map_iterate): Support non-512B sectors.
18325
18326 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18327
18328 * kern/efi/init.c (grub_efi_init): Disable watchdog.
18329 Tested by: Seth Goldberg.
18330
18331 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18332
18333 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
18334 Properly align mbi.
18335 Reported by: Seth Goldberg.
18336
18337 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
18338
18339 * util/grub-mkrescue.in: Avoid module duplication.
18340
18341 2010-07-01 Sean Finney <seanius@seanius.net>
18342
18343 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
18344
18345 2010-07-01 Sean Finney <seanius@seanius.net>
18346
18347 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
18348
18349 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
18350
18351 * disk/lvm.c (grub_lvm_checkvalue): New function.
18352 (grub_lvm_check_flag): Likewise.
18353
18354 2010-07-01 Robert Millan <rmh@gnu.org>
18355
18356 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
18357 Support 'p' as partition separator on kernel of FreeBSD (used
18358 with GPT labels).
18359 (grub_util_biosdisk_get_grub_dev): Likewise.
18360
18361 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
18362
18363 Yeeloong firmware port.
18364
18365 * boot/mips/yeeloong/fwstart.S: New file.
18366 * bus/cs5536.c (gpiodump): New const.
18367 (set_io_space): New function.
18368 (set_iod): Likewise.
18369 (set_p2d): Likewise.
18370 (grub_cs5536_init_geode): Likewise.
18371 * commands/mips/yeeloong/lsspd.c: New file.
18372 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
18373 (serial_mod_SOURCES): New variable.
18374 (serial_mod_CFLAGS): Likewise.
18375 (serial_mod_LDFLAGS): Likewise.
18376 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
18377 term/terminfo.c and term/tparm.c.
18378 (pkglib_IMAGES): Add fwstart.img.
18379 (fwstart_img_SOURCES): New variable.
18380 (fwstart_img_CFLAGS): Likewise.
18381 (fwstart_img_ASFLAGS): Likewise.
18382 (fwstart_img_LDFLAGS): Likewise.
18383 (fwstart_img_FORMAT): Likewise.
18384 (pkglib_MODULES): Add lsspd.mod.
18385 (lsspd_mod_SOURCES): New variable.
18386 (lsspd_mod_CFLAGS): Likewise.
18387 (lsspd_mod_LDFLAGS): Likewise.
18388 (pkglib_MODULES): Add halt.mod.
18389 (halt_mod_SOURCES): New variable.
18390 (halt_mod_CFLAGS): Likewise.
18391 (halt_mod_LDFLAGS): Likewise.
18392 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
18393 (serial_mod_SOURCES): Removed.
18394 (serial_mod_CFLAGS): Likewise.
18395 (serial_mod_LDFLAGS): Likewise.
18396 * disk/ata.c (check_device): New function.
18397 (grub_ata_device_initialize): Use check_device.
18398 (grub_ata_iterate): Recheck devices.
18399 (grub_ata_open): Likewise.
18400 (grub_atapi_iterate): Likewise.
18401 (grub_atapi_open): Likewise.
18402 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
18403 (GRUB_ATA_CH1_PORT1): Likewise.
18404 (GRUB_ATA_CH0_PORT2): Likewise.
18405 (GRUB_ATA_CH1_PORT2): Likewise.
18406 * include/grub/mips/loongson.h: New file.
18407 * include/grub/mips/yeeloong/ec.h: Likewise.
18408 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
18409 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
18410 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
18411 * include/grub/misc.h (grub_halt): Declare as noreturn.
18412 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
18413 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
18414 (UART_ENABLE_FIFO_TRIGGER1): New definition.
18415 (UART_ENABLE_DTRRTS): Likewise.
18416 (UART_ENABLE_MODEM): Removed.
18417 (UART_ENABLE_OUT2): New const.
18418 * include/grub/term.h (grub_term_register_input_active): New function.
18419 (grub_term_register_output_active): Likewise.
18420 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
18421 argument.
18422 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
18423 (init_pci): New function.
18424 (grub_machine_init): Execute platform init when firmware. Init serial.
18425 (grub_halt): Implement.
18426 (grub_exit): Likewise.
18427 (grub_reboot): Likewise.
18428 * term/serial.c (serial_hw_init): Update macros.
18429 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
18430 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
18431 (image_targets): New target mipsel-yeeloong-flash.
18432 (generate_image): Support IMAGE_YEELOONG_FLASH.
18433 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
18434 (grub_video_sm712_setup): Init card.
18435 (grub_video_sm712_set_palette): Removed.
18436 * video/sm712_init.c: New file.
18437
18438 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
18439
18440 * Makefile.in (install-local): Temporarily prepend $(builddir) to
18441 PATH when running help2man and then run it on the unadorned
18442 executable names, rather than passing $(builddir)/* paths to
18443 help2man. This avoids the build directory ending up in generated
18444 manual pages.
18445
18446 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
18447
18448 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
18449 to avoid accidents when debugging with 'sh -x'.
18450 * util/grub-mkrescue.in: Likewise.
18451 * util/grub.d/00_header.in: Likewise.
18452 * util/grub.d/10_hurd.in: Likewise.
18453 * util/grub.d/10_kfreebsd.in: Likewise.
18454 * util/grub.d/10_linux.in: Likewise.
18455 * util/grub.d/10_netbsd.in: Likewise.
18456 * util/grub.d/10_windows.in: Likewise.
18457 * util/grub.d/20_linux_xen.in: Likewise.
18458 * util/grub.d/30_os-prober.in: Likewise.
18459 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
18460
18461 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
18462
18463 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
18464 last character in the buffer.
18465 Reported by: Vladimir Serbinenko.
18466
18467 2010-06-29 Robert Millan <rmh@gnu.org>
18468
18469 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
18470 (Command-line and menu entry commands): Document `badram' command.
18471
18472 2010-06-28 Robert Millan <rmh@gnu.org>
18473
18474 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
18475 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
18476 command using ${GRUB_BADRAM} as parameter.
18477
18478 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
18479
18480 * docs/grub.texi (Device map): New section.
18481 (Themes): New section (stub).
18482 * Makefile.in (docs/grub.info): The info documentation now builds
18483 without errors. Make sure it stays that way.
18484
18485 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
18486
18487 Use normal parser for menu entries.
18488 Reported by: Thomas Frauendorfer
18489
18490 * include/grub/parser.h (grub_parser_execute): Don't export.
18491 * normal/menu.c (grub_menu_execute_entry_real): New function.
18492 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
18493
18494 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
18495
18496 * docs/grub.texi (Embedded configuration): New section (replacing
18497 old "Preset Menu" stub).
18498 (Images): New section.
18499 (configfile): Note that any menu entries defined in `file' are shown
18500 immediately.
18501
18502 2010-06-28 Josh Triplett <josh@joshtriplett.org>
18503
18504 * mmap/i386/pc/mmap_helper.S: Set CF on return.
18505
18506 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
18507
18508 * util/grub-install.in: Add --debug-image= option.
18509
18510 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
18511
18512 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
18513 possible on Linux.
18514
18515 * util/deviceiter.c (check_device): Rename to ...
18516 (check_device_readable_unique): ... this. Update all callers.
18517 Maintain and check a list of which devices (by canonicalized name)
18518 have already been seen.
18519 (clear_seen_devices): New function.
18520 (compare_file_names) [__linux__]: New function.
18521 (grub_util_iterate_devices): Clear the list of seen devices on exit
18522 and (just in case) on entry.
18523 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
18524 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
18525 seen-devices list, superseded by general code in check_device.
18526
18527 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
18528
18529 * commands/cat.c (options): New variable.
18530 (grub_cmd_cat): Parse options. If the --dos option is given, print
18531 DOS-style "\r\n" line endings as simple newlines (Debian bug
18532 #586358).
18533 (GRUB_MOD_INIT): Use extcmd.
18534 (GRUB_MOD_FINI): Likewise.
18535 * docs/grub.texi (cat): Document --dos.
18536
18537 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
18538
18539 XEN with Linux grub-mkconfig support.
18540
18541 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
18542 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
18543 GRUB_CMDLINE_XEN_DEFAULT.
18544 * util/grub.d/20_linux_xen.in: New file.
18545
18546 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
18547
18548 Initialise VGA video on qemu ourselves.
18549
18550 * boot/i386/qemu/boot.S: Don't call 0xc000.
18551 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
18552 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
18553 (kernel_img_HEADERS): Add pci.h.
18554 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
18555 * configure.ac: Force unifont on qemu and yeeloong.
18556 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
18557 (grub_vga_palette_write): Use correct register.
18558 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
18559 Call grub_qemu_init_cirrus.
18560 * kern/i386/qemu/init.c: New file.
18561 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
18562
18563 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
18564
18565 2010-06-26 Pavel Roskin <proski@gnu.org>
18566
18567 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
18568 13.
18569
18570 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
18571
18572 * docs/grub.texi (Simple configuration): Explain that
18573 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
18574 set to `true' to disable their respective recovery entries, not
18575 merely set.
18576
18577 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
18578
18579 Make the `source' command slightly faster.
18580
18581 * normal/main.c (grub_normal_execute): Don't re-read list files when
18582 nested.
18583
18584 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
18585
18586 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
18587 field position and mask size to red fields from mode_info, not
18588 green.
18589 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
18590 Remove redundant tag->common.framebuffer_type assignment.
18591 Reported by: Seth Goldberg.
18592
18593 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
18594
18595 Sync up other versions of the Linux loader with Robert Millan's
18596 change of 2010-01-09, "Make loader output a bit more user-friendly".
18597
18598 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
18599 grub_dprintf().
18600 (grub_cmd_linux): Likewise.
18601 (grub_cmd_initrd): Likewise.
18602 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
18603 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
18604
18605 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
18606
18607 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
18608 larger than MEMORY_MAP_SIZE.
18609
18610 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
18611
18612 Fix parallel build.
18613
18614 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
18615 dependency.
18616 * script/parser.y: #include grub_script.tab.h header.
18617
18618 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
18619
18620 Support >3GiB and <16MiB RAM in i386-qemu.
18621
18622 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
18623 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
18624 (grub_lower_mem): Removed.
18625 (grub_upper_mem): Likewise.
18626 (mem_size): Made static.
18627 (above_4g): New variable.
18628 (grub_machine_mmap_init): Detect small mem_size and above_4g.
18629 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
18630 support.
18631
18632 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
18633
18634 Cirrus 5446 and Bochs video cards support.
18635
18636 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
18637 video_bochs.mod
18638 (video_cirrus_mod_SOURCES): New variable.
18639 (video_cirrus_mod_CFLAGS): Likewise.
18640 (video_cirrus_mod_LDFLAGS): Likewise.
18641 (video_bochs_mod_SOURCES): Likewise.
18642 (video_bochs_mod_CFLAGS): Likewise.
18643 (video_bochs_mod_LDFLAGS): Likewise.
18644 * include/grub/vga.h: New file.
18645 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
18646 (grub_video_fb_set_page_t): New type.
18647 (grub_video_fb_setup): New prototype.
18648 (grub_video_fb_swap_buffers): Likewise.
18649 (grub_video_fb_get_info_and_fini): Likewise.
18650 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
18651 (CRTC_DATA_PORT): Likewise.
18652 (CRTC_CURSOR): Likewise.
18653 (CRTC_CURSOR_ADDR_HIGH): Likewise.
18654 (CRTC_CURSOR_ADDR_LOW): Likewise.
18655 (CRTC_CURSOR_DISABLE): Likewise.
18656 (update_cursor): Use grub_vga_cr_write.
18657 (grub_vga_text_setcursor): Likewise.
18658 * video/bochs.c: New file.
18659 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
18660 (palette): Likewise.
18661 (palette_size): Likewise.
18662 (framebuffer): New variable.
18663 (grub_video_fb_init): Use 'framebuffer'.
18664 (grub_video_fb_fini): Likewise.
18665 (grub_video_fb_get_info): Likewise.
18666 (grub_video_fb_get_palette): Likewise.
18667 (grub_video_fb_set_palette): Likewise.
18668 (grub_video_fb_set_viewport): Likewise.
18669 (grub_video_fb_get_viewport): Likewise.
18670 (grub_video_fb_map_color): Likewise.
18671 (grub_video_fb_map_rgb): Likewise.
18672 (grub_video_fb_map_rgba): Likewise.
18673 (grub_video_fb_unmap_color): Likewise.
18674 (grub_video_fb_unmap_color_int): Likewise.
18675 (grub_video_fb_fill_rect): Likewise.
18676 (grub_video_fb_blit_bitmap): Likewise.
18677 (grub_video_fb_blit_render_target): Likewise.
18678 (grub_video_fb_scroll): Likewise.
18679 (grub_video_fb_create_render_target): Likewise.
18680 (grub_video_fb_doublebuf_blit_init): Likewise.
18681 (grub_video_fb_set_active_render_target): Handle doublebuffering.
18682 (doublebuf_pageflipping_update_screen): New function.
18683 (doublebuf_pageflipping_init): Likewise.
18684 (grub_video_fb_setup): Likewise.
18685 (grub_video_fb_swap_buffers): Likewise.
18686 (grub_video_fb_get_info_and_fini): Likewise.
18687 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
18688 All users updated.
18689 (doublebuf_pageflipping_commit): Restructured into ...
18690 (doublebuf_pageflipping_set_page): ... this.
18691 (doublebuf_pageflipping_update_screen): Removed.
18692 (doublebuf_pageflipping_init): Likewise.
18693 (double_buffering_init): Likewise.
18694 (grub_video_vbe_setup): Use grub_video_fb_setup.
18695 (grub_video_vbe_swap_buffers): Removed.
18696 (grub_video_vbe_set_active_render_target): Likewise.
18697 (grub_video_vbe_get_active_render_target): Likewise.
18698 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
18699 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
18700 grub_video_fb_set_active_render_target and
18701 grub_video_fb_get_active_render_target.
18702 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
18703 (SEQUENCER_DATA_PORT): Likewise.
18704 (MAP_MASK_REGISTER): Likewise.
18705 (CRTC_ADDR_PORT): Likewise.
18706 (CRTC_DATA_PORT): Likewise.
18707 (START_ADDR_HIGH_REGISTER): Likewise.
18708 (START_ADDR_LOW_REGISTER): Likewise.
18709 (GRAPHICS_ADDR_PORT): Likewise.
18710 (GRAPHICS_DATA_PORT): Likewise.
18711 (READ_MAP_REGISTER): Likewise.
18712 (INPUT_STATUS1_REGISTER): Likewise.
18713 (INPUT_STATUS1_VERTR_BIT): Likewise.
18714 (get_map_mask): Use grub_vga_sr_read.
18715 (set_map_mask): Use grub_vga_sr_write.
18716 (set_read_map): Use grub_vga_gr_write.
18717 (set_start_address): Use grub_vga_cr_write.
18718 * video/sm712.c (framebuffer): Remove leftover fields.
18719
18720 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
18721
18722 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
18723 setting GRUB_VIDEO_BACKEND. Make it available as a user override
18724 instead. Replace the gfxterm backend check with a check that
18725 ${GRUB_PREFIX}/video.lst is non-empty.
18726 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
18727 again.
18728 (load_video): New generated function. Call it before loading
18729 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
18730 * util/grub.d/10_linux.in (linux_entry): Call load_video.
18731 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
18732 * docs/grub.texi (Simple configuration): Document
18733 GRUB_VIDEO_BACKEND.
18734
18735 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
18736
18737 Use video functions in linux and xnu loaders.
18738
18739 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
18740 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
18741 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
18742 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
18743 loader/i386/pc/linux.c.
18744 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
18745 (find_line_len): Removed.
18746 (find_framebuf): Likewise.
18747 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
18748 * loader/i386/efi/xnu.c: Removed.
18749 * loader/i386/pc/xnu.c: Moved from here...
18750 * loader/i386/xnu.c: ...here.
18751
18752 Enable priorities in video drivers.
18753
18754 * include/grub/video.h (grub_video_adapter_prio_t): New type.
18755 (grub_video_adapter): New field prio.
18756 (grub_video_register): Respect prio when inserting.
18757 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
18758 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
18759 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
18760 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
18761 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
18762 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
18763 * video/sm712.c (grub_video_sm712_adapter): Likewise.
18764
18765 Fix SDL driver ID.
18766
18767 * include/grub/video.h (grub_video_driver_id_t): New value
18768 GRUB_VIDEO_DRIVER_SDL.
18769 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
18770
18771 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
18772
18773 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
18774 argument to printf.
18775 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
18776
18777 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
18778
18779 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
18780 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
18781
18782 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
18783
18784 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
18785 directly, and recommend grub-install instead.
18786 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
18787
18788 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
18789
18790 Fix i386-pc prefix handling with nested partitions (Debian bug
18791 #585068). Note that the case where the core image is booted using
18792 multiboot and relocated from its original location still requires
18793 more work.
18794
18795 * kern/i386/pc/init.c (make_install_device): If the prefix starts
18796 with "(,", fill the boot drive in between those two characters, but
18797 expect that a full partition specification including partition map
18798 names will follow.
18799 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
18800 specified, write a prefix without the drive name but including a
18801 full partition specification.
18802
18803 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
18804
18805 * util/grub-mkconfig.in: Ignore non-option arguments, for
18806 compatibility with older versions (before 2010-06-12) which did the
18807 same. In particular, this makes it easier to ship an update-grub
18808 wrapper which is compatible with that used with GRUB Legacy (Debian
18809 bug #586056).
18810
18811 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
18812
18813 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
18814 for manual page generation.
18815
18816 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
18817
18818 * po/POTFILES: Remove leftover commands/handler.c.
18819
18820 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
18821
18822 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
18823 left this script non-functional.
18824
18825 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
18826
18827 * docs/man/grub-emu.h2m: New file.
18828
18829 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
18830
18831 * docs/grub.texi (Commands): Document reduced command set in rescue
18832 mode.
18833 (cpuid): New section.
18834
18835 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
18836
18837 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
18838 new partition naming style.
18839 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
18840
18841 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
18842
18843 Add "-o grub.iso" like cmdline options support.
18844
18845 * util/grub-install.in: Improve cmdline option parsing.
18846 * util/grub-mkconfig.in: Likewise.
18847 * util/grub-mkrescue.in: Likewise.
18848 * util/grub-reboot.in: Likewise.
18849 * util/grub-set-default.in: Likewise.
18850 * util/i386/efi/grub-install.in: Likewise.
18851 * util/ieee1275/grub-install.in: Likewise.
18852 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
18853
18854 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
18855
18856 * .bzrignore: Ignore 41_custom.
18857
18858 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
18859
18860 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
18861
18862 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
18863
18864 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
18865 prototype declarations.
18866
18867 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
18868 generating fs, partmap, and video lists.
18869 * include/grub/fs.h (grub_fs_register): Omit prototype if
18870 GRUB_LST_GENERATOR is defined.
18871 * include/grub/partition.h (grub_partition_map_register): Likewise.
18872 * include/grub/video.h (grub_video_register): Likewise.
18873
18874 2010-06-12 Javier Martín <lordhabbit@gmail.com>
18875
18876 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
18877
18878 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
18879
18880 * util/grub-mkrescue.in: Support --xorriso argument.
18881
18882 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
18883
18884 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
18885 Suggested by: Thomas Schmitt.
18886
18887 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
18888
18889 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
18890 Suggested by: Thomas Schmitt.
18891
18892 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
18893
18894 custom.cfg support.
18895
18896 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
18897 * util/grub.d/41_custom.in: New file.
18898
18899 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
18900
18901 * util/grub-mkrescue.in (make_image): Remove sh module, which has
18902 been merged back into normal.
18903
18904 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
18905
18906 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
18907 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
18908
18909 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
18910
18911 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
18912 when generating manual pages.
18913 * docs/man/grub-bin2h.h2m: New file.
18914 * docs/man/grub-editenv.h2m: New file.
18915 * docs/man/grub-fstest.h2m: New file.
18916 * docs/man/grub-install.h2m: New file.
18917 * docs/man/grub-macho2img.h2m: New file.
18918 * docs/man/grub-mkconfig.h2m: New file.
18919 * docs/man/grub-mkdevicemap.h2m: New file.
18920 * docs/man/grub-mkfont.h2m: New file.
18921 * docs/man/grub-mkimage.h2m: New file.
18922 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
18923 * docs/man/grub-mkrelpath.h2m: New file.
18924 * docs/man/grub-mkrescue.h2m: New file.
18925 * docs/man/grub-ofpathname.h2m: New file.
18926 * docs/man/grub-pe2elf.h2m: New file.
18927 * docs/man/grub-probe.h2m: New file.
18928 * docs/man/grub-reboot.h2m: New file.
18929 * docs/man/grub-script-check.h2m: New file.
18930 * docs/man/grub-set-default.h2m: New file.
18931 * docs/man/grub-setup.h2m: New file.
18932
18933 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
18934
18935 Use FOR_* macros instead of *_iterate whenever possible.
18936
18937 * commands/handler.c: Removed.
18938 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
18939 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
18940 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
18941 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
18942 (grub_probe_SOURCES): Remove kern/parser.c.
18943 (util/grub-script-check.c_DEPENDENCIES): Removed.
18944 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
18945 and grub_script_check_init.c.
18946 (grub_script_check_init.lst): Removed.
18947 (grub_script_check_init.h): Likewise.
18948 (grub_script_check_init.c): Likewise.
18949 (pkglib_MODULES): Remove handler.mod and sh.mod.
18950 (handler_mod_SOURCES): Removed.
18951 (handler_mod_CFLAGS): Likewise.
18952 (handler_mod_LDFLAGS): Likewise.
18953 (normal_mod_SOURCES): Remove normal/handler.c.
18954 Add script/main.c, script/script.c, script/execute.c,
18955 script/function.c, script/lexer.c, grub_script.tab.c
18956 and grub_script.yy.c.
18957 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
18958 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18959 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
18960 (grub_setup_SOURCES): Remove kern/parser.c.
18961 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
18962 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
18963 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
18964 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18965 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18966 (grub_setup_SOURCES): Remove kern/parser.c.
18967 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
18968 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
18969 * include/grub/command.h (grub_command_iterate): Removed.
18970 (FOR_COMMANDS): New macro.
18971 * include/grub/dl.h (grub_dl): New member next.
18972 (grub_dl_iterate): Removed.
18973 (grub_dl_head): New variable declaration.
18974 (FOR_DL_MODULES): New macro.
18975 * include/grub/fs.h: Include list.h.
18976 (grub_fs): Make next first element.
18977 (grub_fs_list): New variable declaration.
18978 (grub_fs_register): Make inline.
18979 (grub_fs_unregister): Likewise.
18980 (grub_fs_iterate): Removed.
18981 (FOR_FILESYSTEMS): New macro.
18982 * include/grub/handler.h: Removed.
18983 * include/grub/list.h (grub_list_hook_t): Removed.
18984 (grub_list_test_t): Likewise.
18985 (grub_list_pop): Likewise.
18986 (grub_list_iterate): Likewise.
18987 (grub_list_insert): Likewise.
18988 (FOR_LIST_ELEMENTS): New macro.
18989 * include/grub/parser.h (grub_parser_class): Removed.
18990 (grub_parser_register): Likewise.
18991 (grub_parser_unregister): Likewise.
18992 (grub_parser_get_current): Likewise.
18993 (grub_parser_set_current): Likewise.
18994 (grub_register_rescue_parser): Likewise.
18995 (grub_rescue_parse_line): New function.
18996 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
18997 * include/grub/script_sh.h (grub_script_function_list): New variable
18998 declaration.
18999 (FOR_SCRIPT_FUNCTIONS): New macro.
19000 (grub_script_function_iterate): Removed.
19001 (grub_normal_parse_line): New prototype.
19002 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
19003 (FOR_DISABLED_TERM_INPUTS): Likewise.
19004 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
19005 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
19006 * include/grub/video.h (grub_video_adapter): Move 'next' to first
19007 element.
19008 (grub_video_register): Inline.
19009 (grub_video_unregister): Likewise.
19010 (grub_video_adapter_list): New variable declaration.
19011 (grub_video_iterate): Removed.
19012 (FOR_VIDEO_ADAPTERS): New macro.
19013 * kern/dl.c (grub_dl_list): Removed. All users updated.
19014 (grub_dl_iterate): Removed.
19015 * kern/fs.c (grub_fs_list): Make global.
19016 (grub_fs_register): Removed.
19017 (grub_fs_unregister): Likewise.
19018 (grub_fs_iterate): Likewise.
19019 * kern/handler.c: Removed.
19020 * kern/list.c (grub_list_pop): Removed.
19021 (grub_list_iterate): Likewise.
19022 (grub_list_insert): Likewise.
19023 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
19024 (grub_prio_list_insert): Don't use grub_list_insert.
19025 * kern/main.c (grub_register_rescue_parser): Don't call
19026 grub_register_rescue_parser.
19027 * kern/parser.c (grub_parser_class): Removed.
19028 (grub_parser_execute): Use grub_rescue_parse_line.
19029 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
19030 (grub_rescue_parser): Removed.
19031 (grub_register_rescue_parser): Likewise.
19032 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
19033 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
19034 (grub_auth_check_authentication): Likewise.
19035 * normal/completion.c (iterate_command): Removed.
19036 (grub_normal_do_completion): Use FOR_COMMANDS.
19037 * normal/handler.c: Removed.
19038 * normal/main.c (read_config_file): Remove parser changing.
19039 (grub_normal_execute): Don't call read_handler_list.
19040 (grub_normal_read_line_real): Statically allocate prompt.
19041 (grub_cmdline_run): Use grub_normal_parse_line.
19042 (GRUB_MOD_FINI): Don't call free_handler_list.
19043 * normal/menu_entry.c (run): Likewise.
19044 * script/function.c (grub_script_function_list): Make global.
19045 (grub_script_function_iterate): Removed.
19046 * script/main.c (grub_normal_parse_line): Make global.
19047 (grub_sh_parser): Removed.
19048 (GRUB_MOD_INIT): Likewise.
19049 (GRUB_MOD_FINI): Likewise.
19050 * tests/lib/functional_test.c (grub_functional_test): Use
19051 FOR_LIST_ELEMENTS.
19052 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
19053 (grub_test_run): Use FOR_LIST_ELEMENTS.
19054 * tests/lib/unit_test.c (main): Likewise.
19055 * util/deviceiter.c (grub_util_iterate_devices): Don't use
19056 grub_list_pop.
19057 * util/grub-fstest.c (grub_term_input_class): Removed.
19058 (grub_term_output_class): Likewise.
19059 * util/grub-probe.c: Likewise.
19060 * util/i386/pc/grub-setup.c: Likewise.
19061 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19062 * util/grub-script-check.c (main): Don't call grub_init_all and
19063 grub_fini_all.
19064 * video/video.c (grub_video_adapter_list): Make global.
19065 (grub_video_register): Removed.
19066 (grub_video_unregister): Likewise.
19067 (grub_video_iterate): Likewise.
19068
19069 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
19070
19071 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
19072 reported by Henrique Ferreiro.
19073
19074 2010-06-09 Robert Millan <rmh@gnu.org>
19075
19076 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
19077 ones, when both are available.
19078
19079 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19080
19081 Make --version uniform and avoid hard-coded program name.
19082
19083 * util/grub-mkimage.c (main): Use `program_name' instead of
19084 hard-coded string.
19085 * util/i386/pc/grub-setup.c (main): Likewise.
19086 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
19087 * util/grub-install.in: Save the basename of $0 in $self, and use the
19088 latter in informational messages. Use the same format for --version
19089 as the binary programs.
19090 * util/grub-mkconfig.in: Likewise.
19091 * util/grub-mkrescue.in: Likewise.
19092 * util/grub-reboot.in: Likewise.
19093 * util/grub-set-default.in: Likewise.
19094 * util/i386/efi/grub-install.in: Likewise.
19095 * util/ieee1275/grub-install.in: Likewise.
19096 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
19097
19098 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19099
19100 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
19101 embedding area. Use <= instead of == when checking for non-emptiness.
19102
19103 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19104
19105 * configure.ac: Add `.' to the directories searched for unifont.
19106
19107 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
19108
19109 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
19110 grub_script.yy.h.
19111
19112 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
19113
19114 * docs/grub.texi (History): Expand to cover GRUB 2.
19115 (Serial terminal): Refer to `terminal_input' and `terminal_output'
19116 commands, not `terminal'.
19117 (serial): Likewise.
19118 (terminal_input): New section.
19119 (terminal_output): New section.
19120 (uppermem): New section (stub).
19121 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
19122
19123 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
19124
19125 * docs/grub.texi (Security): Menu entries are unrestricted by
19126 default, not restricted to superusers as I had previously thought.
19127 Reword to account for this.
19128
19129 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19130
19131 * kern/emu/misc.c (device_mapper_null_log): New function.
19132 (grub_device_mapper_supported): New function.
19133 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
19134 prototype.
19135 * kern/emu/hostdisk.c (find_partition_start): Check whether
19136 device-mapper is supported before trying to use it.
19137 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
19138
19139 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19140
19141 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
19142 (File name syntax): Likewise.
19143 (help): --all is no longer supported in GRUB 2. Be more precise
19144 about pattern matching.
19145
19146 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19147
19148 * normal/completion.c (grub_normal_do_completion): When completing
19149 arguments to "set" and the current word contains an equals sign,
19150 skip to after the equals sign before starting completion.
19151
19152 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19153
19154 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
19155
19156 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19157
19158 * docs/grub.texi (Network): New section.
19159 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
19160 `(nd)' as in GRUB Legacy.
19161 (pxe_unload): New section.
19162
19163 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19164
19165 * docs/grub.texi (Troubleshooting): `echo' is not usually available
19166 in the rescue shell, so recommend using `set' instead. Thanks,
19167 Jordan Uggla.
19168
19169 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19170
19171 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
19172 (password): New section.
19173 (password_pbkdf2): New section.
19174 (search): New section.
19175 (Security): New section.
19176 (Troubleshooting): New section, currently very incomplete.
19177 (Invoking grub-mkpasswd-pbkdf2): New section.
19178 (Internals): New section, currently very incomplete.
19179
19180 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19181
19182 * util/grub.d/00_header.in: Add some more quoting (of
19183 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
19184 work again.
19185 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
19186
19187 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19188
19189 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
19190 to `count', fixing variable shadowing that broke the -c option.
19191
19192 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
19193
19194 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
19195 in case they contain spaces.
19196
19197 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
19198
19199 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
19200 "part_" to partmap module names, in line with grub-install.
19201 Reported by: Jindřich Makovička (Debian bug #584426).
19202
19203 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
19204
19205 * util/grub-mkimage.c: Make target-related error messages slightly
19206 more helpful; -O talks about "format". Explicitly point to the use
19207 of -O if no target is specified.
19208 Reported by: Didier Raboud (Debian bug #584415).
19209
19210 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
19211
19212 * INSTALL: Document several build requirements for optional features
19213 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
19214
19215 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
19216
19217 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
19218 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
19219 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
19220
19221 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19222
19223 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
19224 Thanks to Jordan Uggla for spotting this.
19225
19226 2010-06-02 Aleš Nesrsta <starous@volny.cz>
19227
19228 Finally make USB usable.
19229
19230 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
19231 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
19232 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
19233 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
19234 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
19235 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
19236 (GRUB_OHCI_FSMPS): Likewise.
19237 (GRUB_OHCI_PERIODIC_START): Likewise.
19238 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
19239 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
19240 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
19241 (GRUB_OHCI_SET_PORT_RESET): Likewise.
19242 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
19243 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
19244 (grub_ohci_transaction): Likewise.
19245 (grub_ohci_transfer): Improve condition detection algorithms.
19246 Handle toggle property. Program the transactions correctly.
19247 Improve error handling. Various important fixups.
19248 (grub_ohci_portstatus): Put register writes in right order.
19249 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
19250 (grub_uhci_transfer): Don't show "failed" message on success.
19251 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
19252 array.
19253 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
19254 determine its size.
19255 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
19256 before initialization is completed. Use IN direction for empty
19257 transfers. Use last_trans and compute toggle.
19258 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
19259 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
19260 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
19261 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
19262 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
19263 (grub_usb_device): Increase toggle to 256.
19264 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
19265 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
19266 GRUB_USBMS_SUBCLASS_SFF8070.
19267 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
19268 (grub_scsi_inquiry): New member page and alloc_length.
19269 (grub_scsi_request_sense): New structure.
19270 (grub_scsi_request_sense_data): Likewise.
19271 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
19272 control.
19273 * disk/scsi.c (grub_scsi_request_sense): New function.
19274 (grub_scsi_test_unit_ready): Likewise.
19275 (grub_scsi_inquiry): Fill new fields.
19276 (grub_scsi_read_capacity): Likewise.
19277 (grub_scsi_read10): Add request sense at the end.
19278 (grub_scsi_read12): Likewise.
19279 (grub_scsi_write10): Likewise.
19280 (grub_scsi_write12): Likewise.
19281 (grub_scsi_open): Add Test Unit Ready.
19282 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
19283 Support additional subclasses. Con't clear halt yet. Activate the
19284 proper config. Calculate LUNs correctly.
19285 (grub_usbms_transfer): Various important fixups.
19286
19287 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
19288
19289 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
19290 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
19291 (grub_ohci_fini_hw): New function.
19292 (grub_ohci_restore_hw): Likewise.
19293 (GRUB_MOD_INIT(ohci)): Register preboot hook.
19294 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
19295 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
19296
19297 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
19298
19299 Dedicated DMA allocations.
19300
19301 * bus/pci.c (grub_memalign_dma32): New function
19302 (grub_dma_free): Likewise.
19303 (grub_dma_get_virt): Likewise.
19304 (grub_dma_get_phys): Likewise.
19305 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
19306 (grub_ohci_pci_iter): Use dma32_alloc.
19307 (grub_ohci_transfer): Likewise.
19308 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
19309 (grub_usb_bulk_readwrite): Likewise.
19310 * include/grub/pci.h: Add declarations.
19311
19312 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
19313
19314 CS5536 support.
19315
19316 * bus/cs5536.c: New file.
19317 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
19318 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
19319 (cs5536_mod_SOURCES): New variable.
19320 (cs5536_mod_CFLAGS): Likewise.
19321 (cs5536_mod_LDFLAGS): Likewise.
19322 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
19323 machine/pci.h.
19324 (kernel_img_SOURCES): Add bus/cs5536.c.
19325 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
19326 usb_keyboard.mod.
19327 (usb_mod_SOURCES): New variable.
19328 (usb_mod_CFLAGS): New variable.
19329 (usb_mod_LDFLAGS): New variable.
19330 (usbtest_mod_SOURCES): New variable.
19331 (usbtest_mod_CFLAGS): New variable.
19332 (usbtest_mod_LDFLAGS): New variable.
19333 (ohci_mod_SOURCES): New variable.
19334 (ohci_mod_CFLAGS): New variable.
19335 (ohci_mod_LDFLAGS): New variable.
19336 (usbms_mod_SOURCES): New variable.
19337 (usbms_mod_CFLAGS): New variable.
19338 (usbms_mod_LDFLAGS): New variable.
19339 (usb_keyboard_mod_SOURCES): New variable.
19340 (usb_keyboard_mod_CFLAGS): New variable.
19341 (usb_keyboard_mod_LDFLAGS): New variable.
19342 * include/grub/smbus.h: New file.
19343 * include/grub/cs5536.h: New file.
19344
19345 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19346
19347 * util/grub.d/00_header.in: Add safety check to make sure that
19348 ${locale_dir} exists before trying to probe it.
19349
19350 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19351
19352 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
19353 per the GNU Coding Standards; this is now too obscure to be worth
19354 documenting.
19355 (QNX): Likewise.
19356 (chainloader): Remove cross-reference to `SCO UnixWare'.
19357
19358 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19359
19360 * docs/grub.texi (Chain-loading): New section.
19361 (DOS/Windows): New section, borrowed from GRUB Legacy with details
19362 adjusted for GRUB 2.
19363 (SCO UnixWare): Likewise.
19364 (QNX): Likewise.
19365 (chainloader): Add reference to `Block list syntax'.
19366 (drivemap): New section.
19367 (parttool): New section.
19368
19369 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19370
19371 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
19372 the grub shell'.
19373 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
19374 (Installing GRUB using grub-install): Remove reference to the grub
19375 shell; mention `grub-mkimage' and `grub-setup' instead.
19376 (Invoking grub-install): Likewise.
19377 (Interface): Add reference to `Menu entry editor'.
19378 (serial): Remove `--device' option.
19379
19380 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19381
19382 * docs/grub.texi (Configuration): New section, documenting
19383 configuration file generation using grub-mkconfig. I've left a slot
19384 for documenting the full shell scripting format but have not yet
19385 started on writing that up.
19386 (Invoking grub-mkconfig): New section.
19387
19388 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19389
19390 * docs/grub.texi (direntry): Remove grub-terminfo reference.
19391 (GNU GRUB manual): Likewise.
19392 (General commands): Update description of `terminfo' for GRUB 2.
19393
19394 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19395
19396 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
19397 (GRUB_MOD_INIT): Fix capitalisation.
19398 * docs/grub.texi (Command-line and menu entry commands): Document
19399 gettext and gptsync commands.
19400
19401 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19402
19403 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
19404 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
19405
19406 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
19407
19408 Add btrfs probing support, currently only in the single-device case.
19409
19410 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
19411 function.
19412 (grub_guess_root_device): Call find_root_device_from_mountinfo
19413 before looking in /dev.
19414
19415 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19416
19417 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
19418 GRUB_DISK_SIZE_UNKNOWN.
19419 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
19420
19421 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
19422
19423 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
19424 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
19425 corrupted or not synced properly.
19426
19427 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19428
19429 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
19430 Reported by: Seth Goldberg.
19431
19432 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19433
19434 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
19435 addition of dest.
19436 Reported by: Seth Goldberg.
19437
19438 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19439
19440 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
19441 Reported by: Seth Goldberg.
19442
19443 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19444
19445 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
19446 64-bit address as signed on MIPS.
19447
19448 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
19449
19450 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
19451 to the empty string.
19452
19453 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
19454
19455 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
19456
19457 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
19458 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
19459 * kern/misc.c (__enable_execute_stack): Disable on
19460 GRUB_MACHINE_EMU.
19461
19462 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
19463
19464 Make grub-probe work with symbolic links under /dev/mapper as well
19465 as with real block devices. The Linux world seems to be (at best)
19466 in transition here, and GRUB shouldn't get caught in the middle.
19467
19468 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
19469 /dev/mapper.
19470
19471 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
19472
19473 * util/grub-script-check.c (main): Ensure defined behaviour on empty
19474 input files (in which case exit zero).
19475
19476 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
19477
19478 * kern/emu/misc.c (canonicalize_file_name): realpath can still
19479 return NULL for various reasons even if it has a maximum-length
19480 buffer: for example, there might be a symlink loop, or the path
19481 might exceed PATH_MAX. If this happens, return NULL.
19482
19483 2010-05-27 Robert Millan <rmh@gnu.org>
19484
19485 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
19486 partmap module to handle cross-partmap setups.
19487 Reported by Orestes Mas. Gràcies!
19488
19489 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
19490
19491 * util/grub-mkrescue.in: Initialise override_dir rather than
19492 assuming that it's unset or empty in the environment.
19493
19494 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
19495
19496 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
19497 variable index into p_index to suppress a warning with -Wshadow.
19498
19499 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
19500
19501 * INSTALL: Added flex >= 2.5.35 requirement.
19502
19503 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19504
19505 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
19506
19507 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19508
19509 cmostest support.
19510
19511 * commands/i386/cmostest.c: New file.
19512 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
19513 (cmostest_mod_SOURCES): New variable.
19514 (cmostest_mod_CFLAGS): Likewise.
19515 (cmostest_mod_LDFLAGS): Likewise.
19516 * conf/i386-pc.rmk: Likewise.
19517 * docs/grub.texi (Vendor power-on keys): New section.
19518 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
19519 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
19520 and GRUB_BUTTON_CMOS_ADDRESS.
19521 * util/grub.d/00_header.in: Handle powering-on by separate button.
19522
19523 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19524
19525 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
19526 Removed drawing_scrollbar argument. All users updated
19527 Fixes #29792.
19528 Reported by Jo Shields
19529
19530 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19531
19532 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
19533 buffer since gfxterm handles double repaint.
19534
19535 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19536
19537 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
19538 * term/gfxterm.c (real_scroll): Likewise.
19539
19540 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19541
19542 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
19543 before calling BIOS.
19544
19545 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19546
19547 * include/grub/i18n.h: Always enable grub_gettext.
19548
19549 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19550
19551 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
19552 partition naming style.
19553
19554 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
19555
19556 * util/grub-mkconfig.in: Fix handling of -o so that it works when
19557 not the first option.
19558
19559 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
19560
19561 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
19562
19563 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
19564
19565 * util/misc.c: Move inclusion of <limits.h> to ...
19566 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
19567
19568 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
19569
19570 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
19571 Fix merge error in NetBSD code.
19572 (find_partition_start) [__NetBSD__]: Likewise.
19573
19574 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
19575
19576 Fix grub-mkrescue usage unit testing.
19577
19578 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
19579
19580 2010-05-18 Christian Franke <franke@computer.org>
19581
19582 * util/grub.d/10_windows.in: Use path names instead of
19583 drive letters to prevent warning from Cygwin 1.7.
19584 Add drivemap command to menuentry if needed.
19585
19586 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
19587
19588 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
19589 gnumach and gnumach.gz.
19590
19591 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19592
19593 * include/grub/i18n.h (gettext): Inline instead of using #define.
19594 (grub_gettext): Likewise.
19595 (_): Likewise.
19596
19597 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19598
19599 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
19600 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
19601 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
19602 (main): Add a slash after pkglibdirroot.
19603
19604 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19605
19606 * util/grub-install.in: Add missing "in" keyword.
19607
19608 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19609
19610 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
19611 Reported by: Seth Goldberg.
19612
19613 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19614
19615 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
19616
19617 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
19618
19619 * configure.ac: Check for Linux device-mapper support.
19620
19621 * util/hostdisk.c (device_is_mapped): New function.
19622 (find_partition_start): New function, partly broken out from
19623 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
19624 device-mapper support added.
19625 (linux_find_partition): Use find_partition_start.
19626 (convert_system_partition_to_system_disk): Add `st' argument.
19627 Support Linux /dev/mapper/* devices if device-mapper support is
19628 available; only DM-RAID devices are understood at present.
19629 (find_system_device): Add `st' argument. Pass it to
19630 convert_system_partition_to_system_disk.
19631 (grub_util_biosdisk_get_grub_dev): Pass stat result to
19632 find_system_device and convert_system_partition_to_system_disk. Use
19633 find_partition_start.
19634
19635 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
19636 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
19637 * util/deviceiter.c [__linux__]: Define MINOR.
19638 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
19639 * util/mkdevicemap.c (grub_putchar): New function.
19640 (grub_getkey): New function.
19641 (grub_refresh): New function.
19642 (main): Set debug=all if -v -v is used.
19643
19644 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
19645
19646 Fix build with non-GNU libcs.
19647
19648 * util/misc.c (canonicalize_file_name): Move to ...
19649 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
19650 grub_make_system_path_relative_to_its_root.
19651
19652 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
19653
19654 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
19655 we handle finding grub-mkimage. Default to finding grub-mkimage in
19656 ${bindir} with program_transform_name applied, and provide a
19657 --grub-mkimage option to override this.
19658
19659 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19660
19661 Remove grub-mkisofs.
19662
19663 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
19664 (grub_mkisofs_SOURCES): Removed.
19665 (grub_mkisofs_CFLAGS): Removed.
19666 * util/mkisofs/defaults.h: Removed.
19667 * util/mkisofs/eltorito.c: Likewise.
19668 * util/mkisofs/exclude.h: Likewise.
19669 * util/mkisofs/hash.c: Likewise.
19670 * util/mkisofs/include/: Likewise.
19671 * util/mkisofs/include/fctldefs.h: Likewise.
19672 * util/mkisofs/include/mconfig.h: Likewise.
19673 * util/mkisofs/include/prototyp.h: Likewise.
19674 * util/mkisofs/include/statdefs.h: Likewise.
19675 * util/mkisofs/iso9660.h: Likewise.
19676 * util/mkisofs/joliet.c: Likewise.
19677 * util/mkisofs/match.c: Likewise.
19678 * util/mkisofs/match.h: Likewise.
19679 * util/mkisofs/mkisofs.c: Likewise.
19680 * util/mkisofs/mkisofs.h: Likewise.
19681 * util/mkisofs/msdos_partition.h: Likewise.
19682 * util/mkisofs/multi.c: Likewise.
19683 * util/mkisofs/name.c: Likewise.
19684 * util/mkisofs/rock.c: Likewise.
19685 * util/mkisofs/tree.c: Likewise.
19686 * util/mkisofs/write.c: Likewise.
19687
19688 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19689
19690 Unify grub-mkimage accross platforms.
19691
19692 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
19693 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
19694 (grub_mkelfimage_SOURCES): Removed.
19695 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
19696 (util/grub-mkimage.c_DEPENDENCIES): .. this.
19697 (bin_UTILITIES): Add grub-mkimage.
19698 (grub_mkimage_SOURCES): New variable.
19699 (kernel_img_HEADERS): Remove machine/kernel.h.
19700 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
19701 (pkglib_PROGRAMS): Add kernel.img.
19702 (kernel_img_HEADERS): Add machine/kernel.h.
19703 (kernel_img_FORMAT): Removed.
19704 (bin_UTILITIES): Remove grub-mkimage.
19705 (grub_mkimage_SOURCES): Removed.
19706 (grub_mkimage_CFLAGS): Likewise.
19707 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
19708 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
19709 (pkglib_PROGRAMS): Add kernel.img.
19710 (bin_UTILITIES): Remove grub-mkimage.
19711 (grub_mkimage_SOURCES): Removed.
19712 (grub_mkimage_CFLAGS): Likewise.
19713 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
19714 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
19715 (pkglib_PROGRAMS): Add kernel.img.
19716 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
19717 (pkglib_PROGRAMS): Add kernel.img.
19718 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
19719 (grub_mkimage_SOURCES): Removed.
19720 (grub_mkimage_CFLAGS): Likewise.
19721 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
19722 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
19723 (pkglib_PROGRAMS): Add kernel.img.
19724 (bin_UTILITIES): Remove grub-mkimage.
19725 (grub_mkimage_SOURCES): Removed.
19726 (grub_mkimage_CFLAGS): Likewise.
19727 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
19728 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
19729 (grub_mkimage_SOURCES): Removed.
19730 (grub_mkimage_CFLAGS): Likewise.
19731 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
19732 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
19733 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
19734 (grub_pe32_optional_header): ... this.
19735 (grub_pe64_optional_header): ... and this. All users updated.
19736 (GRUB_PE32_PE32_MAGIC): Split into ..
19737 (GRUB_PE32_PE32_MAGIC): .. this.
19738 (GRUB_PE32_PE64_MAGIC): .. and this.
19739 (GRUB_PE32_SIGNATURE_SIZE): New definition.
19740 * include/grub/elf.h (PT_GNU_STACK): New definition.
19741 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
19742 * include/grub/i386/efi/kernel.h: Likewise.
19743 * include/grub/i386/kernel.h: Likewise.
19744 * include/grub/i386/pc/kernel.h: Likewise.
19745 * include/grub/i386/qemu/boot.h: Likewise.
19746 * include/grub/mips/kernel.h: Likewise.
19747 * include/grub/mips/qemu-mips/kernel.h: Likewise.
19748 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
19749 * include/grub/powerpc/kernel.h: Likewise.
19750 * include/grub/sparc64/ieee1275/boot.h: Likewise.
19751 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
19752 * include/grub/sparc64/kernel.h: Likewise.
19753 * include/grub/x86_64/efi/kernel.h: Likewise.
19754 * include/grub/x86_64/kernel.h: Likewise.
19755 * include/grub/offsets.h: New file.
19756 * include/grub/kernel.h (grub_module_info): Split into ...
19757 (grub_module_info32): ... this.
19758 (grub_module_info64): ... and this.
19759 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
19760 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
19761 (grub_boot_blocklist): Moved from here ...
19762 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
19763 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
19764 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
19765 * include/grub/types.h (grub_target_to_host16): Removed.
19766 (grub_target_to_host32): Likewise.
19767 (grub_target_to_host64): Likewise.
19768 (grub_host_to_target16): Likewise.
19769 (grub_host_to_target32): Likewise.
19770 (grub_host_to_target64): Likewise.
19771 (grub_host_to_target_addr): Likewise.
19772
19773 Support grub-mkrescue for efi, coreboot and qemu.
19774
19775 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
19776 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
19777 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
19778 * util/grub-mkrawimage.c: Moved from here ...
19779 * util/grub-mkimage.c: ... here. All users updated.
19780 (ALIGN_ADDR): Use image_target.
19781 (TARGET_NO_FIELD): New const.
19782 (image_target_desc): New type.
19783 (image_targets): New array.
19784 (grub_target_to_host64): Use image_target.
19785 (grub_target_to_host32): Likewise.
19786 (grub_target_to_host16): Likewise.
19787 (grub_host_to_target64): Likewise.
19788 (grub_host_to_target32): Likewise.
19789 (grub_host_to_target16): Likewise.
19790 (grub_host_to_target_addr): Likewise.
19791 (generate_image): Handle multiimage.
19792 (main): Require -O parameter. All users updated.
19793 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
19794 util/efi/grub-mkimage.c
19795 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
19796 New option --rom-directory.
19797 Use xorriso.
19798 * util/i386/efi/grub-mkimage.c: Removed.
19799 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
19800 (grub_target_to_host32): Likewise.
19801 (grub_target_to_host64): Likewise.
19802 (grub_host_to_target16): Likewise.
19803 (grub_host_to_target32): Likewise.
19804 (grub_host_to_target64): Likewise.
19805 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
19806 (grub_target_to_host32): Likewise.
19807 (grub_target_to_host64): Likewise.
19808 (grub_host_to_target16): Likewise.
19809 (grub_host_to_target32): Likewise.
19810 (grub_host_to_target64): Likewise.
19811
19812 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
19813
19814 Source tree is reorganized for emu build.
19815
19816 * include/grub/util/console.h: Move from here...
19817 * include/grub/emu/console.h: ...to here.
19818 * include/grub/util/getroot.h: Move from here...
19819 * include/grub/emu/getroot.h: ...to here.
19820 * include/grub/util/hostdisk.h: Move from here...
19821 * include/grub/emu/hostdisk.h: ...to here.
19822 * util/console.c: Move from here...
19823 * kern/emu/console.c: ...to here.
19824 * util/getroot.c: Move from here...
19825 * kern/emu/getroot.c: ...to here.
19826 * util/grub-emu.c: Move from here...
19827 * kern/emu/main.c: ...to here.
19828 * util/hostdisk.c: Move from here...
19829 * kern/emu/hostdisk.c: ...to here.
19830 * util/hostfs.c: Move from here...
19831 * kern/emu/hostfs.c: ...to here.
19832 * util/mm.c: Move from here...
19833 * kern/emu/mm.c: ...to here.
19834 * util/pci.c: Move from here...
19835 * bus/emu/pci.c: ...to here.
19836 * util/sdl.c: Move from here...
19837 * video/emu/sdl.c: ...to here.
19838 * util/time.c: Move from here...
19839 * kern/emu/time.c: ...to here.
19840 * util/usb.c: Move from here...
19841 * bus/usb/emu/usb.c: ...to here.
19842
19843 * include/grub/emu/misc.h: New header for grub-emu functions.
19844 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
19845
19846 * conf/any-emu.rmk: Rule updates for above renames.
19847 * conf/common.rmk: Likewise.
19848 * conf/i386-pc.rmk: Likewise.
19849 * conf/i386-qemu.rmk: Likewise.
19850 * conf/mips.rmk: Likewise.
19851 * conf/sparc64-ieee1275.rmk: Likewise.
19852 * conf/x86-efi.rmk: Likewise.
19853
19854 * disk/lvm.h: #include updates for above renames.
19855 * util/grub-mkrelpath.c: Likewise.
19856 * util/grub-probe.c: Likewise.
19857 * util/i386/pc/grub-setup.c: Likewise.
19858 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19859 * kern/emu/console.c: Likewise.
19860 * kern/emu/getroot.c: Likewise.
19861 * kern/emu/hostdisk.c: Likewise.
19862 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
19863
19864 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
19865 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
19866 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
19867 * util/misc.c: Remove grub-emu functions.
19868
19869 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19870
19871 Fix gfxmenu crash.
19872 Reported by: Thorsten Grützmacher.
19873
19874 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
19875 timeout hook.
19876 (circprog_set_property): Register and unregister timeout hook.
19877 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
19878 (label_destroy): Free template. and unregister hook.
19879 (label_set_state): New function.
19880 (label_set_property): Handle templates and hooks.
19881 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
19882 timeout hook.
19883 (progress_bar_set_property): Register and unregister timeout hook.
19884 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
19885 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
19886 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
19887 (update_timeout_visit): Removed.
19888 (update_timeouts): New function.
19889 (redraw_timeouts): Likewise.
19890 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
19891 (grub_gfxmenu_clear_timeout): Likewise.
19892 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
19893 (grub_gfxmenu_timeout_notify): Likewise.
19894 (grub_gfxmenu_timeout_notifications): New external variable.
19895 (grub_gfxmenu_timeout_register): New function.
19896 (grub_gfxmenu_timeout_unregister): Likewise.
19897
19898 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19899
19900 Transform (broken) vga terminal into (working) vga video driver.
19901
19902 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
19903 video/i386/pc/vga.c.
19904 * include/grub/video.h (grub_video_driver_id):
19905 Add GRUB_VIDEO_DRIVER_VGA.
19906 * term/i386/pc/vga.c: Renamed to ...
19907 * video/i386/pc/vga.c: ...this
19908 (DEBUG_VGA): Removed.
19909 (CHAR_WIDTH): Likewise.
19910 (CHAR_HEIGHT): Likewise.
19911 (TEXT_WIDTH): Likewise.
19912 (TEXT_HEIGHT): Likewise.
19913 (DEFAULT_FG_COLOR): Likewise.
19914 (DEFAULT_BG_COLOR): Likewise.
19915 (colored_char): Likewise.
19916 (xpos): Likewise.
19917 (ypos): Likewise.
19918 (cursor_state): Likewise.
19919 (fg_color): Likewise.
19920 (bg_color): Likewise.
19921 (text_buf): Likewise.
19922 (page): Likewise.
19923 (font): Likewise.
19924 (framebuffer): New variable.
19925 (set_read_map): Disabled.
19926 (setup): New variable.
19927 (is_target): Likewise.
19928 (grub_vga_mod_init): Likewise.
19929 (grub_vga_mod_fini): Likewise.
19930 (check_vga_mem): Likewise.
19931 (write_char): Likewise.
19932 (write_cursor): Likewise.
19933 (scroll_up): Likewise.
19934 (grub_vga_putchar): Likewise.
19935 (grub_vga_getcharwidth): Likewise.
19936 (grub_vga_getwh): Likewise.
19937 (grub_vga_getxy): Likewise.
19938 (grub_vga_gotoxy): Likewise.
19939 (grub_vga_cls): Likewise.
19940 (grub_vga_setcolorstate): Likewise.
19941 (grub_vga_setcursor): Likewise.
19942 (grub_video_vga_init): New function.
19943 (grub_video_vga_setup): Likewise.
19944 (grub_video_vga_fini): Likewise.
19945 (update_target): Likewise.
19946 (grub_video_vga_blit_bitmap): Likewise.
19947 (grub_video_vga_blit_render_target): Likewise.
19948 (grub_video_vga_set_active_render_target): Likewise.
19949 (grub_video_vga_get_active_render_target): Likewise.
19950 (grub_video_vga_swap_buffers): Likewise.
19951 (grub_video_vga_set_palette): Likewise.
19952 (grub_video_vga_get_info_and_fini): Likewise.
19953 (grub_vga_term): Removed.
19954 (grub_video_vga_adapter): New variable.
19955 (GRUB_MOD_INIT): Register a video driver instead of terminal.
19956 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
19957
19958 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19959
19960 * video/readers/jpeg.c: Indented.
19961
19962 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19963
19964 Various jpeg cleanups.
19965
19966 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
19967 (grub_jpeg_decode_quan_table): Use sizeof.
19968 (grub_jpeg_decode_du): Use ARRAY_SIZE.
19969
19970 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
19971
19972 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
19973 tables. Ignore non-last ac bit.
19974 (grub_jpeg_decode_quan_table): Likewise.
19975
19976 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19977
19978 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
19979 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
19980 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
19981 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
19982 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
19983 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
19984
19985 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19986
19987 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
19988 error.
19989
19990 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19991
19992 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
19993
19994 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
19995
19996 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
19997 condition.
19998
19999 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
20000
20001 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
20002 part.
20003
20004 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
20005
20006 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
20007 pointers.
20008
20009 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
20010
20011 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
20012
20013 2010-05-01 Christian Franke <franke@computer.org>
20014
20015 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
20016 Remove broken Cygwin path conversion.
20017 * util/misc.c: [__CYGWIN__] Add include and define.
20018 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
20019 for Cygwin 1.7.
20020 (make_system_path_relative_to_its_root): Simplify loop, replace early
20021 return by break.
20022 [__CYGWIN__] Add conversion to win32 path.
20023 Include "/" case in trailing slash removal.
20024
20025 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20026
20027 * kern/main.c (grub_load_config): Fix copy-pasted comment.
20028 Reported by: Seth Goldberg
20029
20030 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20031
20032 * commands/help.c (grub_cmd_help): Fix a typo.
20033 Reported by: Seth Goldberg
20034
20035 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20036
20037 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
20038 name and add N_.
20039 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
20040 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
20041 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
20042 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
20043 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
20044 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
20045 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
20046 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
20047 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
20048 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
20049 * normal/context.c (GRUB_MOD_INIT): Likewise.
20050 * normal/main.c (GRUB_MOD_INIT): Likewise.
20051 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
20052 * term/serial.c (GRUB_MOD_INIT): Likewise.
20053 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
20054
20055 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20056
20057 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
20058 extra == 0.
20059
20060 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20061
20062 * commands/iorw.c: New file.
20063 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
20064 (iorw_mod_SOURCES): New variable.
20065 (iorw_mod_CFLAGS): Likewise.
20066 (iorw_mod_LDFLAGS): Likewise.
20067
20068 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20069
20070 Hotkey support
20071
20072 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
20073 * normal/main.c (hotkey_aliases): New variable.
20074 (grub_normal_add_menu_entry): Parse "--hotkey".
20075 * normal/menu_text.c (run_menu): Handle hotkeys.
20076
20077 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20078
20079 * kern/i386/coreboot/init.c (grub_machine_init): Call
20080 grub_machine_mmap_init on qemu.
20081
20082 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20083
20084 * boot/i386/qemu/boot.S: Add a missing .code16.
20085
20086 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20087
20088 Use LBIO on coreboot.
20089
20090 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
20091 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
20092 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
20093 New declaration.
20094 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
20095 grub_machine_mmap_init on coreboot.
20096 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
20097 GRUB_LINUXBIOS_MEMBER_LINK.
20098 (grub_machine_mmap_iterate): Fix declaration.
20099 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
20100
20101 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20102
20103 Split coreboot and multiboot ports.
20104
20105 * conf/i386-multiboot.rmk: New file.
20106 * configure.ac: Add multiboot port.
20107 * include/grub/i386/multiboot/boot.h: New file.
20108 * include/grub/i386/multiboot/console.h: Likewise.
20109 * include/grub/i386/multiboot/init.h: Likewise.
20110 * include/grub/i386/multiboot/kernel.h: Likewise.
20111 * include/grub/i386/multiboot/loader.h: Likewise.
20112 * include/grub/i386/multiboot/memory.h: Likewise.
20113 * include/grub/i386/multiboot/serial.h: Likewise.
20114 * include/grub/i386/multiboot/time.h: Likewise.
20115 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
20116 * loader/multiboot.c: Likewise.
20117 * loader/multiboot_mbi2.c: Likewise.
20118 * util/grub-mkrescue.in: Generate multiboot rescue.
20119
20120 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20121
20122 * kern/parser.c (grub_parser_execute): Cope with read-only config.
20123
20124 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20125
20126 Merge handling of input and output terminals. Fix a hang.
20127
20128 * commands/terminal.c (abstract_terminal): New struct.
20129 (handle_command): New function. Based on grub_cmd_terminal_input.
20130 (grub_cmd_terminal_input): Use handle_command.
20131 (grub_cmd_terminal_output): Use handle_command.
20132
20133 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
20134
20135 Fix comment handling.
20136
20137 * tests/grub_script_comments.in: New testcase.
20138 * conf/tests.rmk: Rules for new testcase.
20139 * script/yylex.l: Updated flex rules.
20140
20141 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
20142
20143 * docs/grub.texi (play): Document that zero pitches produce rests.
20144 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
20145 if argc is 1.
20146
20147 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
20148
20149 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
20150 autogen issues.
20151
20152 2010-04-26 Christian Franke <franke@computer.org>
20153
20154 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
20155 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
20156 (grub_get_prefix): Remove function.
20157 * util/grub-emu.c (main): Replace grub_get_prefix () call by
20158 make_system_path_relative_to_its_root ().
20159 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
20160
20161 2010-04-24 Christian Franke <franke@computer.org>
20162
20163 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
20164 (kernel_img_LDFLAGS): Remove -static-libgcc.
20165
20166 2010-04-24 Christian Franke <franke@computer.org>
20167
20168 * configure.ac: Do not CHECK_BSS_START_SYMBOL
20169 and CHECK_END_SYMBOL if grub-emu is built.
20170 Unset TARGET_OBJ2ELF if grub-emu is built
20171 without module support.
20172
20173 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
20174
20175 Nilfs2 support.
20176
20177 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
20178 (grub_fstest_SOURCES): Likewise.
20179 (pkglib_MODULES): Add nilfs2.mod.
20180 (nilfs2_mod_SOURCES): New variable.
20181 (nilfs2_mod_CFLAGS): Likewise.
20182 (nilfs2_mod_LDFLAGS): Likewise.
20183 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
20184 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
20185 * fs/nilfs2.c: New file.
20186
20187 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
20188
20189 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
20190 is not supported.
20191
20192 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
20193
20194 Add grub-mkconfig support for NetBSD.
20195
20196 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
20197 * util/grub-mkconfig.in: export new NetBSD specific variables.
20198 * po/POTFILES-shell: added 10_netbsd.in.
20199 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
20200
20201 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
20202
20203 Fix emu build with grub-emu-pci and grub-emu-modules.
20204
20205 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
20206 functions.
20207 * include/grub/libpciaccess.h: New file.
20208 * conf/any-emu.rmk: Update kernel headers for emu build.
20209
20210 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20211
20212 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
20213
20214 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20215
20216 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
20217
20218 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20219
20220 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
20221 Retrieve chosen/bootpath if bootpath isn't hardcoded.
20222 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
20223 util/ieee1275/ofpath.c.
20224 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
20225 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
20226 * include/grub/sparc64/ieee1275/boot.h
20227 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
20228 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
20229 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
20230 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
20231 const char *.
20232 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
20233 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
20234 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
20235 install.
20236
20237 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
20238
20239 * util/grub-mkconfig.in: Corrected two == equality tests.
20240 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
20241 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
20242 expect a number appended to it.
20243 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
20244 expects a number appended to it.
20245
20246 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20247
20248 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
20249
20250 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20251
20252 * util/hostdisk.c (make_device_name): Change to new partition naming.
20253
20254 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
20255
20256 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
20257
20258 2010-04-17 Christian Franke <franke@computer.org>
20259
20260 * Makefile.in: Add missing localedir setting.
20261
20262 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
20263
20264 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
20265 mistake in r2156. Noticed by Anthony Fok.
20266
20267 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
20268 @localedir@.
20269 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
20270
20271 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
20272
20273 Fix a spurious, uninitialized variable warning.
20274
20275 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
20276 Initialize variable, shdr.
20277 (grub_freebsd_load_elfmodule): Likewise.
20278 (grub_freebsd_load_elf_meta): Likewise.
20279
20280 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
20281
20282 Fix for escaped dollar in double quoted strings.
20283
20284 * script/yylex.l: Updated flex rules.
20285 * conf/tests.rmk: Rule for new testcase.
20286 * tests/grub_script_dollar.in: New testcase.
20287
20288 2010-04-13 Carles Pina i Estany <carles@pina.cat>
20289 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
20290
20291 Enclose all translated strings in grub.cfg in single quotes, and
20292 escape them appropriately (Ubuntu bug #552921).
20293
20294 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
20295 * util/grub.d/10_hurd.in: Use it.
20296 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
20297 * util/grub.d/10_linux.in (linux_entry): Likewise.
20298
20299 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20300
20301 Fix cygwin compilation.
20302
20303 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
20304 * include/grub/misc.h (__register_frame_info)
20305 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
20306 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
20307 * kern/misc.c (__register_frame_info)
20308 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
20309 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
20310
20311 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20312
20313 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
20314
20315 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20316
20317 Unify libgcc processing.
20318
20319 * Makefile.in (kernel_img_LDFLAGS): New variable.
20320 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
20321 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
20322 overwriting.
20323 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
20324 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
20325 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
20326 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
20327 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
20328 overwriting. Remove -lgcc and -static-libgcc
20329 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
20330 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
20331 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
20332 (kernel_img_LDFLAGS): Append instead of overwriting.
20333 Remove -lgcc and -static-libgcc
20334 * conf/sparc64-ieee1275.rmk: Likewise.
20335 * include/grub/powerpc/libgcc.h: Move to ...
20336 * include/grub/libgcc.h: .. this.
20337 * include/grub/libgcc.h: Don't export most of the function on x86.
20338 (__bswapsi2): New export.
20339 (__bswapdi2): Likewise.
20340 * include/grub/mips/libgcc.h: Removed.
20341 * include/grub/sparc64/libgcc.h: Likewise.
20342
20343 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20344
20345 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
20346 disk_info_msg (conflicts with gettexting into languages with cases).
20347
20348 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
20349
20350 Add grub-probe support for NetBSD.
20351
20352 * util/getroot.c (find_root_device): Convert block device to
20353 character device on NetBSD.
20354 * util/probe.c (probe): Require character device on NetBSD.
20355 * util/hostdisk.c: NetBSD specific headers.
20356 (configure_device_driver): new function to tune device driver
20357 parameters (currently only for NetBSD floppy driver).
20358 (grub_util_biosdisk_open): NetBSD specific code (get disk size
20359 via disklabel ioctl).
20360 (open_device): call configure_device_driver on NetBSD.
20361 (convert_system_partition_to_system_disk): NetBSD specific code.
20362 (device_is_wholedisk): Likewise.
20363 (grub_util_biosdisk_get_grub_dev): Likewise.
20364 (make_device_name): Fixed a typo in bsd_part_str.
20365 * configure.ac: check for opendisk() and getrawpartition() on
20366 NetBSD and set LIBUTIL.
20367 * Makefile.in: add LIBUTIL to LIBS.
20368
20369 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
20370
20371 Documentation fix.
20372
20373 * util/grub-script-check.c: Better help message.
20374
20375 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
20376
20377 Fix FreeBSD build.
20378
20379 * configure.ac: Flex version check.
20380 * conf/common.rmk: Add -Wno-error to sh.mod.
20381 * script/yylex.l: Remove all #pragma.
20382
20383 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20384
20385 * include/grub/util/misc.h (canonicalise_file_name): Add missing
20386 prototype.
20387 Reported by: Seth Goldberg.
20388
20389 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20390
20391 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
20392 Rename "module" to "module2".
20393 Reported by: Seth Goldberg.
20394
20395 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20396
20397 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
20398 EXPORT_FUNC.
20399 Reported by: Seth Goldberg.
20400
20401 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20402
20403 * lib/posix_wrap/locale.h: Add missing file.
20404 Reported by: Seth Goldberg.
20405
20406 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20407
20408 grub-emu module load support.
20409
20410 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
20411 NO_DYNAMIC_MODULES switched to this.
20412 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
20413 (CFLAGS): Likewise.
20414 * conf/any-emu.rmk: Generate symlist.
20415 (kernel_img_HEADERS): Add util/datetime.h.
20416 (kernel_img_HEADERS) [sdl]: Add sdl.h.
20417 (kernel_img_HEADERS) [libusb]: Add libusb.h.
20418 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
20419 kern/$(target_cpu)/cache.S.
20420 * configure.ac (grub-emu-modules): New option.
20421 * genmk.rb: Handle multiple source lists.
20422 * include/grub/sdl.h: New file.
20423 * include/grub/libusb.h: Likewise.
20424 * util/grub-emu.c (main): Hanle (host) root.
20425 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
20426 GRUB_ERR_UNKNOWN_DEVICE.
20427 * util/misc.c: Move mm functions to ...
20428 * util/mm.c: ... here. All users updated.
20429
20430 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20431
20432 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
20433 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
20434 missing files.
20435 (maintainer-clean): Remove libgcrypt-grub.
20436
20437 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20438
20439 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
20440
20441 2010-04-09 EFI Coder <eficoder@hotmail.com>
20442
20443 * normal/menu_text.c (print_message): Clean up the message and show
20444 the Fn information when on EFI
20445 * term/efi/console.c (grub_console_checkkey): Add F4 support.
20446
20447 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20448
20449 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
20450 All users updated.
20451 * normal/crypto.c (read_crypto_list): Likewise.
20452 * normal/dyncmd.c (read_command_list): Likewise.
20453 * normal/term.c (read_terminal_list): Likewise.
20454 * normal/main.c (read_lists): Use explicit prefix.
20455 (read_lists_hook): Use read_lists.
20456 (grub_normal_execute): Likewise.
20457
20458 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20459
20460 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
20461 Reported by: Thomas Schmitt.
20462 Add -no-emul-boot to grub-mkisofs parameters.
20463
20464 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20465
20466 * font/font.c: Indented.
20467
20468 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
20469
20470 Elif support to GRUB script (by Deepak Vankadaru).
20471
20472 * tests/grub_script_if.in: New testcase.
20473 * conf/tests.rmk: Rule for new testcase.
20474 * script/parser.y: Grammar rules for elif.
20475
20476 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
20477
20478 While and until loops support to GRUB script.
20479
20480 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
20481 (grub_script_create_cmdwhile): New function prototype.
20482 (grub_script_execute_cmdwhile): New function prototype.
20483 * script/execute.c (grub_script_execute_cmdwhile): New function.
20484 * script/parser.y (command): New commands.
20485 (whilecmd): New grammar rule.
20486 (untilcmd): New grammar rule.
20487 * script/script.c (grub_script_create_cmdwhile): New function.
20488 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
20489 function.
20490
20491 * tests/grub_script_while1.in: New testcase.
20492 * conf/tests.rmk: Rule for new testcase.
20493
20494 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20495
20496 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
20497 as *.jpg.
20498
20499 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
20500
20501 GRUB_BACKGROUND support.
20502
20503 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
20504 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
20505
20506 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20507
20508 Load fonts and modules for gfxmenu in grub-mkconfig.
20509 Idea by: Mario Vazquez
20510
20511 * util/grub.d/00_header.in: Load pf2 and image modules.
20512
20513 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20514
20515 grub-mkconfig multiple terminal support.
20516
20517 * util/grub-mkconfig.in: Handle multiple terminals correctly.
20518 * util/grub.d/00_header.in: Likewise.
20519
20520 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20521
20522 * Makefile.in: Specify files explicitly instead of using $< and $@ since
20523 we use cd $(srcdir).
20524
20525 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
20526
20527 * util/grub.d/10_linux.in: Only use the first word of
20528 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
20529 spaces in GRUB_DISTRIBUTOR.
20530 * util/grub.d/10_kfreebsd.in: Likewise.
20531 * util/grub.d/10_hurd.in: Likewise.
20532
20533 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
20534
20535 Fix unit testing framework for Qemu 0.12.
20536
20537 * tests/util/grub-shell.in: Remove -serial stdio option.
20538
20539 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20540
20541 POSIX header file wrappers.
20542
20543 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
20544 equivalents.
20545 * lib/posix_wrap/ctype.h: Likewise.
20546 * lib/posix_wrap/errno.h: Likewise.
20547 * lib/posix_wrap/langinfo.h: Likewise.
20548 * lib/posix_wrap/limits.h: Likewise.
20549 * lib/posix_wrap/localcharset.h: Likewise.
20550 * lib/posix_wrap/stdint.h: Likewise.
20551 * lib/posix_wrap/stdio.h: Likewise.
20552 * lib/posix_wrap/stdlib.h: Likewise.
20553 * lib/posix_wrap/string.h: Likewise.
20554 * lib/posix_wrap/sys/types.h: Likewise.
20555 * lib/posix_wrap/unistd.h: Likewise.
20556 * lib/posix_wrap/wchar.h: Likewise.
20557 * lib/posix_wrap/wctype.h: Likewise.
20558 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
20559 (grub_script.yy.h): Likewise.
20560 * script/yylex.l: Remove POSIX emulation #defines.
20561 * Makefile.in (POSIX_CFLAGS): New variable.
20562 (GNULIB_UTIL_CFLAGS): Likewise.
20563
20564 Regexp support.
20565
20566 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
20567 (regexp_mod_SOURCES): New variable.
20568 (regexp_mod_CFLAGS): Likewise.
20569 (regexp_mod_LDFLAGS): Likewise.
20570 * commands/regexp.c: New file.
20571 * gnulib/regcomp.c: New file. Imported from gnulib.
20572 * gnulib/regex.c: Likewise.
20573 * gnulib/regex_internal.c: Likewise.
20574 * gnulib/regex_internal.h: Likewise.
20575 * gnulib/regexec.c: Likewise.
20576 * gnulib/regex.h: Likewise.
20577
20578 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
20579
20580 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
20581 unsupported video mode types.
20582
20583 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
20584
20585 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
20586
20587 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
20588
20589 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
20590 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
20591
20592 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
20593
20594 Remove unused grub_vga_get_font.
20595
20596 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
20597 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
20598
20599 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20600
20601 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
20602 * include/grub/misc.h: Likewise.
20603
20604 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20605
20606 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
20607 for which failure is fatal.
20608
20609 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20610
20611 * util/grub-install.in: Use mkdir -p to create grub directory.
20612 * util/i386/efi/grub-install.in: Likewise.
20613 * util/ieee1275/grub-install.in: Likewise.
20614
20615 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20616
20617 * Makefile.in (LEX): new variable.
20618
20619 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20620
20621 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
20622 `=' and added double quotes on operands of this equality test.
20623
20624 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
20625
20626 * Makefile.in (uninstall): Remove a leftover debug echo.
20627 Reported by: Grégoire Sutre
20628
20629 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
20630
20631 MIPS multiboot2 support.
20632
20633 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
20634 (multiboot2_mod_SOURCES): New variable.
20635 (multiboot2_mod_CFLAGS): Likewise.
20636 (multiboot2_mod_LDFLAGS): Likewise.
20637 (multiboot2_mod_ASFLAGS): Likewise.
20638 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
20639 definition.
20640 (MULTIBOOT_ENTRY_REGISTER): Likewise.
20641 (MULTIBOOT_MBI_REGISTER): Likewise.
20642 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
20643 (MULTIBOOT_ELF32_MACHINE): Likewise.
20644 (MULTIBOOT_ELF64_MACHINE): Likewise.
20645 * include/grub/mips/multiboot.h: New file.
20646 * include/grub/video.h (grub_video_driver_id): New type
20647 GRUB_VIDEO_DRIVER_SM712.
20648 (grub_video_get_info_and_fini): Export.
20649 (grub_video_get_palette): Likewise.
20650 (grub_video_get_driver_id): Likewise.
20651 * include/multiboot2.h: Resynced with spec.
20652 * loader/i386/multiboot.c: Moved from here ...
20653 * loader/multiboot.c: ... here. All users updated.
20654 (grub_multiboot_boot): Use platform-specific macros.
20655 * loader/i386/multiboot_elfxx.c: Moved from here ...
20656 * loader/multiboot_elfxx.c: ... here. All users updated.
20657 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
20658 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
20659 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
20660
20661 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20662
20663 Import gnulib argp module.
20664
20665 * gnulib/argp-ba.c: New file.
20666 * gnulib/argp-eexst.c: Likewise.
20667 * gnulib/argp-fmtstream.c: Likewise.
20668 * gnulib/argp-fmtstream.h: Likewise.
20669 * gnulib/argp-fs-xinl.c: Likewise.
20670 * gnulib/argp-help.c: Likewise.
20671 * gnulib/argp-namefrob.h: Likewise.
20672 * gnulib/argp-parse.c: Likewise.
20673 * gnulib/argp-pin.c: Likewise.
20674 * gnulib/argp-pv.c: Likewise.
20675 * gnulib/argp-pvh.c: Likewise.
20676 * gnulib/argp-version-etc.c: Likewise.
20677 * gnulib/argp-version-etc.h: Likewise.
20678 * gnulib/argp-xinl.c: Likewise.
20679 * gnulib/argp.h: Likewise.
20680
20681 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
20682
20683 * kern/device.c (grub_device_iterate): Clear errors after failed
20684 opening device.
20685
20686 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
20687
20688 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
20689 returned by firmware.
20690
20691 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20692
20693 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
20694 compilation on coreboot and qemu
20695
20696 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
20697
20698 * include/multiboot2.h: Resync with spec.
20699
20700 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
20701
20702 Multiboot2 tag support
20703
20704 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
20705 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
20706 Remove loader/multiboot_loader.c.
20707 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
20708 (grub_multiboot2_real_boot): Likewise.
20709 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
20710 (grub_get_multiboot_mmap_count): New proto.
20711 (grub_fill_multiboot_mmap): Likewise.
20712 (grub_multiboot_set_video_mode): Likewise.
20713 (grub_multiboot_set_console): Likewise.
20714 (grub_multiboot_load): Likewise.
20715 (grub_multiboot_load_elf): Likewise.
20716 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
20717 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
20718 * include/multiboot.h: Resynced with specification.
20719 * include/multiboot2.h: Resynced with specification.
20720 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
20721 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
20722 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
20723 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
20724 users updated.
20725 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
20726 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
20727 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
20728 Removed.
20729 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
20730 Moved from here...
20731 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
20732 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
20733 Moved from here...
20734 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
20735 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
20736 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
20737 All users updated.
20738 * loader/i386/multiboot_mbi2.c: New file.
20739
20740 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
20741
20742 Resync with gnulib.
20743
20744 * Makefile.in (GNULIB_CFLAGS): New variable.
20745 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
20746 (grub_script_check_CFLAGS): New variable.
20747 * gnulib/alloca.h: Resync with gnulib.
20748 * gnulib/error.c: Likewise.
20749 * gnulib/error.h: Likewise.
20750 * gnulib/fnmatch.c: Likewise.
20751 * gnulib/fnmatch_loop.c: Likewise.
20752 * gnulib/getdelim.c: Likewise.
20753 * gnulib/getline.c: Likewise.
20754 * gnulib/getopt.c: Likewise.
20755 * gnulib/getopt1.c: Likewise.
20756 * gnulib/getopt_int.h: Likewise.
20757 * gnulib/gettext.h: Likewise.
20758 * gnulib/progname.c: Likewise.
20759 * gnulib/progname.h: Likewise.
20760
20761 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
20762
20763 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
20764 which is the case with --disabled-nls.
20765
20766 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
20767 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
20768 * util/misc.c: Likewise.
20769 * util/mkisofs/mkisofs.c: Likewise.
20770 * util/mkisofs/mkisofs.h: Likewise.
20771
20772 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
20773
20774 Simplify Apple CC support.
20775
20776 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
20777 Add 0 byte at the end not to have a symbol with empty target.
20778 * mmap/i386/pc/mmap_helper.S: Likewise.
20779 * genmk.rb: Ignore errors 2030 and 2050.
20780 * kern/i386/pc/startup.S: Use LOCAL when possible.
20781
20782 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
20783
20784 Testcase and the fix for final semicolon on cmdline.
20785
20786 * tests/grub_script_final_semicolon.in: New testcase.
20787 * conf/tests.rmk: Rules for the new testcase.
20788 * script/parser.y: Grammar fix.
20789
20790 2010-03-26 BVK Chaitanya <bvk@localhost>
20791
20792 Blank lines testcase for GRUB script.
20793
20794 * tests/grub_script_blanklines.in: New testcase.
20795 * conf/tests.rmk: Rules for the new testcase.
20796
20797 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20798
20799 Don't use __FILE__.
20800
20801 * genmk.rb: Add -DGRUB_FILE to all C targets.
20802 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
20803 * include/grub/list.h: Likewise.
20804 * include/grub/misc.h: Likewise.
20805 * include/grub/mm.h: Likewise.
20806 * include/grub/test.h: Likewise.
20807 * kern/mm.c: Likewise.
20808 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
20809
20810 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20811
20812 Sunpc partitions support.
20813
20814 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
20815 (grub_fstest_SOURCES): Likewise.
20816 (pkglib_MODULES): Add part_sunpc.mod.
20817 (part_sunpc_mod_SOURCES): New variable.
20818 (part_sunpc_mod_CFLAGS): Likewise.
20819 (part_sunpc_mod_LDFLAGS): Likewise.
20820 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
20821 * partmap/sunpc.c: New file.
20822
20823 2010-03-26 BVK Chaitanya <bvk@localhost>
20824
20825 For loop support to GRUB script.
20826
20827 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
20828 (grub_script_create_cmdfor): New function prototype.
20829 (grub_script_execute_cmdfor): New function prototype.
20830 * script/execute.c (grub_script_execute_cmdfor): New function.
20831 * script/parser.y (command): New for command.
20832 (forcmd): New grammar rule.
20833 * script/script.c (grub_script_create_cmdfor): New function.
20834 * util/grub-script-check.c (grub_script_execute_cmdfor): New
20835 function.
20836 * tests/grub_script_for1.in: New testcase.
20837 * conf/tests.rmk: Rules for new testcase.
20838
20839 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20840
20841 Nested partitions
20842
20843 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
20844 'partition' is NULL, grub_partition_get_start already does that.
20845 * commands/loadenv.c (check_blocklists): Likewise.
20846 (write_blocklists): Likewise.
20847 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
20848 (grub_fstest_SOURCES): Likewise.
20849 (pkglib_MODULES): Add part_bsd.mod.
20850 (part_bsd_mod_SOURCES): New variable.
20851 (part_bsd_mod_CFLAGS): Likewise.
20852 (part_bsd_mod_LDFLAGS): Likewise.
20853 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
20854 (grub_emu_SOURCES): Likewise.
20855 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20856 * include/grub/bsdlabel.h: New file.
20857 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
20858 'get_name'.
20859 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
20860 (grub_partition_map_list): New variable.
20861 (grub_partition_map_register): Inline.
20862 (grub_partition_map_unregister): Likewise.
20863 (FOR_PARTITION_MAPS): New macro.
20864 (grub_partition_map_iterate): Removed.
20865 (grub_partition_get_start): Handle nested partitions.
20866 * include/grub/msdos_partition.h: Remove bsd-related entries.
20867 (grub_pc_partition): Remove.
20868 * kern/disk.c (grub_disk_close): Free partition data.
20869 (grub_disk_adjust_range): Handle nested partitions.
20870 * kern/partition.c (grub_partition_map_probe): New function.
20871 (grub_partition_probe): Parse name to number, handle subpartitions.
20872 (get_partmap): New function.
20873 (grub_partition_iterate): Handle subpartitions.
20874 (grub_partition_get_name): Likewise.
20875 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
20876 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
20877 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
20878 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
20879 Set 'number'.
20880 (acorn_partition_map_probe): Remove.
20881 (acorn_partition_map_get_name): Likewise.
20882 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
20883 Set 'number'.
20884 Set 'index' to 0 since there can be only one partition entry per sector.
20885 (amiga_partition_map_probe): Remove.
20886 (amiga_partition_map_get_name): Likewise.
20887 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
20888 Set 'number'.
20889 Set 'offset' and 'index' to real positions of partitions.
20890 (apple_partition_map_probe): Remove.
20891 (apple_partition_map_get_name): Likewise.
20892 * partmap/bsdlabel.c: New file.
20893 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
20894 Set 'number'.
20895 Allocate 'data' so it can be correctly freed.
20896 Set 'index' to offset inside sector.
20897 (gpt_partition_map_probe): Remove.
20898 (gpt_partition_map_get_name): Likewise.
20899 * partmap/msdos.c (grub_partition_parse): Remove.
20900 (pc_partition_map_iterate): Don't force raw access.
20901 Set 'number'.
20902 Make 'ext_offset' a local variable.
20903 (pc_partition_map_probe): Remove.
20904 (pc_partition_map_get_name): Remove.
20905 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
20906 Set 'number'.
20907 (sun_partition_map_probe): Remove.
20908 (sun_partition_map_get_name): Likewise.
20909 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
20910 (grub_pcpart_type): Likewise.
20911 * util/hostdisk.c (open_device): Handle new numbering scheme.
20912 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
20913 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
20914 * util/grub-probe.c (probe_partmap): Handle nested paritions.
20915 * util/grub-install.in: Insert all subpartition modules.
20916 * util/ieee1275/grub-install.in: Likewise.
20917
20918 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
20919
20920 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
20921 grammar.
20922
20923 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
20924
20925 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
20926
20927 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
20928
20929 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
20930 match where 'make install' puts them.
20931 * util/i386/efi/grub-install.in: Likewise.
20932
20933 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
20934
20935 * .bzrignore: Add gentrigtables, grub-script-check,
20936 grub_script_check_init.c, grub_script_check_init.h, and
20937 trigtables.c.
20938
20939 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
20940
20941 * kern/parser.c: Indented.
20942
20943 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
20944
20945 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
20946
20947 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
20948
20949 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
20950 alpha_mask_size == 0 case.
20951
20952 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
20953
20954 GRUB shell lexer and parser improvements.
20955
20956 * conf/any-emu.rmk: Build rule updates.
20957 * conf/common.rmk: Likewise.
20958 * conf/i386-coreboot.rmk: Likewise.
20959 * conf/i386-efi.rmk: Likewise.
20960 * conf/i386-ieee1275.rmk: Likewise.
20961 * conf/i386-pc.rmk: Likewise.
20962 * conf/powerpc-ieee1275.rmk: Likewise.
20963 * conf/x86_64-efi.rmk: Likewise.
20964
20965 * configure.ac: Configure check for flex.
20966
20967 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
20968 types.
20969 (grub_lexer_param): Struct member updates.
20970 (grub_parser_param): Likewise.
20971 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
20972 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
20973 (grub_script_lexer_init): Prototype update.
20974 (grub_script_lexer_record_start): Likewise.
20975 (grub_script_lexer_record_stop): Likewise.
20976 (grub_script_lexer_yywrap): New function prototype.
20977 (grub_script_lexer_fini): Likewise.
20978 (grub_script_execute_argument_to_string): Removed by...
20979 (grub_script_execute_argument_to_argv): ...better version.
20980
20981 * script/execute.c (ROUND_UPTO): New macro.
20982 (grub_script_execute_cmdline): Out of memory fixes.
20983 (grub_script_execute_menuentry): Likewise.
20984 (grub_script_execute_argument_to_string): Removed. Update all
20985 users by...
20986 (grub_script_execute_argument_to_argv): ...better version.
20987 * script/function.c (grub_script_function_create): Use
20988 grub_script_execute_argument_to_argv instead of
20989 grub_script_execute_argument_to_string.
20990
20991 * script/lexer.c (check_varstate): Removed.
20992 (check_textstate): Removed.
20993 (grub_script_lexer_record_start): Likewise.
20994 (grub_script_lexer_record_stop): Likewise.
20995 (recordchar): Replaced with...
20996 (grub_script_lexer_record): ...new function.
20997 (nextchar): Removed.
20998 (grub_script_lexer_init): Rewritten.
20999 (grub_script_yylex): Rewritten.
21000 (append_newline): New function.
21001 (grub_script_lexer_yywrap): New function.
21002 (grub_script_lexer_fini): New function.
21003 (grub_script_yyerror): Sets error flag.
21004
21005 * script/yylex.l: New file.
21006 (grub_lexer_yyfree): Wrapper for flex yyffre.
21007 (grub_lexer_yyalloc): Likewise.
21008 (grub_lexer_yyrealloc): Likewise.
21009 * script/parser.y: Refactored.
21010
21011 * script/script.c (grub_script_arg_add): Out of memory fixes.
21012 (grub_script_add_arglist): Likewise.
21013 (grub_script_create_cmdline): Likewise.
21014 (grub_script_create_cmdmenu): Likewise.
21015 (grub_script_add_cmd): Likewise.
21016 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
21017 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
21018 unnecessary code.
21019
21020 * tests/grub_script_echo1.in: New testcase.
21021 * tests/grub_script_vars1.in: New testcase.
21022 * tests/grub_script_echo_keywords.in: New testcase.
21023
21024 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21025
21026 Remove some redundancy in build system.
21027
21028 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
21029 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
21030 (TARGET_LDFLAGS): Add -nostdlib.
21031 (TARGET_IMG_LDFLAGS): Likewise.
21032 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
21033 anything since mmap isn't available.
21034 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
21035 Add util/time.c.
21036 (pkglib_MODULES): Remove reboot.mod.
21037 (reboot_mod_SOURCES): Removed.
21038 (reboot_mod_CFLAGS): Likewise.
21039 (reboot_mod_LDFLAGS): Likewise.
21040 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
21041 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
21042 (DEFSYMFILES): Add kernel_syms.lst.
21043 (kernel_img_HEADERS): Add common headers.
21044 (symlist.c): New target.
21045 (kernel_syms.lst): Likewise.
21046 (pkglib_MODULES): Add memdisk.mod.
21047 (memdisk_mod_SOURCES): New variable.
21048 (memdisk_mod_CFLAGS): Likewise.
21049 (memdisk_mod_LDFLAGS): Likewise.
21050 (pkglib_MODULES): Add reboot.mod.
21051 (reboot_mod_SOURCES): New variable.
21052 (reboot_mod_CFLAGS): Likewise.
21053 (reboot_mod_LDFLAGS): Likewise.
21054 (pkglib_MODULES): Add date.mod.
21055 (date_mod_SOURCES): New variable.
21056 (date_mod_CFLAGS): Likewise.
21057 (date_mod_LDFLAGS): Likewise.
21058 (pkglib_MODULES): Add datehook.mod.
21059 (datehook_mod_SOURCES): New variable.
21060 (datehook_mod_CFLAGS): Likewise.
21061 (datehook_mod_LDFLAGS): Likewise.
21062 (pkglib_MODULES): Add lsmmap.mod.
21063 (lsmmap_mod_SOURCES): New variable.
21064 (lsmmap_mod_CFLAGS): Likewise.
21065 (lsmmap_mod_LDFLAGS): Likewise.
21066 (pkglib_MODULES): Add boot.mod.
21067 (boot_mod_SOURCES): New variable.
21068 (boot_mod_CFLAGS): Likewise.
21069 (boot_mod_LDFLAGS): Likewise.
21070 * conf/i386-coreboot.rmk: Removed redundant parts.
21071 * conf/i386-ieee1275.rmk: Likewise.
21072 * conf/i386-pc.rmk: Likewise.
21073 * conf/mips-yeeloong.rmk: Likewise.
21074 * conf/mips.rmk: Likewise.
21075 * conf/powerpc-ieee1275.rmk: Likewise.
21076 * conf/sparc64-ieee1275.rmk: Likewise.
21077 * conf/x86_64-efi.rmk: Likewise.
21078 * conf/i386-coreboot.rmk: Moved qemu parts ..
21079 * conf/i386-qemu.rmk: ... here
21080 * conf/i386-efi.rmk: Moved common parts to...
21081 * conf/x86-efi.rmk: ... here.
21082 * conf/i386.rmk: Added modules common to all x86 variants.
21083 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
21084 * disk/memdisk.c: Remove grub/machine/kernel.h.
21085 * gensymlist.sh.in: Include symbol.h.
21086 * hook/datehook.c: Correct module name.
21087 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
21088 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
21089 * include/grub/i386/efi/serial.h: New file.
21090 * include/grub/x86_64/efi/serial.h: Likewise.
21091 * util/time.c: Likewise.
21092 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
21093
21094 2010-03-14 Colin King <colin.king@ubuntu.com>
21095 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
21096
21097 Shrink the pre-partition-table part of boot.img by eight bytes.
21098
21099 * boot/i386/pc/boot.S (ERR): New macro.
21100 (chs_mode): Use ERR.
21101 (geometry_error): Likewise.
21102 (hd_probe_error): Remove. This is only used once, so we wrwite
21103 it inline instead.
21104 (read_error): Instead of printing read_error_string, just set up
21105 %si and fall through to ...
21106 (error_message): ... this new function, also used by ERR.
21107
21108 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
21109
21110 Speed up consecutive hostdisk operations on the same device.
21111
21112 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
21113 (grub_util_biosdisk_open): Initialise disk->data.
21114 (struct linux_partition_cache): New structure.
21115 (linux_find_partition): Cache partition start positions; these are
21116 expensive to compute on every read and write.
21117 (open_device): Cache open file descriptor in disk->data, so that we
21118 don't have to reopen it and flush the buffer cache for consecutive
21119 operations on the same device.
21120 (grub_util_biosdisk_close): New function.
21121 (grub_util_biosdisk_dev): Set `close' member.
21122
21123 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
21124 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
21125 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
21126 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
21127 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
21128
21129 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21130
21131 Compile parts of grub-emu as modules.
21132
21133 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
21134 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
21135 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
21136 (all-local): Add $(GRUB_EMU).
21137 (install-local): Install $(GRUB_EMU).
21138 (uninstall): Uninstall $(GRUB_EMU).
21139 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
21140 * kern/dl.c: Likewise.
21141 * commands/sleep.c: Not include machine/time.h.
21142 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
21143 (COMMON_CFLAGS): Likewise.
21144 (sbin_UTILITIES): Remove grub-emu.
21145 (grub_emu_SOURCES): Removed.
21146 (kernel_img_RELOCATABLE): New variable.
21147 (pkglib_PROGRAMS): Add kernel.img.
21148 (kernel_img_SOURCES): New variable
21149 (kernel_img_CFLAGS): Likewise.
21150 (kernel_img_LDFLAGS): Likewise.
21151 (TARGET_NO_STRIP): Likewise.
21152 (TARGET_NO_DYNAMIC_MODULES): Likewise.
21153 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
21154 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
21155 (grub-emu): New target.
21156 (GRUB_EMU): New variable.
21157 * configure.ac: Whitelist -emu as possible x86_64 architecture.
21158 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
21159 * loader/xnu.c: Likewise.
21160 * include/grub/pci.h: Likewise.
21161 * genemuinit.sh: New file.
21162 * genemuinitheader.sh: Likewise.
21163 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
21164 Support TARGET_NO_DYNAMIC_MODULES.
21165 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
21166 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
21167 * disk/loopback.c: Likewise.
21168 * font/font_cmd.c: Likewise.
21169 * partmap/acorn.c: Likewise.
21170 * partmap/amiga.c: Likewise.
21171 * partmap/apple.c: Likewise.
21172 * partmap/gpt.c: Likewise.
21173 * partmap/msdos.c: Likewise.
21174 * partmap/sun.c: Likewise.
21175 * parttool/msdospart.c: Likewise.
21176 * term/gfxterm.c: Likewise.
21177 * video/bitmap.c: Likewise.
21178 * video/readers/jpeg.c: Likewise.
21179 * video/readers/png.c: Likewise.
21180 * video/readers/tga.c: Likewise.
21181 * video/video.c: Likewise.
21182 * util/grub-emu.c (read_command_list): Removed.
21183 (main): Don't call util_init_nls.
21184 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
21185 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
21186
21187 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21188
21189 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
21190 date.mod, datehook.mod.
21191 (datetime_mod_SOURCES): New variable.
21192 (datetime_mod_CFLAGS): Likewise.
21193 (datetime_mod_LDFLAGS): Likewise.
21194 (date_mod_SOURCES): Likewise.
21195 (date_mod_CFLAGS): Likewise.
21196 (date_mod_LDFLAGS): Likewise.
21197 (datehook_mod_SOURCES): Likewise.
21198 (datehook_mod_CFLAGS): Likewise.
21199 (datehook_mod_LDFLAGS): Likewise.
21200 * conf/sparc64-ieee1275.rmk: Likewise.
21201 * lib/ieee1275/datetime.c: New file.
21202
21203 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21204
21205 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
21206 (ieee1275_fb_mod_SOURCES): New variable.
21207 (ieee1275_fb_mod_CFLAGS): Likewise.
21208 (ieee1275_fb_mod_LDFLAGS): Likewise.
21209 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
21210 New proto.
21211 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
21212 (HEAP_MAX_ADDR): Likewise.
21213 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
21214 type.
21215 Correct stop condition.
21216 (grub_ieee1275_devices_iterate): New function.
21217 * video/ieee1275.c: New file.
21218
21219 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21220
21221 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
21222
21223 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
21224 as scratch.
21225 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
21226 SCRATCH_PAD_DISKBOOT as scratch.
21227 (bootit): Pass Openfirmware pointer in %o4.
21228 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
21229 of 0x200000.
21230 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
21231 with util/grub-mkrawimage.c.
21232 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
21233 * include/grub/aout.h (AOUT_MID_SUN): New definition.
21234 (grub_aout_get_type) [GRUB_UTIL]: Removed.
21235 (grub_aout_load) [GRUB_UTIL]: Likewise.
21236 * include/grub/kernel.h (grub_modules_get_end): New proto.
21237 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
21238 (SCRATCH_PAD_BOOT): New definition.
21239 (SCRATCH_PAD_DISKBOOT): Likewise.
21240 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
21241 * include/grub/sparc64/ieee1275/ieee1275.h
21242 (grub_ieee1275_original_stack): New variable
21243 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
21244 New definition
21245 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
21246 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
21247 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
21248 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
21249 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
21250 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
21251 (grub_platform_image_format_t): New type.
21252 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
21253 * kern/main.c (grub_modules_get_end)
21254 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
21255 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
21256 (codestart): Switch stacks.
21257 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
21258 variable.
21259 (grub_heap_init): Use grub_modules_get_end.
21260 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
21261 stack.
21262 * util/grub-mkrawimage.c (generate_image): Support sparc64.
21263 (main): Likewise.
21264 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
21265
21266 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
21267
21268 * util/grub-mkrescue.in: Base ISO UUID on UTC.
21269
21270 2010-03-08 Matt Kraai <kraai@ftbfs.org>
21271
21272 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
21273 bug #559005).
21274
21275 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
21276
21277 * genmoddep.awk: Output all missing symbols and not only first.
21278
21279 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21280
21281 * NEWS: Put the date of 1.98 release.
21282
21283 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21284
21285 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
21286 ft2build.h.
21287
21288 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21289
21290 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
21291 completition in the middle of string.
21292
21293 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21294
21295 * util/grub-mkrescue.in: Use mktemp with explicit template.
21296
21297 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21298
21299 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
21300
21301 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21302
21303 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
21304 right pointer.
21305
21306 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
21307
21308 Fix FreeBSD compilation.
21309
21310 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
21311 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
21312
21313 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
21314
21315 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
21316
21317 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21318
21319 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
21320
21321 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21322
21323 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
21324
21325 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
21326
21327 Support relative image path in theme file.
21328
21329 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
21330 (image_set_property): Handle theme_dir and relative path.
21331
21332 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21333
21334 * configure.ac: Alias amd64 to x86_64.
21335
21336 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21337
21338 * NEWS: mention multiboot on EFI.
21339
21340 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21341
21342 * kern/main.c (grub_load_modules): Handle errors from init functions of
21343 embeded modules.
21344
21345 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21346
21347 * normal/autofs.c (autoload_fs_module): Handle errors.
21348
21349 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21350
21351 Disable linux.mod on qemu-mips since it's not functional and leads
21352 to compilation failure.
21353
21354 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
21355 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
21356 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
21357 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
21358 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
21359 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
21360 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
21361 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
21362 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
21363 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
21364 Reported by: BVK Chaitanya
21365
21366 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
21367
21368 * INSTALL: Add gettext as a dependency and add qemu to a new section
21369 "Prerequisites for make-check".
21370
21371 2010-03-04 Christian Franke <franke@computer.org>
21372
21373 * util/grub-pe2elf.c: Add missing include "progname.h".
21374
21375 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21376
21377 * normal/crypto.c (read_crypto_list): Fix a typo.
21378 Reported by: Seth Goldberg.
21379
21380 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21381
21382 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
21383 Reported by: Seth Goldberg.
21384
21385 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21386
21387 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
21388 ascii.bitmaps.
21389
21390 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21391
21392 * genmk.rb: Remove terminal*.lst in make clean.
21393 Reported by: Seth Goldberg.
21394
21395 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21396
21397 * util/i386/efi/grub-install.in: Copy gettext files.
21398
21399 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21400
21401 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
21402
21403 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21404
21405 Wait for user entry basing on presence of output rather than on errors.
21406
21407 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
21408 (grub_install_newline_hook): Likewise.
21409 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
21410 * normal/menu.c (show_menu): Check line_counter to determine presence
21411 of output.
21412 * normal/term.c (grub_normal_line_counter): New variable.
21413 (grub_normal_get_line_counter): New function.
21414 (grub_install_newline_hook): Likewise.
21415
21416 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21417
21418 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
21419
21420 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21421
21422 * configure.ac: Update version to 1.98.
21423
21424 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
21425
21426 * util/grub.d/10_linux.in (linux_entry): Don't default to
21427 gfxpayload=keep if Linux doesn't support video handover.
21428
21429 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
21430
21431 Don't compile video modules on yeeloong since video subsystem is part
21432 of kernel.
21433
21434 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
21435 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
21436 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
21437 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
21438 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
21439 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
21440 * include/grub/bitmap_scale.h: Likewise.
21441 * include/grub/bufio.h: Likewise.
21442 * include/grub/font.h: Likewise.
21443 * include/grub/gfxterm.h: Likewise.
21444 * include/grub/video.h: Likewise.
21445 * include/grub/vbe.h: Don't include video_fb.h.
21446 * video/i386/pc/vbe.c: Include video_fb.h.
21447 * commands/i386/pc/vbetest.c: Include video.h.
21448
21449 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
21450
21451 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
21452 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
21453 default entry if GRUB_SAVEDEFAULT=true. This allows using
21454 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
21455 saving a new default on every boot.
21456
21457 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
21458
21459 * normal/crypto.c (read_crypto_list): Fix a memory leak.
21460 * normal/term.c (read_terminal_list): Likewise.
21461 * normal/main.c (grub_normal_init_page): Likewise.
21462 (grub_normal_read_line_real): Likewise.
21463
21464 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
21465
21466 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
21467 memory leak.
21468 Reported by: Seth Goldberg.
21469
21470 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
21471
21472 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
21473 duplicate declaration of `start'.
21474
21475 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
21476
21477 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
21478 filename.
21479 Reported by: Georgy Buranov
21480
21481 2010-02-20 Carles Pina i Estany <carles@pina.cat>
21482
21483 * util/grub-mkrawimage.c (usage): Change string formatting to
21484 improve gettext.
21485
21486 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
21487
21488 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
21489 backspace keys.
21490
21491 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
21492
21493 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
21494 Reported by: Michael Suchanek.
21495
21496 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
21497
21498 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
21499 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
21500
21501 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
21502
21503 Remove any reference to non-free fonts.
21504
21505 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
21506 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
21507 uses non-free components.
21508 * font/font.c (grub_font_get_name): Remove example name.
21509 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
21510 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
21511 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
21512 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
21513
21514 2010-02-16 Georgy Buranov <gburanov@gmail.com>
21515
21516 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
21517
21518 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
21519
21520 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
21521 Double divisor.
21522 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
21523 features.
21524 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
21525
21526 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
21527
21528 * gensymlist.sh.in: Use TARGET_CC instead of CC.
21529
21530 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
21531
21532 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
21533 * docs/grub.texi (Command-line and menu entry commands): Document play
21534 command.
21535
21536 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
21537
21538 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
21539 parse arguments as inline tempo and notes. Move code for playing notes
21540 to...
21541 (play): ... new function.
21542
21543 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
21544
21545 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
21546 grub_uint16_t instead of short.
21547 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
21548 disk from little endian to cpu endianness.
21549
21550 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
21551
21552 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
21553 GRUB_TICKS_PER_SECOND instead of 120.
21554
21555 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21556
21557 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
21558 escape sequence after \e.
21559
21560 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21561
21562 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
21563 non-ASCII characters.
21564
21565 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21566
21567 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
21568 set root in single quotes to prevent \, from being unescaped.
21569
21570 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21571
21572 Prevent unknown commands from stopping menuentry execution.
21573
21574 * script/execute.c (grub_script_execute_cmdline): Print error after
21575 unknown command.
21576
21577 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21578
21579 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
21580 Reported by: Pavel Pisa.
21581
21582 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21583
21584 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
21585
21586 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21587
21588 Merge grub_ieee1275_map_physical into grub_map and rename to
21589 grub_ieee1275_map
21590
21591 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
21592 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
21593 Remove.
21594 * kern/ieee1275/openfw.c (grub_map): Rename to ...
21595 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
21596 necessary.
21597 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
21598
21599 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21600
21601 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
21602 opening and not after.
21603
21604 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21605
21606 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
21607 constants.
21608
21609 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21610
21611 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
21612 (alloc_phys): Use ALIGN_UP instead of align_addr.
21613
21614 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21615
21616 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
21617
21618 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21619
21620 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
21621
21622 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21623
21624 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
21625 verbose dprintf.
21626
21627 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21628
21629 Fix over-4GiB seek on sparc64.
21630
21631 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
21632 Replace pos_i and pos_lo with pos. All users updated.
21633 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
21634 New constant.
21635 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
21636 Likewise.
21637 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
21638 and pos_lo.
21639
21640 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21641
21642 * util/grub-mkrawimage.c (main): Call set_program_name.
21643
21644 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21645
21646 Properly align 64-bit targets.
21647
21648 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
21649 (generate_image): Use ALIGN_ADDR.
21650
21651 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21652
21653 Properly create cross-endian images.
21654
21655 * include/grub/types.h (grub_host_to_target_addr): New macro
21656 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
21657
21658 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21659
21660 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
21661
21662 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
21663
21664 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
21665
21666 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
21667 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
21668 (grub_linux_boot): Divide by 64K when on VESA.
21669
21670 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
21671
21672 Support GRUB_GFXPAYLOAD_LINUX.
21673
21674 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
21675 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
21676
21677 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
21678
21679 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
21680 to show messages instead of discarding them.
21681 Process errors after executing command and not before. Keep old method
21682 too as precaution.
21683
21684 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
21685
21686 * configure.ac: Check for ft2build.h.
21687
21688 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21689
21690 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
21691
21692 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21693
21694 * genkernsyms.sh.in: Use TARGET_CC.
21695
21696 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
21697
21698 * NEWS: Update.
21699
21700 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21701
21702 * include/grub/multiboot2.h: Remove leftover file.
21703 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
21704 * include/grub/partition.h [GRUB_UTIL]: Likewise.
21705
21706 2010-02-07 Yves Blusseau <blusseau@zetam.org>
21707
21708 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
21709
21710 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21711
21712 Fix warnings in grub-emu when compiling with maximum warning options.
21713
21714 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
21715 (grub_arch_modules_addr): Return 0 and not NULL.
21716 * util/misc.c (ENABLE_RELOCATABLE): New definition.
21717 (xstrdup): Use newstr instead of dup.
21718 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
21719 of disk to dsk to avoid shadowing.
21720 (find_free_slot): Fix prototype.
21721 * util/getroot.c (grub_util_is_dmraid): Make static.
21722 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
21723 Add missing prototype.
21724 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
21725
21726 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21727
21728 * loader/i386/linux.c (grub_linux_setup_video): Handle error
21729 appropriately.
21730
21731 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21732
21733 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
21734 code out.
21735
21736 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21737
21738 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
21739 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
21740 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
21741 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
21742 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
21743 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
21744
21745 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21746
21747 * include/grub/err.h (grub_err_printf): Don't export.
21748
21749 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21750
21751 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
21752
21753 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21754
21755 * include/grub/i18n.h (grub_gettext_dummy): Removed.
21756 * kern/misc.c (grub_gettext_dummy): Make static.
21757
21758 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21759
21760 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
21761 by non-valid ones.
21762 * kern/term.c (grub_putchar): Likewise.
21763
21764 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21765
21766 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
21767 buggy hook call and memory leak.
21768
21769 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21770
21771 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
21772
21773 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21774
21775 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
21776
21777 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21778
21779 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
21780 modevar.
21781 Return grub_errno on allocation error.
21782
21783 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21784
21785 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
21786
21787 2010-02-06 Yves Blusseau <blusseau@zetam.org>
21788
21789 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
21790 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
21791
21792 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21793
21794 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
21795 non-pxe disk.
21796 (grub_pxefs_open): Likewise.
21797
21798 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
21799
21800 * util/grub.d/10_hurd.in: Add --class information to menuentries.
21801 * util/grub.d/10_kfreebsd.in: Likewise.
21802 * util/grub.d/10_linux.in: Likewise.
21803
21804 2010-02-06 Colin D Bennett <colin@gibibit.com>
21805
21806 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
21807 (gfxmenu_mod_SOURCES): New variable.
21808 (gfxmenu_mod_CFLAGS): Likewise.
21809 (gfxmenu_mod_LDFLAGS): Likewise.
21810 * include/grub/term.h (grub_term_set_current_output): Declare
21811 argument as const.
21812 * docs/gfxmenu-theme-example.txt: New file.
21813 * gfxmenu/gfxmenu.c: Likewise.
21814 * gfxmenu/gui_box.c: Likewise.
21815 * gfxmenu/gui_canvas.c: Likewise.
21816 * gfxmenu/gui_circular_progress.c: Likewise.
21817 * gfxmenu/gui_image.c: Likewise.
21818 * gfxmenu/gui_label.c: Likewise.
21819 * gfxmenu/gui_list.c: Likewise.
21820 * gfxmenu/gui_progress_bar.c: Likewise.
21821 * gfxmenu/gui_string_util.c: Likewise.
21822 * gfxmenu/gui_util.c: Likewise.
21823 * gfxmenu/icon_manager.c: Likewise.
21824 * gfxmenu/model.c: Likewise.
21825 * gfxmenu/named_colors.c: Likewise.
21826 * gfxmenu/theme_loader.c: Likewise.
21827 * gfxmenu/view.c: Likewise.
21828 * gfxmenu/widget-box.c: Likewise.
21829 * include/grub/gfxmenu_model.h: Likewise.
21830 * include/grub/gfxmenu_view.h: Likewise.
21831 * include/grub/gfxwidgets.h: Likewise.
21832 * include/grub/gui.h: Likewise.
21833 * include/grub/gui_string_util.h: Likewise.
21834 * include/grub/icon_manager.h: Likewise.
21835
21836 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21837
21838 Agglomerate scrolling in gfxterm.
21839
21840 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
21841 (grub_virtual_screen_setup): Initialise 'total_screen'.
21842 (write_char): Split to ...
21843 (paint_char): ... this ...
21844 (write_char): ... and this.
21845 (paint_char): Handle delayed scrolling.
21846 (draw_cursor): Likewise.
21847 (scroll_up): Split to ...
21848 (real_scroll): ... this ...
21849 (scroll_up): ... and this.
21850 (real_scroll): Handle multi-line scroll and draw below-the-bottom
21851 characters.
21852 (grub_gfxterm_refresh): Call real_scroll.
21853
21854 2010-02-06 Colin D Bennett <colin@gibibit.com>
21855
21856 * include/grub/misc.h (grub_iscntrl): New inline function.
21857 (grub_isalnum): Likewise.
21858 (grub_strtol): Likewise.
21859
21860 2010-02-06 Colin D Bennett <colin@gibibit.com>
21861
21862 * normal/menu_text.c (get_entry_number): Move from here ...
21863 * normal/menu.c (get_entry_number): ... moved here.
21864 * include/grub/menu.h (grub_menu_get_default_entry_index):
21865 New prototype.
21866 * normal/menu.c (grub_menu_get_default_entry_index): New function.
21867 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
21868 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
21869 (grub_menu_viewer_should_return): Likewise.
21870 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
21871 * normal/menu_text.c (run_menu): Enable menu switching.
21872 * normal/menu_viewer.c (should_return): New variable.
21873 (menu_viewer_changed): Likewise.
21874 (grub_menu_viewer_show_menu): Handle menu viewer changes.
21875 (grub_menu_viewer_should_return): New function.
21876 (menuviewer_write_hook): Likewise.
21877 (grub_menu_viewer_init): Likewise.
21878
21879 2010-02-06 Colin D Bennet <colin@gibibit.com>
21880 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21881
21882 Support for gfxterm in a window.
21883
21884 * include/grub/gfxterm.h: New file.
21885 * include/grub/video.h (struct grub_video_rect): New declaration.
21886 (grub_video_rect_t): Likewise.
21887 * term/gfxterm.c (struct grub_gfxterm_window): New type.
21888 (refcount): New variable.
21889 (render_target): Likewise.
21890 (window): Likewise.
21891 (repaint_callback): Likewise.
21892 (grub_virtual_screen_setup): Use 'render_target'.
21893 (init_window): New function.
21894 (grub_gfxterm_init_window): Likewise.
21895 (grub_gfxterm_init): Check reference counter.
21896 Use init_window.
21897 (destroy_window): New function.
21898 (grub_gfxterm_destroy_window): Likewise.
21899 (grub_gfxterm_fini): Check reference counter.
21900 Use destroy_window.
21901 (redraw_screen_rect): Restore viewport.
21902 Use 'render_target' and 'window'.
21903 Call 'repaint_callback'.
21904 (write_char): Use 'render_target'.
21905 (draw_cursor): Likewise.
21906 (scroll_up): Restore viewport.
21907 Use 'render_target' and 'window'.
21908 Call 'repaint_callback'.
21909 (grub_gfxterm_cls): Likewise.
21910 (grub_gfxterm_refresh): Use 'window'.
21911 (grub_gfxterm_set_repaint_callback): New function.
21912 (grub_gfxterm_background_image_cmd): Use 'window'.
21913 (grub_gfxterm_get_term): New function.
21914 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
21915
21916 2010-02-06 Colin D Bennett <colin@gibibit.com>
21917
21918 Bitmap scaling support.
21919
21920 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
21921 (bitmap_scale_mod_SOURCES): New variable.
21922 (bitmap_scale_mod_CFLAGS): Likewise.
21923 (bitmap_scale_mod_LDFLAGS): Likewise.
21924 * include/grub/bitmap_scale.h: New file.
21925 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
21926 (background_image_cmd_options): New variable.
21927 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
21928 (cmd): Rename and change type to ...
21929 (background_image_cmd_handle): ... this. All users updated.
21930 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
21931 * video/bitmap_scale.c: New file.
21932
21933 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21934
21935 SDL support.
21936
21937 * Makefile.in (LIBSDL): New variable.
21938 (enable_grub_emu_sdl): Likewise.
21939 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
21940 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
21941 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
21942 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
21943 * util/sdl.c: New file.
21944
21945 2010-02-06 Colin D Bennett <colin@gibibit.com>
21946 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21947
21948 Double buffering support.
21949
21950 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
21951 * include/grub/video.h: Update comment.
21952 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
21953 New type.
21954 (grub_video_fb_doublebuf_blit_init): New prototype.
21955 * term/gfxterm.c (scroll_up): Support double buffering.
21956 (grub_gfxterm_refresh): Likewise.
21957 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
21958 (grub_video_fb_doublebuf_blit_init): Likewise.
21959 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
21960 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
21961 'displayed_page', 'render_page' and 'update_screen'.
21962 (grub_video_vbe_fini): Free offscreen buffer.
21963 (doublebuf_pageflipping_commit): New function.
21964 (doublebuf_pageflipping_update_screen): Likewise.
21965 (doublebuf_pageflipping_init): Likewise.
21966 (double_buffering_init): Likewise.
21967 (grub_video_vbe_setup): Enable doublebuffering.
21968 (grub_video_vbe_swap_buffers): Implement.
21969 (grub_video_vbe_set_active_render_target): Handle double buffering.
21970 (grub_video_vbe_get_active_render_target): Likewise.
21971 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
21972 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
21973 (grub_video_vbe_enable_double_buffering): Likewise.
21974 (grub_video_vbe_swap_buffers): Use update_screen.
21975 (grub_video_set_mode): Use double buffering.
21976
21977 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
21978
21979 * maintainance/gentrigtables.py: Remove.
21980 * lib/trig.c: Likewise.
21981
21982 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
21983
21984 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
21985 `trigtables.c'.
21986 (trigtables.c): New rule.
21987 (gentrigtables): Likewise.
21988 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
21989
21990 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
21991
21992 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
21993 integer constants.
21994
21995 2010-02-06 Colin D Bennet <colin@gibibit.com>
21996
21997 Trigonometry support.
21998
21999 * include/grub/trig.h: New file.
22000 * lib/trig.c: Likewise.
22001 * maintainance/gentrigtables.py: Likewise.
22002 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
22003 (trig_mod_SOURCES): New variable.
22004 (trig_mod_CFLAGS): Likewise.
22005 (trig_mod_LDFLAGS): Likewise.
22006
22007 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22008
22009 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
22010 disk devices.
22011
22012 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22013
22014 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
22015 error.
22016
22017 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
22018
22019 * util/hostdisk.c (open_device): Don't use partition device when reading
22020 before the partition.
22021 (grub_util_biosdisk_read): Don't read from partition and before the
22022 partition in single operation.
22023 (grub_util_biosdisk_write): Don't write to partition and before the
22024 partition in single operation.
22025
22026 2010-02-03 Torsten Landschoff <torsten@debian.org>
22027
22028 * kern/disk.c (grub_disk_read): Fix offset computation when reading
22029 last sectors.
22030
22031 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
22032
22033 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
22034 CDROM reads.
22035 (grub_biosdisk_write): Refuse to write to CDROM.
22036
22037 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
22038
22039 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
22040
22041 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
22042
22043 * font/font.c (find_glyph): Check that bmp_idx is available before
22044 using it.
22045 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
22046 with (font == NULL).
22047
22048 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
22049
22050 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
22051
22052 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
22053
22054 * include/grub/script_sh.h (sourcecode): Add const qualifier.
22055 * util/grub-script-check.c (getline): Fix empty lines case.
22056
22057 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
22058
22059 * Makefile.in (check): Exit with fail status when one of the tests
22060 fails.
22061 * tests/example_functional_test.c (example_test): Fix reversed assert.
22062 * tests/example_unit_test.c (example_test): Likewise.
22063
22064 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
22065
22066 * util/grub.d/10_linux.in: This script does not use any of the
22067 contents of gettext.sh, only the external command `gettext', so stop
22068 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
22069 the same prefix as GRUB.)
22070 * util/grub.d/10_kfreebsd.in: Likewise.
22071
22072 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
22073
22074 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
22075 of the line.
22076
22077 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
22078
22079 * kern/disk.c (grub_disk_read): Fix offset computation when reading
22080 last sectors.
22081
22082 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
22083
22084 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
22085 having a 4KiB and not 32KiB buffer size.
22086
22087 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22088
22089 * util/hostfs.c: Include `<errno.h>'.
22090 (grub_hostfs_read): Handle errors from fseeko() and fread().
22091
22092 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22093
22094 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
22095 loop when using read hooks on files whose size isn't sector-aligned.
22096
22097 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22098
22099 Remove unused parameter.
22100
22101 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
22102 (grub_iso9660_open): Remove initialization of `data->length'.
22103
22104 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22105
22106 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
22107 memleak conditions.
22108
22109 2010-01-27 Carles Pina i Estany <carles@pina.cat>
22110
22111 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
22112 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
22113
22114 2010-01-26 Carles Pina i Estany <carles@pina.cat>
22115
22116 * util/bin2h.c (usage): Fix warning (space after backslash).
22117
22118 2010-01-26 Carles Pina i Estany <carles@pina.cat>
22119
22120 * font/font.c: Include `grub/fontformat.h.
22121 Remove font file format constants.
22122 (grub_font_load): Use the new macros.
22123 * include/grub/fontformat.h: New file.
22124 * util/grub-mkfont.c: Include `grub/fontformat.c'.
22125 (write_font_pf2): Use the new macros.
22126
22127 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
22128
22129 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
22130 does.
22131
22132 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
22133
22134 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
22135
22136 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
22137 (_start): Macroify `0x7F'.
22138
22139 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
22140 (make_install_device): Use "(pxe)" as fallback prefix when booting
22141 via PXE.
22142
22143 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
22144
22145 * configure.ac: Reset LIBS after check for libgcc symbols.
22146
22147 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
22148
22149 * util/hostdisk.c (open_device): Add trailing newline to debug
22150 message.
22151
22152 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
22153
22154 * configure.ac: Check for `limits.h'.
22155 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
22156
22157 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
22158
22159 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
22160 capitalize error strings.
22161
22162 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
22163
22164 * util/grub.d/10_hurd.in: Add a recovery mode.
22165
22166 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
22167
22168 * configure.ac: Check for libgcc symbols with -nostdlib.
22169
22170 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
22171
22172 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
22173
22174 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
22175
22176 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
22177 stack since heap may be unavailable at that point.
22178 (grub_ofconsole_gotoxy): Likewise.
22179
22180 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
22181
22182 * configure.ac: Check for _restgpr_14_x.
22183 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
22184 and _savegpr_* prototypes.
22185
22186 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
22187
22188 Use generic grub_reboot() for i386-efi.
22189
22190 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
22191 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
22192 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
22193
22194 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
22195
22196 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
22197 presence of "prefix" variable as it breaks when normal.mod is
22198 embedded.
22199
22200 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
22201
22202 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
22203 stack since heap is unavailable at that point.
22204
22205 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
22206
22207 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
22208 (grub_freebsd_bootinfo): Rewritten.
22209 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
22210
22211 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
22212
22213 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
22214
22215 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
22216
22217 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
22218 domain now.
22219
22220 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
22221
22222 * util/misc.c (make_system_path_relative_to_its_root): Change the work
22223 around for handling "/" to the correct fix. Fix a memory leak. Use
22224 xstrdup instead of strdup.
22225
22226 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22227
22228 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
22229
22230 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22231
22232 Optimise glyph lookup by Basic Multilingual Plane lookup array.
22233
22234 * font/font.c (struct grub_font): New member 'bmp_idx'.
22235 (font_init): Initialise 'bmp_idx'.
22236 (load_font_index): Fill 'bmp_idx'.
22237 (find_glyph): Make inline. Use bmp_idx for BMP characters.
22238
22239 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22240
22241 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
22242 unnecessary calls.
22243
22244 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22245
22246 Move context handling out of the kernel.
22247
22248 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
22249 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
22250 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
22251 * conf/i386-efi.rmk: Likewise.
22252 * conf/i386-ieee1275.rmk: Likewise.
22253 * conf/i386-pc.rmk: Likewise.
22254 * conf/powerpc-ieee1275.rmk: Likewise.
22255 * conf/sparc64-ieee1275.rmk: Likewise.
22256 * conf/x86_64-efi.rmk: Likewise.
22257 * include/grub/env.h: Include grub/menu.h.
22258 (grub_env_var_type): Removed.
22259 (grub_env_var): Replaced field 'type' with 'global'.
22260 (grub_env_find): New prototype.
22261 (grub_env_context_open): Remove EXPORT_FUNC.
22262 (grub_env_context_close): Likewise.
22263 (grub_env_export): Likewise.
22264 (grub_env_set_data_slot): Removed.
22265 (grub_env_get_data_slot): Likewise.
22266 (grub_env_unset_data_slot): Likewise.
22267 (grub_env_unset_menu): New prototype.
22268 (grub_env_set_menu): Likewise.
22269 (grub_env_get_menu): Likewise.
22270 * include/grub/env_private.h: New file.
22271 * include/grub/normal.h (grub_context_init): New prototype.
22272 (grub_context_fini): Likewise.
22273 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
22274 * normal/context.c (grub_cmd_export): ... to here.
22275 * kern/env.c: Include env_private.h.
22276 (HASHSZ): Moved to include/grub/env_private.h.
22277 (grub_env_context): Likewise.
22278 (grub_env_sorted_var): Likewise.
22279 (current_context): Renamed from this ...
22280 (grub_current_context): ...to this. 'static' removed. All users updated.
22281 (grub_env_find): Removed 'static'.
22282 (grub_env_context_open): Moved to normal/context.c.
22283 (grub_env_context_close): Likewise.
22284 (grub_env_export): Likewise.
22285 (mangle_data_slot_name): Removed.
22286 (grub_env_set_data_slot): Likewise.
22287 (grub_env_get_data_slot): Likewise.
22288 (grub_env_unset_data_slot): Likewise.
22289 * kern/main.c (grub_set_root_dev): Don't export root.
22290 It will be done later.
22291 (grub_main): Don't export prefix.
22292 It will be done later.
22293 * normal/context.c: New file.
22294 * normal/main.c (free_menu): Use grub_env_unset_menu.
22295 (grub_normal_add_menu_entry): Use grub_env_get_menu.
22296 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
22297 (GRUB_MOD_INIT(normal)): Call grub_context_init.
22298 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
22299
22300 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22301
22302 setpci support.
22303
22304 * commands/setpci.c: New file.
22305 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
22306 (setpci_mod_SOURCES): New variable.
22307 (setpci_mod_CFLAGS): Likewise.
22308 (setpci_mod_LDFLAGS): Likewise.
22309
22310 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22311
22312 Byte-addressable PCI configuration space.
22313
22314 * bus/pci.c (grub_pci_make_address): Use byte address instead of
22315 dword address.
22316 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
22317 GRUB_PCI_REG_CACHELINE.
22318 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
22319 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
22320 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
22321 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
22322 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
22323 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
22324 grub_pci_make_address.
22325 (lock_rom_area): Likewise.
22326 * commands/lspci.c (grub_lspci_iter): Use macroses
22327 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
22328 of grub_pci_make_address.
22329 * disk/ata.c (grub_ata_pciinit): Likewise.
22330 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
22331 (GRUB_PCI_REG_VENDOR): Likewise.
22332 (GRUB_PCI_REG_DEVICE): Likewise.
22333 (GRUB_PCI_REG_COMMAND): Likewise.
22334 (GRUB_PCI_REG_STATUS): Likewise.
22335 (GRUB_PCI_REG_REVISION): Likewise.
22336 (GRUB_PCI_REG_CLASS): Likewise.
22337 (GRUB_PCI_REG_CACHELINE): Likewise.
22338 (GRUB_PCI_REG_LAT_TIMER): Likewise.
22339 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
22340 (GRUB_PCI_REG_BIST): Likewise.
22341 (GRUB_PCI_REG_ADDRESSES): Likewise.
22342 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22343 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22344 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22345 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22346 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22347 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22348 (GRUB_PCI_REG_CIS_POINTER): Likewise.
22349 (GRUB_PCI_REG_SUBVENDOR): Likewise.
22350 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
22351 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
22352 (GRUB_PCI_REG_CAP_POINTER): Likewise.
22353 (GRUB_PCI_REG_IRQ_LINE): Likewise.
22354 (GRUB_PCI_REG_IRQ_PIN): Likewise.
22355 (GRUB_PCI_REG_MIN_GNT): Likewise.
22356 (GRUB_PCI_REG_MAX_LAT): Likewise.
22357 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
22358 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
22359 * video/efi_uga.c (find_framebuf): Likewise.
22360 * video/sm712.c (grub_video_sm712_setup): Likewise.
22361 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
22362 space.
22363
22364 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22365
22366 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
22367 can be reliably determined to be supported.
22368
22369 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22370
22371 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
22372 that VESA is supported.
22373 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
22374 supported.
22375
22376 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22377
22378 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
22379
22380 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22381
22382 * util/misc.c (make_system_path_relative_to_its_root): Work around
22383 special-casing of "/", as previous incarnation of this routine did.
22384
22385 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22386
22387 Fix any-emu compilation.
22388
22389 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
22390 * grub_bin2h_SOURCES: New variable.
22391
22392 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22393
22394 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
22395
22396 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22397
22398 * util/grub.d/00_header.in: Fix handling of locale_dir.
22399
22400 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22401
22402 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
22403 as possible unifont location (Gentoo).
22404 Reported by: Alexander Brüning
22405
22406 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22407
22408 Don't try to generate lists for kernel.img.
22409
22410 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
22411 (pkglib_MODULES): Remove kernel.img.
22412 (kernel_img_EXPORTS): Removed.
22413 (kernel_img_RELOCATABLE): New variable.
22414 * conf/x86_64-efi.rmk: Likewise.
22415 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
22416
22417 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22418
22419 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
22420 grub_xasprintf or grub_snprintf.
22421 (grub_vsprintf): Likewise.
22422 (grub_snprintf): New proto.
22423 (grub_vsnprintf): Likewise.
22424 (grub_xasprintf): Likewise.
22425 (grub_xvasprintf): Likewise.
22426 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
22427 (grub_sprintf): Removed.
22428 (grub_vsnprintf): New function.
22429 (grub_snprintf): Likewise.
22430 (grub_xvasprintf): Likewise.
22431 (grub_xasprintf): Likewise.
22432 (grub_vsprintf): Renamed to ...
22433 (grub_vsnprintf_real): ...this. New argument max_len.
22434
22435 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
22436
22437 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
22438 fix grub-script-check warning.
22439
22440 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22441
22442 * include/grub/font.h (grub_font_load): Fix prototype.
22443
22444 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22445
22446 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
22447
22448 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22449
22450 * include/grub/x86_64/at_keyboard.h: New file.
22451
22452 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22453
22454 * loader/mips/linux.c: Include missing grub/i18n.h.
22455
22456 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22457
22458 * normal/menu.c (notify_execution_failure): Clarify error message.
22459
22460 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22461
22462 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
22463 return value (and revert all return statements). Update users.
22464
22465 2010-01-20 Dan Merillat <debian@dan.merillat.org>
22466
22467 * kern/device.c (grub_device_iterate): Allocate new part_ent
22468 structure based on sizeof (*p) rather than sizeof (p->next), to
22469 account for structure padding.
22470
22471 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
22472 disk is NULL, which might happen for LVM physical volumes with no
22473 LVM signature.
22474
22475 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22476
22477 * loader/mips/linux.c (grub_cmd_initrd)
22478 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
22479
22480 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22481
22482 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
22483 (grub_video_video_init, grub_video_bitmap_init)
22484 (grub_font_manager_init, grub_term_gfxterm_init)
22485 (grub_at_keyboard_init): New extern declarations.
22486 (grub_machine_init): Initialize gfxterm and at_keyboard.
22487
22488 * kern/main.c (grub_main): Revert grub_printf delay kludge.
22489
22490 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
22491 `gfxterm.mod' into core image.
22492
22493 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
22494 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22495 (kernel_img_FORMAT): Copy to ...
22496
22497 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
22498 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22499 (kernel_img_FORMAT): ... here, and ...
22500
22501 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
22502 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22503 (kernel_img_FORMAT): ... here.
22504
22505 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
22506 and input (at_keyboard) terminals in kernel.
22507 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
22508
22509 (pkglib_MODULES): Remove `pci.mod'.
22510 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
22511 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
22512 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
22513 (at_keyboard_mod_LDFLAGS): Remove variables.
22514
22515 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
22516
22517 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
22518
22519 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
22520
22521 * include/grub/mips/libgcc.h: Only export symbols for functions
22522 that libgcc provides.
22523
22524 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
22525
22526 MIPS support.
22527
22528 * bus/bonito.c: New file.
22529 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
22530 GRUB_PCI_NUM_DEVICES.
22531 * term/i386/pc/serial.c: Move to ...
22532 * term/serial.c: ... here. All users updated.
22533 * util/i386/pc/grub-mkimage.c: Move to ...
22534 * util/grub-mkrawimage.c: ... here. All users updated.
22535 * term/i386/pc/at_keyboard.c: Move to ...
22536 * term/at_keyboard.c: ... here. All users updated.
22537 * conf/mips-qemu-mips.rmk: New file.
22538 * conf/mips-yeeloong.rmk: Likewise.
22539 * conf/mips.rmk: Likewise.
22540 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
22541 mipsel-qemu-mips.
22542 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
22543 to port addresses.
22544 (grub_ata_pciinit): Support CS5536.
22545 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
22546 * font/font_cmd.c (loadfont_command): Open file before passing it to
22547 grub_font_load.
22548 (pseudo_file_read): New function.
22549 (pseudo_file_close): Likewise.
22550 (pseudo_fs): New structure.
22551 (load_font_module): New function.
22552 (GRUB_MOD_INIT(font_manager)): Load embedded font.
22553 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
22554 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
22555 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
22556 * include/grub/i386/at_keyboard.h: Split into ...
22557 * include/grub/at_keyboard.h: ... this ...
22558 * include/grub/i386/at_keyboard.h: ... and this.
22559 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
22560 New prototype.
22561 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
22562 updated.
22563 (grub_elf64_size): Likewise.
22564 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
22565 filename.
22566 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
22567 * include/grub/i386/coreboot/serial.h: Rewritten.
22568 * include/grub/i386/ieee1275/serial.h: Include
22569 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
22570 * include/grub/i386/pc/serial.h: Moved from here ...
22571 * include/grub/serial.h: ... to here. All users updated.
22572 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
22573 (GRUB_PCI_NUM_BUS): Likewise.
22574 (GRUB_PCI_NUM_DEVICES): Likewise.
22575 (grub_pci_device_map_range): Add missing volatile keyword.
22576 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
22577 * include/grub/mips/at_keyboard.h: New file.
22578 * include/grub/mips/cache.h: Likewise.
22579 * include/grub/mips/io.h: Likewise.
22580 * include/grub/mips/kernel.h: Likewise.
22581 * include/grub/mips/libgcc.h: Likewise.
22582 * include/grub/mips/pci.h: Likewise.
22583 * include/grub/mips/qemu-mips/boot.h: Likewise.
22584 * include/grub/mips/qemu-mips/kernel.h: Likewise.
22585 * include/grub/mips/qemu-mips/loader.h: Likewise.
22586 * include/grub/mips/qemu-mips/memory.h: Likewise.
22587 * include/grub/mips/qemu-mips/serial.h: Likewise.
22588 * include/grub/mips/qemu-mips/time.h: Likewise.
22589 * include/grub/mips/relocator.h: Likewise.
22590 * include/grub/mips/time.h: Likewise.
22591 * include/grub/mips/types.h: Likewise.
22592 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
22593 * include/grub/mips/yeeloong/boot.h: Likewise.
22594 * include/grub/mips/yeeloong/kernel.h: Likewise.
22595 * include/grub/mips/yeeloong/loader.h: Likewise.
22596 * include/grub/mips/yeeloong/memory.h: Likewise.
22597 * include/grub/mips/yeeloong/pci.h: Likewise.
22598 * include/grub/mips/yeeloong/serial.h: Likewise.
22599 * include/grub/mips/yeeloong/time.h: Likewise.
22600 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
22601 * kern/elf.c (grub_elf32_size): New parameter. All users
22602 updated.
22603 (grub_elf64_size): Likewise.
22604 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
22605 Load modules before saying "Welcome to GRUB!".
22606 Call grub_refresh after saying "Welcome to GRUB!".
22607 * kern/mips/cache.S: New file.
22608 * kern/mips/cache_flush.S: Likewise.
22609 * kern/mips/dl.c: Likewise.
22610 * kern/mips/init.c: Likewise.
22611 * kern/mips/qemu-mips/init.c: Likewise.
22612 * kern/mips/startup.S: Likewise.
22613 * kern/mips/yeeloong/init.c: Likewise.
22614 * kern/term.c (grub_putcode): Handle NULL terminal.
22615 (grub_getcharwidth): Likewise.
22616 (grub_getkey): Likewise.
22617 (grub_checkkey): Likewise.
22618 (grub_getkeystatus): Likewise.
22619 (grub_getxy): Likewise.
22620 (grub_getwh): Likewise.
22621 (grub_gotoxy): Likewise.
22622 (grub_cls): Likewise.
22623 (grub_setcolorstate): Likewise.
22624 (grub_setcolor): Likewise.
22625 (grub_getcolor): Likewise.
22626 (grub_refresh): Likewise.
22627 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
22628 (write_jump): Add hatch nop.
22629 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
22630 * lib/mips/setjmp.S: New file.
22631 * loader/mips/linux.c: Likewise.
22632 * term/i386/pc/at_keyboard.c: Move from here ...
22633 * term/at_keyboard.c: ... to here.
22634 * term/i386/pc/serial.c: Moved from here ...
22635 * term/serial.c: ... to here. All users updated.
22636 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
22637 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
22638 (serial_translate_key_sequence): Avoid deadlock.
22639 (grub_serial_getkey): Handle backspace.
22640 (grub_serial_putchar): Fix newline handling.
22641 * util/i386/pc/grub-mkimage.c: Move from here ...
22642 * util/grub-mkrawimage.c: ... to here. All users updated.
22643 (generate_image): New parameters 'font_path' and 'format'.
22644 Support embedding font.
22645 Use grub_host_to_target* instead of grub_cpu_to_le*.
22646 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
22647 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
22648 (options): New option "--font".
22649 (usage): Likewise.
22650 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
22651 (main): Handle "--font".
22652 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
22653 (grub_virtual_screen_setup): Set bg_color_display.
22654 (redraw_screen_rect): Use bg_color_display instead of incorrect
22655 bg_color.
22656 (grub_gfxterm_cls): Likewise.
22657 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
22658 Support embedding config file.
22659 (add_segments): Likewise.
22660 (options): New option "--config".
22661 (main): Handle "--config".
22662 * video/sm712.c: New file.
22663
22664 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22665
22666 Fix parallel builds.
22667
22668 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
22669 font.c depend on ascii.h).
22670
22671 2010-01-12 Carles Pina i Estany <carles@pina.cat>
22672
22673 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
22674
22675 2010-01-11 Carles Pina i Estany <carles@pina.cat>
22676
22677 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
22678 By default: disabled.
22679 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
22680 parameter.
22681
22682 2010-01-10 Carles Pina i Estany <carles@pina.cat>
22683
22684 * font/font.c: Update copyright years.
22685 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
22686
22687 2010-01-10 Carles Pina i Estany <carles@pina.cat>
22688
22689 * font/font.c: Include `ascii.h'.
22690 (ASCII_BITMAP_SIZE): New macro.
22691 (ascii_font_glyph): Define.
22692 (ascii_glyph_lookup): New function.
22693 (grub_font_get_string_width): Change comment. If glyph not found, use
22694 ascii_glyph_lookup.
22695 (grub_font_get_glyph_with_fallback): If glyph not available returns
22696 ascii_glyph_lookup.
22697 * util/grub-mkfont.c (file_formats): New enum.
22698 (options): Add `ascii-bitmaps' new option.
22699 (usage): Add `asii-bitmaps' new option.
22700 (write_font_ascii_bitmap): New function.
22701 (write_font): Rename to ...
22702 (write_font_p2): ... this. Remove print_glyphs call.
22703 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
22704 used. Call print_glyphs.
22705 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
22706
22707 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
22708
22709 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
22710 (grub_bin2h_SOURCES): New variable.
22711 * util/bin2h.c: New file.
22712
22713 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22714
22715 * include/multiboot.h: Resynced with spec.
22716 * include/multiboot2.h: Likewise.
22717 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
22718 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
22719
22720 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22721
22722 * include/grub/term.h (grub_term_register_input,
22723 grub_term_register_output): Check return of terminal init()
22724 routines, and abort if errors are raised.
22725
22726 * commands/terminal.c: Update copyright year.
22727
22728 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22729
22730 * commands/terminal.c (grub_cmd_terminal_input)
22731 (grub_cmd_terminal_output): Check return of terminal init()
22732 routines, and abort if errors are raised.
22733
22734 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
22735
22736 * include/grub/i386/bsd.h: Fix include pathes.
22737
22738 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
22739
22740 Add missing *BSD copyright headers.
22741
22742 * include/grub/aout.h: Add BSD licence.
22743 * include/grub/i386/bsd.h: Parts under different licences moved to ...
22744 * include/grub/i386/freebsd_linker.h: ... here,
22745 * include/grub/i386/freebsd_reboot.h: ... here,
22746 * include/grub/i386/netbsd_bootinfo.h: ... here,
22747 * include/grub/i386/netbsd_reboot.h: ... here,
22748 * include/grub/i386/openbsd_bootarg.h: ... here,
22749 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
22750 licence to each file.
22751
22752 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22753
22754 * acinclude.m4: Remove `nop' assembly instruction; it's not
22755 implemented by all architectures.
22756
22757 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22758
22759 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
22760 ELILO. This is no longer necessary.
22761
22762 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
22763
22764 Added new tool, grub-scrit-check to verify grub.cfg syntax.
22765
22766 * util/grub-script-check.c: grub-script-check tool.
22767 * conf/common.rmk: Make rules for grub-script-check.
22768
22769 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22770
22771 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
22772 spotting it back in 2008. Shame on me for forgetting he did.
22773
22774 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
22775
22776 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22777
22778 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
22779 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
22780 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
22781 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
22782 (GRUB_VIDEO_TYPE_EFI): Rename to ...
22783 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
22784
22785 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
22786
22787 * include/grub/test.h: Add license header.
22788 * tests/example_functional_test.c: Likewise.
22789 * tests/example_unit_test.c: Likewise.
22790 * tests/lib/functional_test.c: Likewise.
22791 * tests/lib/test.c: Likewise.
22792 * tests/lib/unit_test.c: Likewise.
22793
22794 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
22795
22796 Use flag-based instead of hook-based video mode selection and "auto"
22797 keyword.
22798
22799 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
22800 (grub_video_set_mode): Changed prototype. All users updated.
22801 (grub_video_check_mode_flag): New inline function.
22802 * video/video.c (parse_modespec): New function.
22803 (grub_video_set_mode): Parse flags and keywords.
22804
22805 2010-01-17 Carles Pina i Estany <carles@pina.cat>
22806
22807 * util/misc.c (grub_util_info): Fix the order of the parameters in a
22808 fprintf call.
22809
22810 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
22811
22812 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
22813
22814 2010-01-16 Carles Pina i Estany <carles@pina.cat>
22815
22816 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
22817 string.
22818 * util/grub-emu.c (usage): Likewise.
22819 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
22820 * util/i386/efi/grub-mkimage.c (usage): Likewise.
22821 * util/i386/pc/grub-mkimage.c (usage): Likewise.
22822 * util/i386/pc/grub-setup.c (usage): Likewise.
22823
22824 2010-01-16 Carles Pina i Estany <carles@pina.cat>
22825
22826 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
22827 the message.
22828 (grub_util_info): Likewise.
22829 (grub_util_error): Likewise.
22830 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
22831 and/or new lines in `grub_util_warna', `grub_util_info',
22832 `grub_util_error' calls.
22833 * util/getroot.c: Likewise.
22834 * util/grub-editenv.c: Likewise.
22835 * util/grub-emu.c: Likewise.
22836 * util/grub-fstest.c: Likewise.
22837 * util/grub-mkdevicemap.c: Likewise.
22838 * util/grub-mkfont.c: Likewise.
22839 * util/grub-mkpasswd-pbkdf2.c: Likewise.
22840 * util/grub-mkrelpath.c: Likewise.
22841 * util/grub-pe2elf.c: Likewise.
22842 * util/grub-probe.c: Likewise.
22843 * util/hostdisk.c: Likewise.
22844 * util/i386/efi/grub-mkimage.c: Likewise.
22845 * util/i386/pc/grub-mkimage.c: Likewise.
22846 * util/i386/pc/grub-setup.c: Likewise.
22847 * util/ieee1275/ofpath.c: Likewise.
22848 * util/mkisofs/eltorito.c: Likewise.
22849 * util/mkisofs/rock.c: Likewise.
22850 * util/mkisofs/write.c: Likewise.
22851 * util/raid.c: Likewise.
22852 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
22853 * util/sparc64/ieee1275/grub-setup.c: Likewise.
22854
22855 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
22856
22857 Enable multiboot on non-pc.
22858
22859 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
22860 multiboot.mod and multiboot2.mod to ...
22861 * conf/i386.rmk (pkglib_MODULES): ... here.
22862 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
22863 Moved to ...
22864 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
22865 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
22866 Moved to ...
22867 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
22868 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
22869 Moved to ...
22870 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
22871 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
22872 Moved to ...
22873 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
22874 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
22875 relocator.mod.
22876 (ata_mod_SOURCES): Removed.
22877 (ata_mod_CFLAGS): Likewise.
22878 (ata_mod_LDFLAGS): Likewise.
22879 (relocator_mod_SOURCES): Removed.
22880 (relocator_mod_CFLAGS): Likewise.
22881 (relocator_mod_ASFLAGS): Likewise.
22882 (relocator_mod_LDFLAGS): Likewise.
22883 Include i386.mk.
22884 * include/grub/x86_64/multiboot.h: New file.
22885 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
22886 Terminate EFI.
22887
22888 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
22889
22890 Video multiboot support.
22891
22892 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
22893 New prototype.
22894 * include/multiboot.h: Resynced with multiboot specification.
22895 * include/multiboot2.h: Likewise.
22896 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
22897 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
22898 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
22899 (HAS_VGA_TEXT): Likewise.
22900 (accepts_video): New variable.
22901 (grub_multiboot_set_accepts_video): New function.
22902 (grub_multiboot_get_mbi_size): Account for video structures.
22903 (set_video_mode): New function.
22904 (retrieve_video_parameters): Likewise.
22905 (grub_multiboot_make_mbi): Fill video fields.
22906
22907 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
22908
22909 Video driver ids.
22910
22911 * include/grub/video.h (grub_video_driver_id): New type.
22912 (grub_video_adapter): New member 'id'. All users updated.
22913 (grub_video_get_driver_id): New proto.
22914 * video/video.c (grub_video_get_driver_id): New function.
22915
22916 2010-01-14 Carles Pina i Estany <carles@pina.cat>
22917
22918 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
22919 `var=val'.
22920
22921 2010-01-14 Carles Pina i Estany <carles@pina.cat>
22922
22923 * normal/cmdline.c (print_completion): Gettextizze.
22924
22925 2001-01-14 Carles Pina i Estany <carles@pina.cat>
22926
22927 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
22928
22929 2010-01-14 Carles Pina i Estany <carles@pina.cat>
22930
22931 * gettext/gettext.c (grub_gettext_translate): Push and pop
22932 grub_errno.
22933 (grub_gettext_delete_list): Change comment style.
22934 * kern/err.c (grub_error): Gettextizze.
22935 (grub_fatal): Gettextizze.
22936
22937 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
22938
22939 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
22940 (grub_linux16_real_boot): ... this.
22941 * kern/i386/loader.S: Likewise.
22942 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
22943 (grub_linux16_boot): New function. Switches to text mode and calls
22944 grub_linux16_real_boot().
22945
22946 * loader/i386/bsd.c: Include `<grub/video.h>'.
22947 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
22948 text mode before calling grub_unix_real_boot().
22949
22950 * loader/i386/multiboot.c: Include `<grub/video.h>'.
22951 (grub_multiboot_boot): Switch to text mode before calling
22952 grub_relocator32_boot().
22953
22954 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
22955 (grub_chainloader_boot): Switch to text mode before calling
22956 grub_chainloader_real_boot().
22957
22958 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
22959 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
22960
22961 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
22962 non-empty value.
22963
22964 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
22965 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
22966
22967 * util/grub.d/00_header.in: Define a "savedefault" function for use
22968 in menu entries.
22969 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
22970
22971 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
22972 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
22973
22974 * util/grub-mkconfig_lib.in (save_default_entry): Only set
22975 saved_entry if boot_once is unset.
22976 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
22977 previous saved entry (i.e. grub-reboot).
22978
22979 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
22980
22981 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
22982
22983 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
22984
22985 * util/grub.d/00_header.in: Use `set var=val' rather than plain
22986 `var=val'.
22987 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
22988
22989 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
22990
22991 * util/grub-reboot.in: Fix --version output.
22992 * util/grub-set-default.in: Likewise.
22993
22994 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
22995
22996 * util/grub.d/00_header.in: Silently ignore zero-sized environment
22997 blocks.
22998
22999 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
23000
23001 * util/grub.d/00_header.in: Quote the value assigned to `default',
23002 in case it contains spaces.
23003
23004 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
23005
23006 * util/grub.d/30_os-prober.in: Fix merge error that moved a
23007 `save_default_entry' call from the macosx case to the linux case.
23008
23009 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
23010 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
23011
23012 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
23013 in `chosen' environment variable.
23014 * normal/menu_text.c (get_entry_number): Check if the variable
23015 matches the title of a menu entry.
23016 (run_menu): Pass menu to get_entry_number.
23017
23018 * util/grub-reboot.in: New file.
23019 * util/grub-set-default.in: New file.
23020 * conf/common.rmk (grub-reboot): New utility.
23021 (grub-set-default): New utility.
23022
23023 * util/grub-mkconfig_lib.in (save_default_entry): New function.
23024 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
23025 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
23026 move it to `saved_entry' for the next boot. Load environment on
23027 initialisation.
23028 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
23029 * util/grub.d/10_hurd.in: Likewise.
23030 * util/grub.d/10_linux.in (linux_entry): Likewise.
23031 * util/grub.d/10_windows.in: Likewise.
23032 * util/grub.d/30_os-prober.in: Likewise.
23033
23034 * util/grub-install.in: Create environment block.
23035 * util/i386/efi/grub-install.in: Likewise.
23036 * util/ieee1275/grub-install.in: Likewise.
23037 * util/sparc64/ieee1275/grub-install.in: Likewise.
23038
23039 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
23040
23041 Unit testing framework for GRUB.
23042
23043 * Makefile.in: Test framework build rules for 'make check'.
23044 * conf/tests.rmk: Build rules for individual tests and framework.
23045
23046 * include/grub/test.h: Header file for whitebox tests.
23047 * tests/lib/functional_test.c: Framework support for whitebox
23048 functional tests.
23049 * tests/lib/test.c: Common whitebox testing code for unit and
23050 functional tests.
23051 * tests/lib/unit_test.c: Framework support for whitebox unit
23052 tests.
23053
23054 * tests/util/grub-shell-tester.in: Support utility for grub-script
23055 tests.
23056 * tests/util/grub-shell.in: Utility to execute grub-script
23057 commands in a Qemu instance.
23058
23059 * tests/example_functional_test.c: Example whitebox functional
23060 test.
23061 * tests/example_grub_script_test.in: Example grub-script test.
23062 * tests/example_scripted_test.in: Example scripted test.
23063 * tests/example_unit_test.c: Example whitebox unit test.
23064
23065 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
23066
23067 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
23068 Add loader/i386/multiboot_mbi.c.
23069 (multiboot2_mod_SOURCES): Likewise.
23070 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
23071 (multiboot2_mod_SOURCES): Likewise.
23072 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
23073 (grub_multiboot_make_mbi): Likewise.
23074 (grub_multiboot_free_mbi): Likewise.
23075 (grub_multiboot_init_mbi): Likewise.
23076 (grub_multiboot_add_module): Likewise.
23077 (grub_multiboot_set_bootdev): Likewise.
23078 * loader/i386/multiboot.c (mbi): Removed.
23079 (mbi_dest): Likewise.
23080 (alloc_mbi): New variable.
23081 (grub_multiboot_payload_size): Removed. All users updated.
23082 (grub_multiboot_pure_size): New variable.
23083 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
23084 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
23085 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
23086 (grub_fill_multiboot_mmap): Likewise.
23087 (grub_multiboot_get_bootdev): Likewise.
23088 (grub_multiboot): Use multiboot_mbi functions.
23089 * loader/i386/multiboot_mbi.c: New file.
23090
23091 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
23092
23093 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
23094 it would result in module crash.
23095
23096 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
23097
23098 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
23099 (grub_ofconsole_getwh): Split to ...
23100 (grub_ofconsole_getwh): ... this.
23101 (grub_ofconsole_dimensions): ...and this.
23102 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
23103
23104 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
23105
23106 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
23107
23108 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
23109
23110 * loader/i386/pc/multiboot2.c: Removed stalled file.
23111
23112 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
23113
23114 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
23115 Reported by: Grégoire Sutre
23116
23117 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
23118
23119 * util/misc.c (canonicalize_file_name): New function.
23120 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
23121 instead of realpath().
23122
23123 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
23124
23125 * util/grub-install.in (usage): Clarify meaning of --root-directory,
23126 and make it clearer that it's optional. Based on confusion
23127 witnessed on IRC.
23128
23129 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
23130
23131 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
23132 in premature implicit newline.
23133
23134 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
23135
23136 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
23137 which resulted in garbled command line at the end of screen.
23138
23139 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
23140
23141 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
23142 initialization with similar approach as with other Linux loaders.
23143
23144 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
23145
23146 Fix i386-ieee1275 build.
23147
23148 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
23149 and grub_term_height() for video_{width,height} initialization.
23150
23151 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
23152
23153 Fix grub-emu build.
23154
23155 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
23156
23157 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
23158 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
23159
23160 Support for multiple terminals.
23161
23162 * Makefile.in (pkglib_DATA): terminal.lst.
23163 (terminal.lst): New target.
23164 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
23165 (GRUB_MOD_INIT(handler)): Likewise.
23166 (GRUB_MOD_FINI(handler)): Likewise.
23167 * commands/help.c (grub_cmd_help): Handle multiple terminals.
23168 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
23169 * commands/sleep.c (do_print): Use grub_term_restore_pos.
23170 (grub_cmd_sleep): Use grub_term_save_pos.
23171 * commands/terminal.c: New file.
23172 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
23173 commands/terminal.c and lib/charset.c.
23174 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
23175 (pkglib_MODULES): Add terminal.mod.
23176 (terminal_mod_SOURCES): New variable.
23177 (terminal_mod_CFLAGS): Likewise.
23178 (terminal_mod_LDFLAGS): Likewise.
23179 * genhandlerlist.sh: Don't handle terminals.
23180 * genmk.rb: Generate terminal-*.lst.
23181 * genterminallist.sh: New file.
23182 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
23183 (grub_is_valid_utf8): Likewise.
23184 (grub_utf8_to_ucs4_alloc): Likewise.
23185 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
23186 (grub_menu_register_viewer): Changed argument.
23187 (grub_menu_try_text): New proto.
23188 (grub_gfxmenu_try_hook): New declaration.
23189 * include/grub/normal.h (grub_normal_exit_level): New declaration.
23190 (grub_menu_init_page): Additional argument term.
23191 (grub_normal_init_page): Likewise.
23192 (grub_cmdline_get): Arguments simplified.
23193 (grub_utf8_to_ucs4_alloc): Removed.
23194 (grub_print_ucs4): Additional argument term.
23195 (grub_getstringwidth): Likewise.
23196 (grub_print_message_indented): Likewise.
23197 (grub_menu_text_register_instances): New proto.
23198 (grub_show_menu): Likewise.
23199 (read_terminal_list): Likewise.
23200 (grub_set_more): Likewise.
23201 * include/grub/parser.h: Include handler.h.
23202 * include/grub/reader.h: Rewritten.
23203 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
23204 (GRUB_TERM_WIDTH): Changed to function.
23205 (GRUB_TERM_HEIGHT): Likewise.
23206 (GRUB_TERM_BORDER_WIDTH): Likewise.
23207 (GRUB_TERM_BORDER_HEIGHT): Likewise.
23208 (GRUB_TERM_NUM_ENTRIES): Likewise.
23209 (GRUB_TERM_ENTRY_WIDTH): Likewise.
23210 (GRUB_TERM_CURSOR_X): Likewise.
23211 (grub_term_input_class): Likewise.
23212 (grub_term_output_class): Likewise.
23213 (grub_term_outputs_disabled): New declaration.
23214 (grub_term_inputs_disabled): Likewise.
23215 (grub_term_outputs): Likewise.
23216 (grub_term_inputs): Likewise.
23217 (grub_term_register_input): Rewritten.
23218 (grub_term_register_output): Likewise.
23219 (grub_term_unregister_input): Likewise.
23220 (grub_term_unregister_output): Likewise.
23221 (FOR_ACTIVE_TERM_INPUTS): New macro.
23222 (FOR_DISABLED_TERM_INPUTS): Likewise.
23223 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
23224 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
23225 * include/grub/terminfo.h: Add oterm argument to all protypes.
23226 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
23227 Use grub_rescue_run.
23228 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
23229 All users updated.
23230 * kern/reader.c: Removed. All users updated.
23231 * kern/rescue_reader.c (grub_rescue_init): Removed.
23232 (grub_rescue_reader): Likewise.
23233 (grub_register_rescue_reader): Likewise.
23234 (grub_rescue_run): New function based on kern/reader.c.
23235 * kern/term.c: Adapted for multiterm.
23236 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
23237 (grub_is_valid_utf8): Likewise.
23238 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
23239 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
23240 right terminal.
23241 * loader/i386/linux.c (grub_linux_boot): Likewise.
23242 * normal/auth.c (grub_username_get): New function.
23243 (grub_auth_check_authentication): Use grub_username_get.
23244 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
23245 * normal/color.c: Adapt for multiterm.
23246 * normal/main.c (read_config_file): Don't use grub_reader_loop.
23247 (grub_normal_init_page): Additional argument term.
23248 (read_lists): Call read_terminal_lists.
23249 (grub_enter_normal_mode): Call grub_cmdline_run.
23250 Handle grub_normal_exit_level.
23251 (grub_cmd_normal): Make reentrant.
23252 (grub_cmd_normal_exit): New function.
23253 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
23254 * normal/menu.c: Adapt for multiterm.
23255 * normal/menu_entry.c: Likewise.
23256 * normal/menu_text.c: Likewise.
23257 * normal/menu_viewer.c: Removed. All users updated.
23258 * normal/term.c: New file.
23259 * util/console.c: Change order of includes to workaround a bug in
23260 ncurses headers.
23261 * term/terminfo.c: New argument oterm on all exported functions.
23262 All users updated.
23263 * util/grub-editenv.c (grub_term_input_class): Removed.
23264 (grub_term_output_class): Likewise.
23265
23266 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
23267
23268 Make loader output a bit more user-friendly.
23269
23270 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
23271 is being loaded. Likewise for the Hurd.
23272
23273 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
23274 that kernel of FreeBSD ${version} is being loaded.
23275
23276 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
23277 grub_dprintf().
23278 (grub_cmd_initrd): Likewise.
23279 * util/grub.d/10_linux.in (linux_entry): Print message indicating
23280 that Linux ${version} is being loaded. Likewise for initrd.
23281
23282 2010-01-09 Carles Pina i Estany <carles@pina.cat>
23283
23284 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
23285
23286 2010-01-08 Carles Pina i Estany <carles@pina.cat>
23287
23288 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
23289 (GRUB_MOD_INIT): Gettextizze.
23290 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
23291 (GRUB_MOD_INIT): Gettextizze.
23292 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
23293 (grub_cmd_linux): Capitalise Linux.
23294 (GRUB_MOD_INIT): Gettextizze.
23295 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
23296 (grub_cmd_linux): Capitalise Linux.
23297 (GRUB_MOD_INIT): Gettextizze.
23298 * loader/i386/linux.c: Include `<grub/i18n.h>'.
23299 (grub_cmd_linux): Capitalise Linux.
23300 (GRUB_MOD_INIT): Gettextizze.
23301 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
23302 (GRUB_MOD_INIT): Gettextizze.
23303 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
23304 (grub_cmd_linux): Capitalise Linux.
23305 (GRUB_MOD_INIT): Gettextizze.
23306 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
23307 (grub_cpu_xnu_init): Gettextizze.
23308 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
23309 (GRUB_MOD_INIT): Gettextizze.
23310 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
23311 (GRUB_MOD_INIT): Gettextizze.
23312 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
23313 (grub_linux_load64): Capitalise Linux.
23314 (GRUB_MOD_INIT): Gettextizze.
23315 * loader/xnu.c: Include `<grub/i18n.h>'.
23316 (GRUB_MOD_INIT): Gettextizze.
23317 * po/POTFILES: Add `loader/efi/appleloader.c',
23318 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
23319 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
23320 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
23321 `loader/i386/xnu.c', `loader/multiboot_loader.c',
23322 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
23323 and `loader/xnu.c'.
23324
23325 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
23326
23327 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
23328
23329 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
23330
23331 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
23332 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
23333 * util/mkisofs/mkisofs.c (main): Readjust --version output.
23334
23335 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
23336
23337 Reset Multiboot 2 support. New loader implements the draft in
23338 /branches/multiboot2 and shares as much code as possible with the
23339 production Multiboot 1 implementation.
23340
23341 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
23342 * loader/multiboot2.c: Likewise.
23343 * loader/i386/multiboot_helper.S: Likewise.
23344 * include/multiboot2.h: Replace with latest version from the draft
23345 in /branches/multiboot2.
23346
23347 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
23348 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
23349 and `loader/multiboot2.c'.
23350 (pkglib_MODULES): Add `multiboot2.mod'.
23351 (multiboot2_mod_SOURCES): New variable.
23352 (multiboot2_mod_LDFLAGS): Likewise.
23353 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
23354
23355 * conf/i386-pc.rmk: Likewise.
23356
23357 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
23358 (multiboot_mod_SOURCES): Remove variable.
23359 (multiboot_mod_LDFLAGS): Likewise.
23360 (multiboot_mod_CFLAGS): Likewise.
23361
23362 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
23363 `<multiboot2.h>' instead of `<multiboot.h>'.
23364 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
23365 (MULTIBOOT_HEADER_MAGIC): New macros.
23366
23367 * loader/multiboot_loader.c (module_version_status): Remove variable.
23368 (find_multi_boot2_header): Remove function.
23369 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
23370 logic. Always check for the Multiboot version we're compiling for.
23371 (grub_cmd_module_loader): Likewise.
23372 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
23373 command instead of `multiboot'.
23374
23375 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
23376
23377 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
23378 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
23379 all users.
23380
23381 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
23382 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
23383
23384 Fix breakage introduced with previous commit.
23385
23386 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
23387 commands.
23388 * normal/handler.c (read_handler_list): Revert part of previous commit
23389 affecting this file.
23390 * normal/main.c (read_lists): Move read_handler_list() call back to ...
23391 (grub_normal_execute): ... here.
23392
23393 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
23394
23395 Merge prefix-redefinition-fix branch.
23396
23397 * normal/autofs.c (read_fs_list): Make function capable of being
23398 run multiple times, gracefuly replacing the previous data
23399 structures.
23400 * normal/dyncmd.c (read_command_list): Likewise.
23401 * normal/handler.c (read_handler_list): Likewise.
23402 * normal/main.c (read_lists): New function. Calls all the
23403 list reading functions.
23404 (grub_normal_execute): Use read_lists() instead of calling all
23405 list reading functions explicitly. Register read_lists() as a
23406 variable hook attached to ${prefix}.
23407
23408 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
23409
23410 Merge crypto branch.
23411
23412 * Makefile.in (pkglib_DATA): Add crypto.lst.
23413 (crypto.lst): New target.
23414 * commands/hashsum.c: New file.
23415 * commands/password.c (check_password): Use grub_crypto_memcmp.
23416 * commands/password_pbkdf2.c: New file.
23417 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
23418 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
23419 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
23420 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
23421 -I$(srcdir)/lib/libgcrypt_wrap.
23422 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
23423 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
23424 password_pbkdf2.mod.
23425 (crypto_mod_SOURCES): New variable.
23426 (crypto_mod_CFLAGS): Likewise.
23427 (crypto_mod_LDFLAGS): Likewise.
23428 (hashsum_mod_SOURCES): New variable.
23429 (hashsum_mod_CFLAGS): Likewise.
23430 (hashsum_mod_LDFLAGS): Likewise.
23431 (pbkdf2_mod_SOURCES): New variable.
23432 (pbkdf2_mod_CFLAGS): Likewise.
23433 (pbkdf2_mod_LDFLAGS): Likewise.
23434 (password_pbkdf2_mod_SOURCES): New variable.
23435 (password_pbkdf2_mod_CFLAGS): Likewise.
23436 (password_pbkdf2_mod_LDFLAGS): Likewise.
23437 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
23438 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
23439 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
23440 Include conf/gcry.rmk.
23441 * include/grub/auth.h: Rewritten.
23442 * include/grub/crypto.h: New file.
23443 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
23444 * include/grub/normal.h (read_crypto_list): New prototype.
23445 * lib/crypto.c: New file.
23446 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
23447 * lib/pbkdf2.c: Likewise.
23448 * normal/auth.c (grub_auth_strcmp): Removed.
23449 (grub_iswordseparator): Likewise.
23450 (grub_auth_strword): Likewise.
23451 (is_authenticated): Use grub_strword.
23452 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
23453 and grub_strword. Pass entered password to authentication callback.
23454 * normal/crypto.c: New file.
23455 * normal/main.c: Call read_crypto_list.
23456 * util/grub-mkpasswd-pbkdf2.c: New file.
23457 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
23458
23459 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
23460
23461 Fix descent and ascent calculation.
23462
23463 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
23464 (options): New option "asce".
23465 (usage): Likewise.
23466 (add_char): Ignore invalid glyphs for descent calculation.
23467 Calculate ascent from actual content.
23468 (print_glyphs): Use 'asce'.
23469 (write_font): Likewise. Allow ascent override.
23470 (main): Handle "asce" option.
23471
23472 2010-01-06 Carles Pina i Estany <carles@pina.cat>
23473
23474 * kern/err.c: Include `<grub/i18n.h>'.
23475 (grub_print_error): Add full stop. Gettextizze.
23476 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
23477 (grub_bsd_load_elf): Capitalise ELF.
23478 (grub_cmd_freebsd_loadenv): Add `s' in error string.
23479 (grub_cmd_freebsd_module): Likewise.
23480 (grub_cmd_freebsd_module_elf): Likewise.
23481 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
23482
23483 2010-01-06 Carles Pina i Estany <carles@pina.cat>
23484
23485 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
23486 * commands/search_file.c (HELP_MESSAGE): New macro.
23487 * commands/search_label.c (HELP_MESSAGE): Likewise.
23488 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
23489 * po/POTFILES: Add `commands/search_file.c',
23490 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
23491 `commands/search.c'.
23492
23493 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
23494
23495 * config.rpath: Update from Gnulib.
23496
23497 2010-01-05 Yves Blusseau <blusseau@zetam.org>
23498
23499 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
23500
23501 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
23502
23503 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
23504
23505 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
23506
23507 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
23508 arguments to fread so that we get a return value in bytes, rather
23509 than something that will normally be rounded down to 0.
23510 Adjust error handling to avoid producing garbage when size_t is not
23511 the same size as long long.
23512
23513 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
23514
23515 * util/mkisofs/write.c (padblock_write): Check return value of
23516 fread.
23517
23518 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
23519
23520 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
23521 floppy images now.
23522
23523 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
23524
23525 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
23526
23527 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
23528 instead of manual alignment.
23529 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
23530 verbose). Avoid attempts to read past end of the device
23531 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
23532 but GRUB_DISK_CACHE_SIZE may exceed that).
23533
23534 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
23535
23536 * commands/crc.c (grub_cmd_crc): Abort on read errors.
23537 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
23538 it to upper layer.
23539
23540 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
23541
23542 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
23543 New constant.
23544 (grub_efi_piwg_device_path): New structure
23545 (grub_efi_piwg_device_path_t): New type.
23546 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
23547 (devpath_1): Transform to a structure. All users updated.
23548 (devpath_2): Likewise.
23549 (devpath_3): Likewise.
23550 (devpath_4): Likewise.
23551 (devpath_5): Likewise.
23552
23553 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
23554
23555 * loader/efi/appleloader.c: Restored. Update all users.
23556
23557 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
23558
23559 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
23560
23561 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
23562 (struct boot_blocklist): Move from here ...
23563 * include/grub/i386/pc/boot.h [ASM_FILE]
23564 (struct grub_boot_blocklist): ... to here. Update all users.
23565 (setup): Only initialize `start' member of `first_block'
23566 structure. Add assert() calls to verify the other members.
23567
23568 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
23569 (generate_image): Fix broken blocklist length initialization.
23570 Add assert() call to verify blocklist `segment' field.
23571
23572 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
23573
23574 * loader/efi/appleloader.c: Remove. Update all users.
23575
23576 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
23577
23578 * boot/i386/pc/boot.S: Update copyright year.
23579 * boot/i386/pc/cdboot.S: Likewise.
23580 * boot/i386/pc/diskboot.S: Likewise.
23581 * boot/i386/pc/lnxboot.S: Likewise.
23582 * boot/i386/pc/pxeboot.S: Likewise.
23583 * bus/pci.c: Likewise.
23584 * commands/cmp.c: Likewise.
23585 * commands/help.c: Likewise.
23586 * commands/hexdump.c: Likewise.
23587 * commands/i386/pc/halt.c: Likewise.
23588 * commands/i386/pc/play.c: Likewise.
23589 * commands/i386/pc/vbeinfo.c: Likewise.
23590 * commands/ls.c: Likewise.
23591 * commands/test.c: Likewise.
23592 * disk/dmraid_nvidia.c: Likewise.
23593 * disk/i386/pc/biosdisk.c: Likewise.
23594 * disk/ieee1275/nand.c: Likewise.
23595 * disk/ieee1275/ofdisk.c: Likewise.
23596 * disk/lvm.c: Likewise.
23597 * disk/raid.c: Likewise.
23598 * disk/raid6_recover.c: Likewise.
23599 * disk/scsi.c: Likewise.
23600 * fs/affs.c: Likewise.
23601 * fs/cpio.c: Likewise.
23602 * fs/ext2.c: Likewise.
23603 * fs/hfs.c: Likewise.
23604 * fs/iso9660.c: Likewise.
23605 * fs/ntfs.c: Likewise.
23606 * fs/sfs.c: Likewise.
23607 * fs/udf.c: Likewise.
23608 * fs/ufs.c: Likewise.
23609 * fs/xfs.c: Likewise.
23610 * gencmdlist.sh: Likewise.
23611 * genmk.rb: Likewise.
23612 * include/grub/disk.h: Likewise.
23613 * include/grub/efi/api.h: Likewise.
23614 * include/grub/efi/efi.h: Likewise.
23615 * include/grub/efi/pe32.h: Likewise.
23616 * include/grub/elf.h: Likewise.
23617 * include/grub/fs.h: Likewise.
23618 * include/grub/i386/at_keyboard.h: Likewise.
23619 * include/grub/i386/pc/memory.h: Likewise.
23620 * include/grub/i386/pc/vbe.h: Likewise.
23621 * include/grub/i386/pci.h: Likewise.
23622 * include/grub/i386/tsc.h: Likewise.
23623 * include/grub/ieee1275/ieee1275.h: Likewise.
23624 * include/grub/ntfs.h: Likewise.
23625 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
23626 * include/grub/sparc64/libgcc.h: Likewise.
23627 * include/grub/symbol.h: Likewise.
23628 * include/grub/types.h: Likewise.
23629 * include/multiboot2.h: Likewise.
23630 * io/gzio.c: Likewise.
23631 * kern/device.c: Likewise.
23632 * kern/disk.c: Likewise.
23633 * kern/efi/efi.c: Likewise.
23634 * kern/efi/mm.c: Likewise.
23635 * kern/elf.c: Likewise.
23636 * kern/file.c: Likewise.
23637 * kern/i386/dl.c: Likewise.
23638 * kern/i386/pc/init.c: Likewise.
23639 * kern/i386/pc/startup.S: Likewise.
23640 * kern/ieee1275/ieee1275.c: Likewise.
23641 * kern/ieee1275/init.c: Likewise.
23642 * kern/main.c: Likewise.
23643 * kern/mm.c: Likewise.
23644 * kern/powerpc/dl.c: Likewise.
23645 * kern/sparc64/dl.c: Likewise.
23646 * kern/x86_64/dl.c: Likewise.
23647 * lib/hexdump.c: Likewise.
23648 * loader/efi/appleloader.c: Likewise.
23649 * loader/i386/ieee1275/linux.c: Likewise.
23650 * loader/i386/pc/chainloader.c: Likewise.
23651 * loader/i386/pc/linux.c: Likewise.
23652 * loader/i386/pc/multiboot2.c: Likewise.
23653 * loader/ieee1275/multiboot2.c: Likewise.
23654 * loader/multiboot2.c: Likewise.
23655 * loader/multiboot_loader.c: Likewise.
23656 * loader/powerpc/ieee1275/linux.c: Likewise.
23657 * normal/completion.c: Likewise.
23658 * normal/menu_entry.c: Likewise.
23659 * partmap/apple.c: Likewise.
23660 * util/grub.d/10_hurd.in: Likewise.
23661 * util/hostfs.c: Likewise.
23662 * video/readers/png.c: Likewise.
23663
23664 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
23665
23666 * include/grub/misc.h (GNUC_PREREQ): New macro.
23667 (ATTRIBUTE_ERROR): New macro.
23668 * include/grub/list.h (grub_bad_type_cast_real): Use
23669 ATTRIBUTE_ERROR.
23670
23671 2010-01-03 Carles Pina i Estany <carles@pina.cat>
23672
23673 * normal/menu_text.c (print_message): Change messages.
23674
23675 2010-01-03 Carles Pina i Estany <carles@pina.cat>
23676
23677 * normal/menu_entry.c (store_completion): Gettextizze.
23678
23679 2010-01-03 Carles Pina i Estany <carles@pina.cat>
23680
23681 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
23682
23683 2010-01-03 Carles Pina i Estany <carles@pina.cat>
23684
23685 * po/POTFILES: Sort correctly.
23686
23687 2010-01-03 Carles Pina i Estany <carles@pina.cat>
23688
23689 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
23690 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
23691 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
23692 full stop.
23693 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
23694 summary. Gettextizze the strings.
23695 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
23696 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
23697 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
23698 full stop.
23699 (GRUB_MOD_INIT): Remove command name from summary.
23700 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
23701 summary.
23702 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
23703 * term/i386/pc/serial.c (options): Add full stops.
23704 (GRUB_MOD_INIT): Remove command name from the summary.
23705
23706 2010-01-03 Carles Pina i Estany <carles@pina.cat>
23707
23708 * commands/acpi.c: Gettextizze help strings and/or options. Include
23709 `grub/i18n.h' if needed.
23710 * commands/blocklist.c: Likewise.
23711 * commands/boot.c: Likewise.
23712 * commands/cat.c: Likewise.
23713 * commands/cmp.c: Likewise.
23714 * commands/configfile.c: Likewise.
23715 * commands/crc.c: Likewise.
23716 * commands/date.c: Likewise.
23717 * commands/echo.c: Likewise.
23718 * commands/efi/fixvideo.c: Likewise.
23719 * commands/efi/loadbios.c: Likewise.
23720 * commands/gptsync.c: Likewise.
23721 * commands/halt.c: Likewise.
23722 * commands/handler.c: Likewise.
23723 * commands/hdparm.c: Likewise.
23724 * commands/hexdump.c: Likewise.
23725 * commands/i386/cpuid.c: Likewise.
23726 * commands/i386/pc/drivemap.c: Likewise.
23727 * commands/i386/pc/halt.c: Likewise.
23728 * commands/i386/pc/pxecmd.c: Likewise.
23729 * commands/i386/pc/vbeinfo.c: Likewise.
23730 * commands/i386/pc/vbetest.c: Likewise.
23731 * commands/ieee1275/suspend.c: Likewise.
23732 * commands/keystatus.c: Likewise.
23733 * commands/loadenv.c: Likewise.
23734 * commands/ls.c: Likewise.
23735 * commands/lsmmap.c: Likewise.
23736 * commands/lspci.c: Likewise.
23737 * commands/memrw.c: Likewise.
23738 * commands/minicmd.c: Likewise.
23739 * commands/parttool.c: Likewise.
23740 * commands/password.c: Likewise.
23741 * commands/probe.c: Likewise.
23742 * commands/read.c: Likewise.
23743 * commands/reboot.c: Likewise.
23744 * commands/search.c: Likewise.
23745 * commands/sleep.c: Likewise.
23746 * commands/test.c: Likewise.
23747 * commands/true.c: Likewise.
23748 * commands/usbtest.c: Likewise.
23749 * commands/videotest.c: Likewise.
23750 * commands/xnu_uuid.c: Likewise.
23751 * disk/loopback.c: Likewise.
23752 * hello/hello.c: Likewise.
23753 * loader/i386/bsd.c: Likewise.
23754 * term/i386/pc/serial.c: Likewise.
23755 * po/POTFILES: Add new files.
23756
23757 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
23758
23759 * term/i386/pc/at_keyboard.c
23760 (keyboard_controller_wait_untill_ready): Rename to ...
23761 (keyboard_controller_wait_until_ready): ... this. Update all users.
23762
23763 2010-01-01 Carles Pina i Estany <carles@pina.cat>
23764
23765 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
23766 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
23767 string using string width.
23768 * normal/menu_text.c (grub_print_message_indented): Use
23769 grub_print_spaces and not print_spaces.
23770 (print_timeout): Likewise.
23771 (print_spaces): Move to...
23772 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
23773
23774 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
23775
23776 Import from Gnulib.
23777
23778 * gnulib/getdelim.c: New file.
23779 * gnulib/getline.c: Likewise.
23780
23781 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
23782
23783 * include/grub/list.h (grub_assert_fail): Removed.
23784 (grub_bad_type_cast_real): New function.
23785 (grub_bad_type_cast): New macro.
23786 (GRUB_AS_LIST): Use grub_bad_type_cast.
23787 (GRUB_AS_LIST_P): Likewise.
23788 (GRUB_AS_NAMED_LIST): Likewise.
23789 (GRUB_AS_NAMED_LIST_P): Likewise.
23790 (GRUB_AS_PRIO_LIST): Likewise.
23791 (GRUB_AS_PRIO_LIST_P): Likewise.
23792 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
23793
23794 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
23795
23796 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
23797 Fix syntax error.
23798
23799 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
23800
23801 * configure.ac: Check for TARGET_CFLAGS initialization before we
23802 initialize it ourselves (sigh).
23803 Move a few modifications to TARGET_CFLAGS to be unconditional
23804 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
23805 eh_frame)
23806
23807 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
23808 * term/i386/pc/at_keyboard.c
23809 (keyboard_controller_wait_untill_ready): Likewise.
23810 (keyboard_controller_led): Rename `led_status' paramter to avoid
23811 name conflict.
23812
23813 2009-12-28 Carles Pina i Estany <carles@pina.cat>
23814
23815 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
23816 quotes.
23817
23818 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
23819
23820 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
23821
23822 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
23823
23824 * normal/menu_text.c (grub_print_message_indented): Prevent
23825 past-the-end-of-array dereference.
23826
23827 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
23828
23829 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
23830 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
23831
23832 2009-12-27 Carles Pina i Estany <carles@pina.cat>
23833
23834 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
23835 * normal/main.c (grub_normal_read_line): Remove a space from the
23836 default prompt.
23837
23838 2009-12-27 Carles Pina i Estany <carles@pina.cat>
23839
23840 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
23841 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
23842 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
23843 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
23844 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
23845 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
23846 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
23847
23848 2009-12-26 Carles Pina i Estany <carles@pina.cat>
23849
23850 * video/readers/jpeg.c (cmd): Declare.
23851 (grub_cmd_jpegtest): Use `grub_command_t' type.
23852 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
23853 Assign to `cmd'.
23854 (GRUB_MOD_FINI): Use `cmd' to unregister.
23855 * video/readers/png.c (cmd): Declare.
23856 (grub_cmd_pngtest): Use `grub_command_t' type.
23857 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
23858 Assign to `cmd'.
23859 (GRUB_MOD_FINI): Use `cmd' to unregister.
23860 * video/readers/tga.c (cmd): Declare.
23861 (grub_cmd_tgatest): Use `grub_command_t' type.
23862 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
23863 Assign to `cmd'.
23864 (GRUB_MOD_FINI): Use `cmd' to unregister.
23865
23866 2009-12-26 Carles Pina i Estany <carles@pina.cat>
23867
23868 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
23869 stops.
23870 * kern/corecmd.c (grub_register_core_commands): Likewise.
23871 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
23872 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
23873 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
23874 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
23875 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
23876 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
23877 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
23878 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
23879 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
23880 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
23881 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
23882 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
23883 * normal/handler.c (insert_handler): Likewise.
23884 * normal/main.c (GRUB_MOD_INIT): Likewise.
23885 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
23886
23887 2009-12-26 Carles Pina i Estany <carles@pina.cat>
23888
23889 * commands/help.c (grub_cmd_help): Print the command name before the
23890 summary.
23891 (GRUB_MOD_INIT): Remove command name from the summary.
23892 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
23893 string as summary.
23894 * lib/arg.c (find_long): Print the command name before the summary.
23895 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
23896 summary.
23897 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
23898 * commands/cat.c (GRUB_MOD_INIT): Likewise.
23899 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
23900 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
23901 * commands/crc.c (GRUB_MOD_INIT): Likewise.
23902 * commands/date.c (GRUB_MOD_INIT): Likewise.
23903 * commands/echo.c (GRUB_MOD_INIT): Likewise.
23904 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
23905 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
23906 * commands/handler.c (GRUB_MOD_INIT): Likewise.
23907 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
23908 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
23909 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
23910 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
23911 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
23912 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
23913 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
23914 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
23915 * commands/ls.c (GRUB_MOD_INIT): Likewise.
23916 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
23917 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
23918 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
23919 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
23920 * commands/password.c (GRUB_MOD_INIT): Likewise.
23921 * commands/probe.c (GRUB_MOD_INIT): Likewise.
23922 * commands/read.c (GRUB_MOD_INIT): Likewise.
23923 * commands/search.c (GRUB_MOD_INIT): Likewise.
23924 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
23925 * commands/test.c (GRUB_MOD_INIT): Likewise.
23926 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
23927 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
23928 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
23929 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
23930 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
23931 * lib/arg.c (GRUB_MOD_INIT): Likewise.
23932 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
23933 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
23934 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
23935 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
23936 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
23937 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
23938 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
23939 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
23940
23941 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
23942
23943 Use search command for preliminar UUID search.
23944
23945 * commands/search.c: Split into ...
23946 * commands/search_wrap.c: ...this
23947 * commands/search.c: ...and this.
23948 * commands/search_file.c: New file.
23949 * commands/search_label.c: New file.
23950 * commands/search_uuid.c: New file.
23951 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
23952 Add commands/search_wrap.c, commands/search_file.c,
23953 commands/search_label.c and commands/search_uuid.c.
23954 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
23955 (search_mod_SOURCES): Set to commands/search_wrap.c.
23956 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
23957 search_label.mod.
23958 (search_fs_file_mod_SOURCES): New variable.
23959 (search_fs_file_mod_CFLAGS): Likewise.
23960 (search_fs_file_mod_LDFLAGS): Likewise.
23961 (search_label_mod_SOURCES): Likewise.
23962 (search_label_mod_CFLAGS): Likewise.
23963 (search_label_mod_LDFLAGS): Likewise.
23964 (search_fs_uuid_mod_SOURCES): New variable.
23965 (search_fs_uuid_mod_CFLAGS): Likewise.
23966 (search_fs_uuid_mod_LDFLAGS): Likewise.
23967 (fs_file_mod_SOURCES): Removed.
23968 (fs_file_mod_CFLAGS): Likewise.
23969 (fs_file_mod_LDFLAGS): Likewise.
23970 (fs_uuid_mod_SOURCES): Removed.
23971 (fs_uuid_mod_CFLAGS): Likewise.
23972 (fs_uuid_mod_LDFLAGS): Likewise.
23973 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
23974 Set to util/grub-install.in.
23975 * disk/fs_file.c: Removed.
23976 * disk/fs_uuid.c: Likewise.
23977 * include/grub/search.h: New file.
23978 * util/grub-install.in: Handle sparc64.
23979 Create and use load.cfg.
23980 * util/sparc64/ieee1275/grub-install.in: Removed.
23981
23982 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
23983
23984 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
23985 Ignore return status if CF is cleared.
23986 (grub_biosdisk_get_diskinfo_standard): Likewise.
23987
23988 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
23989
23990 * term/i386/pc/at_keyboard.c
23991 (keyboard_controller_wait_untill_ready): New function.
23992 (grub_keyboard_controller_write, grub_keyboard_controller_read)
23993 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
23994 for keyboard polling, rather than duplicate the same loop. This
23995 saves a few bytes in code size.
23996
23997 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
23998
23999 Support for (pxe[:server[:gateway]]) syntax and
24000 use environment variable for PXE.
24001
24002 * commands/i386/pc/pxecmd.c (options): Removed.
24003 (print_ip): Removed.
24004 (grub_cmd_pxe): Removed
24005 (grub_cmd_pxe_unload): New function.
24006 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
24007 (grub_pxe_your_ip): Made static.
24008 (grub_pxe_default_server_ip): Likewise.
24009 (grub_pxe_default_gateway_ip): Likewise.
24010 (grub_pxe_blksize): Likewise.
24011 (parse_ip): New function.
24012 (grub_pxe_open): Support server and gateway specification.
24013 (grub_pxe_close): Free disk->data.
24014 (grub_pxefs_open): Use disk->data.
24015 (grub_pxefs_read): Likewise.
24016 (grub_env_write_readonly): New function.
24017 (set_mac_env): Likewise.
24018 (set_env_limn_ro): Likewise.
24019 (parse_dhcp_vendor): Likewise.
24020 (grub_pxe_detect): Set the environment variables.
24021 (set_ip_env): New function.
24022 (write_ip_env): Likewise.
24023 (grub_env_write_pxe_default_server): Likewise.
24024 (grub_env_write_pxe_default_gateway): Likewise.
24025 (grub_env_write_pxe_blocksize): Likewise.
24026 (GRUB_MOD_INIT(pxe)): Set environment variables.
24027 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
24028 (grub_pxe_mac_addr_t): ... this. All users updated.
24029 (grub_pxe_your_ip): Removed.
24030 (grub_pxe_server_ip): Likewise.
24031 (grub_pxe_gateway_ip): Likewise.
24032 (grub_pxe_blksize): Likewise.
24033
24034 2009-12-25 Carles Pina i Estany <carles@pina.cat>
24035
24036 * commands/help.c: Include `<grub/i18n.h>'.
24037 (grub_cmd_help): Gettextizze.
24038 (GRUB_MOD_INIT): Likewise.
24039 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
24040 (GRUB_MOD_INIT): Gettextizze.
24041 * commands/search.c: Include `<grub/i18n.h>'.
24042 (options): Gettextizze.
24043 (GRUB_MOD_INIT): Gettextizze.
24044 * lib/arg.c: Include `<grub/i18n.h>'.
24045 (help_options): Gettextizze.
24046 (find_long): Likewise.
24047 (grub_arg_show_help): Likewise.
24048 * normal/dyncmd.c: Include `<grub/i18n.h>'.
24049 (read_command_list): Gettextizze.
24050 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
24051 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
24052
24053 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
24054
24055 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
24056 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
24057 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
24058 (led_status): New variable.
24059 (keyboard_controller_led): New function.
24060 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
24061 update led status for caps lock, num lock and scroll lock.
24062
24063 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
24064
24065 * util/hostdisk.c (open_device): Fix a comment.
24066
24067 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24068
24069 * util/grub-install.in (host_os): New variable.
24070 * util/i386/efi/grub-install.in (host_os): Likewise.
24071
24072 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24073
24074 * util/mkisofs/write.c (padblock_write): Abort when given an
24075 excedingly large embed image, instead of silently truncating it.
24076
24077 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24078
24079 * include/multiboot.h: Indentation fixes.
24080
24081 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24082
24083 * include/multiboot.h (struct multiboot_aout_symbol_table)
24084 (struct multiboot_elf_section_header_table): New structure
24085 declarations (stolen from GRUB Legacy).
24086 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
24087 table information.
24088
24089 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
24090 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
24091 type aliases.
24092
24093 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24094
24095 * include/multiboot.h: Make comments src2texi-friendly.
24096
24097 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24098
24099 For consistency with [multiboot]/docs/boot.S.
24100
24101 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
24102 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
24103 (MULTIBOOT_MAGIC2): Rename from this ...
24104 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
24105
24106 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24107
24108 * include/multiboot.h: Remove `<grub/types.h>'.
24109 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
24110 types. Update all users.
24111
24112 2009-12-25 Carles Pina i Estany <carles@pina.cat>
24113
24114 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
24115 `couldn't' and `can not' by `cannot'.
24116 * commands/i386/pc/drivemap.c: Likewise.
24117 * disk/ata.c: Likewise.
24118 * disk/ieee1275/nand.c: Likewise.
24119 * fs/affs.c: Likewise.
24120 * fs/fat.c: Likewise.
24121 * fs/hfs.c: Likewise.
24122 * fs/hfsplus.c: Likewise.
24123 * fs/iso9660.c: Likewise.
24124 * fs/jfs.c: Likewise.
24125 * fs/minix.c: Likewise.
24126 * fs/reiserfs.c: Likewise.
24127 * fs/sfs.c: Likewise.
24128 * fs/udf.c: Likewise.
24129 * fs/ufs.c: Likewise.
24130 * fs/xfs.c: Likewise.
24131 * loader/powerpc/ieee1275/linux.c: Likewise.
24132 * loader/sparc64/ieee1275/linux.c: Likewise.
24133 * util/grub-probe.c: Likewise.
24134 * util/misc.c: Likewise.
24135
24136 2009-12-24 Carles Pina i Estany <carles@pina.cat>
24137
24138 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
24139 grub_errno calls.
24140 * commands/acpi.c: Likewise.
24141 * commands/blocklist.c: Likewise.
24142 * commands/efi/loadbios.c: Likewise.
24143 * commands/i386/pc/drivemap.c: Likewise.
24144 * commands/loadenv.c: Likewise.
24145 * commands/memrw.c: Likewise.
24146 * commands/password.c: Likewise.
24147 * commands/videotest.c: Likewise.
24148 * disk/ata.c: Likewise.
24149 * disk/ata_pthru.c: Likewise.
24150 * disk/dmraid_nvidia.c: Likewise.
24151 * disk/ieee1275/nand.c: Likewise.
24152 * disk/ieee1275/ofdisk.c: Likewise.
24153 * disk/loopback.c: Likewise.
24154 * disk/lvm.c: Likewise.
24155 * disk/mdraid_linux.c: Likewise.
24156 * disk/raid.c: Likewise.
24157 * disk/raid6_recover.c: Likewise.
24158 * disk/scsi.c: Likewise.
24159 * efiemu/main.c: Likewise.
24160 * efiemu/mm.c: Likewise.
24161 * efiemu/pnvram.c: Likewise.
24162 * efiemu/symbols.c: Likewise.
24163 * font/font.c: Likewise.
24164 * fs/cpio.c: Likewise.
24165 * fs/hfsplus.c: Likewise.
24166 * fs/iso9660.c: Likewise.
24167 * fs/jfs.c: Likewise.
24168 * fs/minix.c: Likewise.
24169 * fs/ntfs.c: Likewise.
24170 * fs/ntfscomp.c: Likewise.
24171 * fs/reiserfs.c: Likewise.
24172 * fs/ufs.c: Likewise.
24173 * fs/xfs.c: Likewise.
24174 * gettext/gettext.c: Likewise.
24175 * include/grub/auth.h: Likewise.
24176 * kern/elf.c: Likewise.
24177 * kern/file.c: Likewise.
24178 * kern/ieee1275/init.c: Likewise.
24179 * kern/ieee1275/mmap.c: Likewise.
24180 * kern/ieee1275/openfw.c: Likewise.
24181 * kern/powerpc/dl.c: Likewise.
24182 * kern/sparc64/dl.c: Likewise.
24183 * lib/arg.c: Likewise.
24184 * loader/i386/bsd.c: Likewise.
24185 * loader/i386/bsdXX.c: Likewise.
24186 * loader/i386/efi/linux.c: Likewise.
24187 * loader/i386/efi/xnu.c: Likewise.
24188 * loader/i386/ieee1275/linux.c: Likewise.
24189 * loader/i386/linux.c: Likewise.
24190 * loader/i386/multiboot.c: Likewise.
24191 * loader/i386/pc/linux.c: Likewise.
24192 * loader/i386/pc/multiboot2.c: Likewise.
24193 * loader/i386/xnu.c: Likewise.
24194 * loader/ieee1275/multiboot2.c: Likewise.
24195 * loader/macho.c: Likewise.
24196 * loader/machoXX.c: Likewise.
24197 * loader/multiboot2.c: Likewise.
24198 * loader/multiboot_loader.c: Likewise.
24199 * loader/powerpc/ieee1275/linux.c: Likewise.
24200 * loader/sparc64/ieee1275/linux.c: Likewise.
24201 * loader/xnu.c: Likewise.
24202 * loader/xnu_resume.c: Likewise.
24203 * mmap/i386/pc/mmap.c: Likewise.
24204 * normal/menu_viewer.c: Likewise.
24205 * partmap/acorn.c: Likewise.
24206 * partmap/amiga.c: Likewise.
24207 * partmap/apple.c: Likewise.
24208 * script/lexer.c: Likewise.
24209 * term/gfxterm.c: Likewise.
24210 * term/i386/pc/serial.c: Likewise.
24211 * term/i386/pc/vga.c: Likewise.
24212 * term/ieee1275/ofconsole.c: Likewise.
24213 * term/terminfo.c: Likewise.
24214 * video/bitmap.c: Likewise.
24215 * video/efi_gop.c: Likewise.
24216 * video/efi_uga.c: Likewise.
24217 * video/fb/video_fb.c: Likewise.
24218 * video/i386/pc/vbe.c: Likewise.
24219 * video/readers/tga.c: Likewise.
24220 * video/video.c: Likewise.
24221
24222 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
24223
24224 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
24225 * commands/lspci.c: Likewise.
24226 * commands/probe.c: Likewise.
24227 * commands/xnu_uuid.c: Likewise.
24228 * conf/i386-coreboot.rmk: Likewise.
24229 * conf/i386-efi.rmk: Likewise.
24230 * conf/i386-ieee1275.rmk: Likewise.
24231 * conf/i386-pc.rmk: Likewise.
24232 * conf/powerpc-ieee1275.rmk: Likewise.
24233 * conf/sparc64-ieee1275.rmk: Likewise.
24234 * conf/x86_64-efi.rmk: Likewise.
24235 * fs/i386/pc/pxe.c: Likewise.
24236 * gettext/gettext.c: Likewise.
24237 * include/grub/efi/graphics_output.h: Likewise.
24238 * include/grub/i386/pc/memory.h: Likewise.
24239 * kern/env.c: Likewise.
24240 * kern/i386/qemu/startup.S: Likewise.
24241 * lib/i386/pc/biosnum.c: Likewise.
24242 * lib/i386/relocator.c: Likewise.
24243 * lib/i386/relocator_asm.S: Likewise.
24244 * lib/relocator.c: Likewise.
24245 * loader/i386/bsd.c: Likewise.
24246 * loader/i386/multiboot.c: Likewise.
24247 * loader/i386/pc/chainloader.c: Likewise.
24248 * loader/i386/xnu.c: Likewise.
24249 * loader/xnu.c: Likewise.
24250 * normal/main.c: Likewise.
24251 * normal/menu_text.c: Likewise.
24252 * util/getroot.c: Likewise.
24253 * util/grub-mkconfig_lib.in: Likewise.
24254 * util/grub.d/00_header.in: Likewise.
24255 * util/i386/pc/grub-mkimage.c: Likewise.
24256 * util/mkisofs/eltorito.c: Likewise.
24257 * util/mkisofs/exclude.h: Likewise.
24258 * util/mkisofs/hash.c: Likewise.
24259 * util/mkisofs/iso9660.h: Likewise.
24260 * util/mkisofs/joliet.c: Likewise.
24261 * util/mkisofs/mkisofs.c: Likewise.
24262 * util/mkisofs/mkisofs.h: Likewise.
24263 * util/mkisofs/multi.c: Likewise.
24264 * util/mkisofs/name.c: Likewise.
24265 * util/mkisofs/rock.c: Likewise.
24266 * util/mkisofs/tree.c: Likewise.
24267 * util/mkisofs/write.c: Likewise.
24268 * video/efi_gop.c: Likewise.
24269
24270 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
24271
24272 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
24273 size counting.
24274
24275 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
24276
24277 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
24278 * genmk.rb (class SCRIPT): Modify the target file instead of source.
24279
24280 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24281
24282 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
24283 (GRUB_MOD_INIT(memrw)): Update help line.
24284
24285 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24286
24287 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
24288 Use grub_extcmd_t. All users updated.
24289 (options): New variable.
24290 (grub_cmd_read): Restructure for readability. Support "-v" option.
24291 (grub_cmd_write): Restructure for readability.
24292
24293 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
24294
24295 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
24296
24297 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
24298
24299 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
24300 with the actual contents of the correspondending make variable.
24301 * util/grub-mkrescue.in (pkglib_DATA): New variable.
24302 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
24303 specifying `*.lst' and `efiemu??.o'
24304
24305 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
24306
24307 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
24308 after function name.
24309 Noticed by Rene Engelhard <rene@debian.org>.
24310
24311 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24312
24313 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
24314 (options): New variable.
24315 (iospace): Likewise.
24316 (grub_lspci_iter): List IO spaces if "-i" was given.
24317 (grub_cmd_lspci): Parse options.
24318 (GRUB_MOD_INIT(lspci)): Use extcmd.
24319 (GRUB_MOD_FINI(lspci)): Likewise.
24320
24321 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
24322
24323 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
24324 `function' keyword.
24325 Patch by Tony Mancill <tmancill@debian.org>.
24326
24327 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24328
24329 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
24330 (grub_uhci_portstatus): Likewise.
24331 (grub_uhci_portstatus): Add necessary delay.
24332 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
24333
24334 2009-12-21 Carles Pina i Estany <carles@pina.cat>
24335
24336 * commands/acpi.c (options): Fix capitalizations and/or full stops.
24337 (GRUB_MOD_INIT): Likewise.
24338 * commands/boot.c (GRUB_MOD_INIT): Likewise.
24339 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
24340 * commands/echo.c (options): Fix capitalizations and/or full stops.
24341 * commands/efi/loadbios.c (enable_rom_area): Likewise.
24342 (enable_rom_area): Likewise.
24343 (GRUB_MOD_INIT): Likewise.
24344 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
24345 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
24346 * commands/handler.c (GRUB_MOD_INIT): Likewise.
24347 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
24348 * commands/hexdump.c (options): Likewise.
24349 * commands/i386/cpuid.c (options): Likewise.
24350 (GRUB_MOD_INIT): Likewise.
24351 * commands/i386/pc/drivemap.c (options): Likewise.
24352 (GRUB_MOD_INIT): Likewise.
24353 * commands/i386/pc/halt (options): Likewise.
24354 (GRUB_MOD_INIT): Likewise.
24355 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
24356 * commands/i386/pc/pxecmd.c (options): Likewise.
24357 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
24358 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
24359 * commands/keystatus.c (options): Likewise.
24360 (GRUB_MOD_INIT): Likewise.
24361 * commands/loadenv.c (options): Likewise.
24362 * commands/ls.c (options): Likewise.
24363 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
24364 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
24365 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
24366 * commands/parttool.c (helpmsg): Likewise.
24367 * commands/probe.c (options): Likewise.
24368 * commands/read.c (GRUB_MOD_INIT): Likewise.
24369 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
24370 * commands/search.c (options): Likewise.
24371 * commands/sleep.c (options): Likewise.
24372 * commands/test.c (GRUB_MOD_INIT): Likewise.
24373 * commands/true.c (GRUB_MOD_INIT): Likewise.
24374 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
24375 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
24376 * lib/arg.c (help_options): Likewise.
24377 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
24378 `$(XGETTEXT)'.
24379 * po/POTFILES: Add `commands/loadenv.c'.
24380
24381 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
24382
24383 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
24384 instead of specifying them explicit.
24385
24386 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24387
24388 * NEWS: Add grub-probe support for GNU/Hurd.
24389
24390 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24391
24392 * NEWS: gettext was added after 1.97.
24393
24394 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24395
24396 * util/mkisofs/msdos_partition.h: New file (based on
24397 include/grub/msdos_partition.h).
24398 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
24399 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
24400 (ld_options, main): Recognize --protective-msdos-label.
24401 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
24402 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
24403 (padblock_write): If `use_protective_msdos_label' is set, patch a
24404 protective DOS-style label in the output image.
24405
24406 * util/grub-mkrescue.in: Use --protective-msdos-label.
24407
24408 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24409
24410 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
24411 boot.
24412
24413 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24414
24415 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
24416 variables.
24417 (ld_options, main): Recognize `--embedded-boot'.
24418 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
24419 declarations.
24420 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
24421 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
24422 (padblock_write): Likewise. Rewrite to support embedded boot image.
24423
24424 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
24425 for BIOS-based disk boot instead of only ElTorito.
24426
24427 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24428
24429 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
24430 build (not needed for bootstrap).
24431
24432 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24433
24434 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
24435 from i386-pc build (not needed for bootstrap).
24436 Rewrite a pair of strings.
24437
24438 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24439
24440 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
24441
24442 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
24443
24444 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
24445
24446 2009-12-21 Andreas Born <futur.andy@googlemail.com>
24447
24448 * kern/env.c (grub_env_context_open): Mark exported variable for
24449 reexport.
24450
24451 2009-12-21 Andreas Born <futur.andy@googlemail.com>
24452
24453 * kern/env.c (grub_env_export): Create nonexistent variables before
24454 exporting.
24455
24456 2009-12-20 Carles Pina i Estany <carles@pina.cat>
24457
24458 * include/grub/auth.h: Include `<grub/i18n.h>'.
24459 (GRUB_GET_PASSWORD): Gettextizze string.
24460 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
24461 menu_text.c.
24462 (grub_utf8_to_ucs4_alloc): Fix indentation.
24463 (grub_print_ucs4): Likewise.
24464 (grub_getstringwidth): Likewise.
24465 (print_message_indented): New declaration.
24466 * normal/auth.c: Include `<grub/i18n.h>'.
24467 (grub_auth_check_authentication): Gettexttize string.
24468 * normal/cmdline.c: Include `<grub/i18n.h>'.
24469 (grub_cmdline_get): Gettextizze.
24470 * normal/color.c: Include `<grub/i18n.h>'.
24471 (grub_parse_color_name_pair): Gettexttize strings.
24472 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
24473 string (use `print_message_indented').
24474 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
24475 `include/grub/normal.h'.
24476 (print_message_indented): Renamed to ...
24477 (grub_print_message_indented): ... this. Remove `static' qualifer (now
24478 used in normal/main.c).
24479 (print_message): Use `grub_print_message_indented' instead of
24480 `print_message_indented'.
24481 (print_timeout): Likewise.
24482 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
24483 (grub_normal_print_device_info): Gettexttize strings.
24484 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
24485
24486 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
24487
24488 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
24489 of arguments. Return number of tokens and not arguments. All users
24490 updated.
24491
24492 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
24493
24494 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
24495 non-MSDOS paritions.
24496
24497 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
24498
24499 * include/grub/types.h (UNUSED): Removed since it conflicts with
24500 NetBSD headers. All users changed to direct __attribute__ ((unused)).
24501 Reported by Grégoire Sutre.
24502
24503 2009-12-19 Carles Pina i Estany <carles@pina.cat>
24504
24505 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
24506 (grub_print_ucs4_alloc): Likewise.
24507 (grub_getstringwidth): Likewise.
24508 * normal/main.c (grub_normal_init_page): Gettextize version string.
24509 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
24510 (getstringwidth): Renamed to ...
24511 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
24512 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
24513 (grub_print_ucs4): Remove `static' qualifer (now used in
24514 normal/main.c).
24515 * po/POTFILES: Add normal/main.c.
24516
24517 2009-12-19 Carles Pina i Estany <carles@pina.cat>
24518
24519 * normal/menu_text.c (STANDARD_MARGIN): New macro.
24520 (print_message_indented): Add `margin_left' and `margin_right'
24521 parameters.
24522 (print_message): Update `print_message_indented' calls. Adds '\n' to the
24523 strings.
24524 (print_timeout): Use `print_message_indented' to print the message.
24525 Deletes `second_stage' parameter.
24526 (run_menu): Update `print_timeout' calls.
24527
24528 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
24529
24530 Fix console palette on OpenFirmware.
24531
24532 * term/ieee1275/ofconsole.c (MAX): Removed.
24533 (colors): Redone based on VGA palette.
24534 (grub_ofconsole_setcolor): Discard brightness bit since only 8
24535 colors are supported.
24536 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
24537
24538 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
24539
24540 Fix potential EfiEmu double prepare.
24541
24542 * efiemu/main.c (prepared): New variable
24543 (grub_efiemu_unload): Set prepare to '0'.
24544 (grub_efiemu_prepare): Return if already prepared. Set prepared.
24545
24546 set_virtual_address_map support.
24547
24548 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
24549 prototype.
24550 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
24551 prototype.
24552 (grub_efiemu_crc32): Likewise.
24553 (grub_efiemu_crc64): Likewise.
24554 (grub_efiemu_set_virtual_address_map): Likewise.
24555 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
24556 New definition.
24557 (grub_autoefi_set_virtual_address_map): Likewise.
24558 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
24559 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
24560 Restructure flow to accomodate it.
24561 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
24562 (grub_efiemu_crc): Recompute CRC32.
24563 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
24564 (efiemu_ptv_relocated): ... this. Made global. All users updated.
24565 * efiemu/symbols.c (relocated_handle): New variable.
24566 (grub_efiemu_free_syms): Free relocated_handle.
24567 (grub_efiemu_alloc_syms): Allocate relocated_handle.
24568 (grub_efiemu_write_sym_markers): New function.
24569 (grub_efiemu_set_virtual_address_map): Likewise.
24570
24571 Newer XNU parameters.
24572
24573 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
24574 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
24575 (grub_xnu_fill_devicetree): New prototype.
24576 (grub_xnu_heap_real_start): New variable.
24577 * loader/xnu.c (get_name_ptr): New function.
24578 (grub_xnu_load_driver): Fill namelen and name.
24579
24580 64-bit xnu support.
24581
24582 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
24583 and 'loader/macho64.c'.
24584 * conf/i386-pc.rmk: Likewise.
24585 * conf/x86_64-efi.rmk: Likewise.
24586 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
24587 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
24588 * include/grub/macho.h (grub_macho_segment64): New structure.
24589 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
24590 (grub_macho_size32): ... to this.
24591 (grub_macho32_get_entry_point): Renamed from ...
24592 (grub_macho_get_entry_point32): ... to this.
24593 (grub_macho_contains_macho64): New prototype.
24594 (grub_macho_size64): Likewise.
24595 (grub_macho_get_entry_point64): Likewise.
24596 (grub_macho32_load): Renamed from ...
24597 (grub_macho_load32): ... to this.
24598 (grub_macho32_filesize): Renamed from ...
24599 (grub_macho_filesize32): ... to this.
24600 (grub_macho32_readfile): Renamed from ...
24601 (grub_macho_readfile32): ... to this.
24602 (grub_macho_filesize64): New prototype.
24603 (grub_macho_readfile64): Likewise.
24604 (grub_macho_parse32): Likewise.
24605 (grub_macho_parse64): Likewise.
24606 * loader/macho.c: Split into ...
24607 * loader/machoXX.c: ... and this. Replace 32 with XX.
24608 * loader/macho32.c: New file.
24609 * loader/macho64.c: Likewise.
24610 * loader/xnu.c (grub_xnu_is_64bit): New variable.
24611 (grub_cmd_xnu_kernel): Make 32-bit only.
24612 (grub_cmd_xnu_kernel64): New function.
24613 (grub_xnu_load_driver): Support Mach-O 64.
24614 (grub_cmd_xnu_mkext): Likewise.
24615 * util/grub.d/30_os-prober.in (osx_entry): New function.
24616 Generate entries for 64-bit boot too.
24617
24618 Eliminate ad-hoc tree format in XNU and EfiEmu.
24619
24620 * efiemu/main.c (grub_efiemu_prepare): Update comment.
24621 * efiemu/pnvram.c: Rewritten to use environment variables.
24622 All users updated.
24623
24624 Inline utf16_to_utf8.
24625
24626 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
24627 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
24628 All users updated.
24629 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
24630
24631 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
24632 * commands/usbtest.c (grub_usb_get_string): ... move here.
24633 (usb_print_str): Fix error handling.
24634 * include/grub/usb.h (grub_usb_get_string): Remove.
24635
24636 UTF-8 to UTF-16 transformation.
24637
24638 * conf/common.rmk (pkglib_MODULES): Add charset.mod
24639 (charset_mod_SOURCES): New variable.
24640 (charset_mod_CFLAGS): Likewise.
24641 (charset_mod_LDFLAGS): Likewise.
24642 * include/grub/utf.h: New file.
24643 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
24644
24645 Support for device properties.
24646
24647 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
24648 (grub_xnu_devprop_device_header): Likewise.
24649 (grub_xnu_devprop_device_descriptor): Likewise.
24650 (grub_xnu_devprop_add_device): New prototype.
24651 (grub_xnu_devprop_remove_device): Likewise.
24652 (grub_xnu_devprop_remove_property): Likewise.
24653 (grub_xnu_devprop_add_property_utf8): Likewise.
24654 (grub_xnu_devprop_add_property_utf16): Likewise.
24655 (grub_cpu_xnu_init): Likewise.
24656 (grub_cpu_xnu_fini): Likewise.
24657 (grub_cpu_xnu_unload): Likewise.
24658 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
24659 (property_descriptor): Likewise.
24660 (devices): New variable.
24661 (grub_xnu_devprop_remove_property): New function.
24662 (grub_xnu_devprop_add_device): Likewise.
24663 (grub_xnu_devprop_remove_device): Likewise.
24664 (grub_xnu_devprop_add_property): Likewise.
24665 (grub_xnu_devprop_add_property_utf8): Likewise.
24666 (grub_xnu_devprop_add_property_utf16): Likewise.
24667 (hextoval): Likewise.
24668 (grub_cpu_xnu_fill_devprop): Likewise.
24669 (grub_cmd_devprop_load): Likewise.
24670 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
24671 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
24672 (cmd_devprop_load): New variable.
24673 (grub_cpu_xnu_init): New function.
24674 (grub_cpu_xnu_fini): Likewise.
24675 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
24676 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
24677 (grub_cmd_xnu_devtree): Likewise.
24678 (hextoval): New function.
24679 (unescape): Likewise.
24680 (grub_xnu_fill_devicetree): Likewise.
24681
24682 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
24683 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
24684
24685 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
24686
24687 Workaround for broken ATI VBE.
24688
24689 * video/i386/pc/vbe.c (last_set_mode): New variable.
24690 (grub_vbe_set_video_mode): Set 'last_set_mode'.
24691 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
24692 (grub_video_vbe_setup): Don't check for reserved flag.
24693
24694 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
24695
24696 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
24697 the `find' command.
24698
24699 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
24700
24701 UUID support for HFS.
24702
24703 * fs/hfs.c (grub_hfs_uuid): New function.
24704 (grub_hfs_fs): New value .uuid.
24705 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
24706
24707 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
24708
24709 Fix a segfault with parsing unknown long options.
24710
24711 * util/grub-mkrelpath.c (options): Zero terminate it.
24712
24713 2009-12-13 Carles Pina i Estany <carles@pina.cat>
24714
24715 * include/grub/misc.h (grub_puts): New declaration.
24716 (grub_puts_): Likewise.
24717 * kern/misc.c (grub_puts): New definition.
24718 (grub_puts_): Likewise.
24719
24720 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
24721
24722 * util/grub-probe.c (probe): Improve error message.
24723
24724 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
24725
24726 * loader/i386/multiboot_elfxx.c
24727 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
24728 initialization.
24729
24730 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
24731
24732 Relocator framework
24733
24734 * loader/i386/xnu_helper.S: Removed. All users updated.
24735 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
24736 (relocator_mod_SOURCES): New variable.
24737 (relocator_mod_CFLAGS): Likewise.
24738 (relocator_mod_LDFLAGS): Likewise.
24739 (relocator_mod_ASFLAGS): Likewise.
24740 * conf/x86_64.rmk: Likewise.
24741 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
24742 (grub_multiboot_payload_entry_offset): Likewise.
24743 (grub_multiboot_forward_relocator): Likewise.
24744 (grub_multiboot_forward_relocator_end): Likewise.
24745 (grub_multiboot_backward_relocator): Likewise.
24746 (grub_multiboot_backward_relocator_end): Likewise.
24747 (grub_multiboot_payload_eip): New variable.
24748 (grub_multiboot_payload_orig): Likewise.
24749 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
24750 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
24751 * include/grub/i386/memory.h
24752 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
24753 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
24754 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
24755 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
24756 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
24757 * include/grub/i386/relocator.h: New file.
24758 * include/grub/x86_64/relocator.h: Likewise.
24759 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
24760 (XNU_RELOCATOR): New macro.
24761 (grub_xnu_launcher_start): Remove.
24762 (grub_xnu_launcher_end): Likewise.
24763 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
24764 (grub_xnu_heap_real_start): Remove.
24765 (grub_xnu_heap_start): Change to void *. All users updated.
24766 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
24767 * lib/i386/relocator.c: New file.
24768 * lib/i386/relocator_asm.S: Likewise.
24769 * lib/i386/relocator_backward.S: Likewise.
24770 * lib/mips/relocator.c: Likewise.
24771 * lib/mips/relocator_asm.S: Likewise.
24772 * lib/relocator.c: Likewise.
24773 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
24774 (entry): Removed.
24775 (playground): Likewise.
24776 (grub_multiboot_payload_orig): New variable.
24777 (grub_multiboot_payload_dest): Likewise.
24778 (grub_multiboot_payload_size): Likewise.
24779 (grub_multiboot_payload_eip): Likewise.
24780 (grub_multiboot_payload_esp): Likewise.
24781 (grub_multiboot_boot): Use grub_relocator32_boot.
24782 (grub_multiboot_unload): Free relocators.
24783 (grub_multiboot): Setup stack. Use relocators.
24784 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
24785 (grub_multiboot_load_elfXX): Use relocators.
24786 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
24787 (grub_multiboot_payload_size): Likewise.
24788 (grub_multiboot_payload_dest): Likewise.
24789 (grub_multiboot_payload_entry_offset): Likewise.
24790 (grub_multiboot_forward_relocator): Likewise.
24791 (grub_multiboot_backward_relocator): Likewise.
24792 (grub_multiboot_real_boot): Likewise.
24793 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
24794 (grub_xnu_entry_point): Likewise.
24795 (grub_xnu_arg1): Likewise.
24796 (grub_xnu_stack): Likewise.
24797 (grub_xnu_launch): Removed.
24798 (grub_xnu_boot_resume): New function.
24799 (grub_xnu_boot): Use relocators.
24800 * loader/i386/xnu_helper.S: Removed.
24801 * loader/xnu.c (grub_xnu_heap_start): New variable.
24802 (grub_xnu_heap_size): Likewise.
24803 (grub_xnu_heap_malloc): Use relocators.
24804 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
24805
24806 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
24807
24808 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
24809 anything.
24810
24811 2009-12-13 Carles Pina i Estany <carles@pina.cat>
24812
24813 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
24814 GRUB_ERR_NONE before calling grub_env_set.
24815
24816 2009-12-12 Robert Millan <rmh@aybabtu.com>
24817
24818 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
24819 * genmk.rb (video): New variable.
24820 (CLEANFILES, VIDEOFILES): Add #{video}.
24821 (#{video}): New target rule.
24822 * genvideolist.sh: New file.
24823 * Makefile.in (pkglib_DATA): Add video.lst.
24824 (video.lst): New target rule.
24825 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
24826 `video.lst'.
24827 * util/grub.d/30_os-prober.in: Replace `vbe' with
24828 ${GRUB_VIDEO_BACKEND}.
24829
24830 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
24831
24832 * THANKS: Add David Miller.
24833
24834 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
24835
24836 libpciaccess support.
24837
24838 * Makefile.in (LIBPCIACCESS): New variable.
24839 (enable_grub_emu_pci): Likewise.
24840 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
24841 util/pci.c and commands/lspci.c.
24842 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
24843 * configure.ac (grub-emu-pci): New option.
24844 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
24845 (grub_pci_device_unmap_range): Likewise.
24846 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
24847 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
24848 (grub_pci_address_t) [!GRUB_UTIL]: New type.
24849 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
24850 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
24851 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
24852 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
24853 * include/grub/pciutils.h: New file.
24854 * util/pci.c: Likewise.
24855
24856 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
24857
24858 * util/misc.c: Don't include <errno.h> twice.
24859
24860 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
24861
24862 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
24863 name in an error message.
24864 (grub_biosdisk_rw): Likewise.
24865
24866 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
24867
24868 Eliminate NTFS 4Gib barrier.
24869
24870 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
24871 (read_run_data): Likewise.
24872 (grub_ntfs_read_run_list): Likewise.
24873 (grub_ntfs_read_block): Likewise.
24874 (grub_ntfs_iterate_dir): Likewise.
24875 (read_mft): Likewise.
24876 (read_data): Likewise.
24877 Use COM_LOG_LEN.
24878 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
24879 to avoid 64-bit division
24880 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
24881 (grub_ntfs_rlst): Use grub_disk_addr_t.
24882
24883 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
24884
24885 Eliminate grub-fstest 4Gib barrier.
24886
24887 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
24888 (read_file): Fix error reporting.
24889
24890 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
24891
24892 Eliminate hexdump 4Gib barrier.
24893
24894 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
24895 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
24896
24897 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
24898
24899 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
24900 Fixes amarsh bug.
24901
24902 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
24903
24904 Remove miscellaneous files in distclean target.
24905
24906 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
24907
24908 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
24909
24910 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
24911 if they're already set. This resolves the conflict between my
24912 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
24913 fixing the --grub-probe option again.
24914 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
24915 change on 2009-10-06, so that we now once again source
24916 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
24917
24918 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
24919
24920 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
24921 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
24922 `util/devicemap.c'.
24923
24924 2009-12-08 Carles Pina i Estany <carles@pina.cat>
24925
24926 * include/grub/misc.h (grub_printf_): New declaration.
24927 * kern/misc.c (grub_printf_): New definition.
24928 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
24929 instead of `grub_printf' and `_'.
24930 * normal/menu_entry.c (store_completion): Likewise.
24931 (run): Likewise.
24932 (grub_menu_entry_run): Likewise.
24933 * normal/menu_text.c (grub_wait_after_message): Likewise.
24934 (notify_booting): Likewise.
24935 (notify_fallback): Likewise.
24936 (notify_execution_failure): Likewise.
24937
24938 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
24939
24940 * configure.ac: Check for vasprintf.
24941 * util/misc.c (asprintf): Move allocation from here ...
24942 (vasprintf): ... to here. New function.
24943 (xasprintf): New function.
24944 * include/grub/util/misc.h (vasprintf, xasprintf): Add
24945 prototypes.
24946 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
24947 * util/grub-mkfont.c (write_font): Likewise.
24948 * util/grub-probe.c (probe): Likewise.
24949 * util/hostdisk.c (make_device_name): Likewise.
24950
24951 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
24952
24953 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
24954 anything even prefixed with 'cdrom' as a cdrom.
24955
24956 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
24957
24958 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
24959 mount points.
24960
24961 2009-12-05 Carles Pina i Estany <carles@pina.cat>
24962
24963 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
24964 grub_gettext_msg_list.
24965 (grub_gettext_gettranslation_from_position): Return const char *
24966 and not char *.
24967 (grub_gettext_translate): Add the translated strings into a list,
24968 returns from the list if existing there.
24969 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
24970 (grub_gettext_delete_list): Delete the list.
24971 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
24972 lang environment variable is changed.
24973 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
24974
24975 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
24976
24977 Rename kernel.mod to kernel.img.
24978
24979 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
24980 (kernel_mod_EXPORTS): Rename to ...
24981 (kernel_img_EXPORTS): ... this.
24982 (kernel_mod_SOURCES): Rename to ...
24983 (kernel_img_SOURCES): ... this.
24984 (kernel_mod_HEADERS): Rename to ...
24985 (kernel_img_HEADERS): ... this. All users updated.
24986 (kernel_mod_CFLAGS): Rename to ...
24987 (kernel_img_CFLAGS): ... this.
24988 (kernel_mod_ASFLAGS): Rename to ...
24989 (kernel_img_ASFLAGS): ... this.
24990 (kernel_mod_LDFLAGS): Rename to ...
24991 (kernel_img_LDFLAGS): ... this.
24992 * conf/x86_64-efi.rmk: Likewise.
24993 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
24994 (read_kernel_image): ... this. All users updated.
24995 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
24996
24997 2009-12-05 Carles Pina i Estany <carles@pina.cat>
24998
24999 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
25000 (print_spaces): New function.
25001 (grub_print_ucs4): New function.
25002 (getstringwidth): New function.
25003 (print_message_indented): New function.
25004 (print_message): Gettexttize strings using print_message_indented.
25005 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
25006 width.
25007 (get_entry_number): Gettextize and uses dynamic terminal width.
25008 (notify_booting, notify_fallback, notify_execution_failure):
25009 Gettextize.
25010 * normal/menu_entry.c (store_completion): Cleanup the gettextized
25011 string.
25012 (run): Likewise.
25013 (grub_menu_entry_run): Likewise.
25014 * PO/POTFILES: Add normal/menu_entry.c.
25015
25016 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
25017
25018 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
25019
25020 2009-12-05 Carles Pina i Estany <carles@pina.cat>
25021
25022 * util/grub-install.in: Install gettext .mo files.
25023 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
25024
25025 2009-12-05 Carles Pina i Estany <carles@pina.cat>
25026
25027 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
25028 grub_dprintf.
25029
25030 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
25031
25032 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
25033 non-firmware-dependant one in realmode.S takes precedence.
25034
25035 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
25036
25037 * commands/halt.c: Replace misc arch-specific headers with
25038 `<grub/misc.h>'.
25039 * commands/reboot.c: Likewise.
25040 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
25041 `<grub/misc.h>'.
25042 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
25043 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
25044 (kernel_img_SOURCES): ... to here.
25045
25046 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
25047 * include/grub/i386/pc/init.h: Likewise.
25048 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
25049 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
25050
25051 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
25052
25053 * include/grub/i386/halt.h: Remove.
25054 * include/grub/i386/reboot.h: Likewise.
25055
25056 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
25057
25058 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
25059
25060 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
25061 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
25062 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
25063 "progname.h"
25064 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
25065 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25066 (usage): Add missing comma in printf.
25067
25068 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
25069
25070 Use the same reboot approach on i386 coreboot and qemu as we do on
25071 BIOS.
25072
25073 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
25074 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
25075 * kern/i386/reboot.c: Remove.
25076 * include/grub/i386/reboot.h (grub_reboot): Export function.
25077 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
25078 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
25079 0xf000:0xfff0 instead of 0xffff:0x0000.
25080 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
25081 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
25082
25083 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
25084
25085 Fix $srcdir != $objdir build.
25086
25087 * Makefile.in (po/%.po): Rewrite as ...
25088 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
25089
25090 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
25091
25092 Fix GNU/Hurd grub-install crash.
25093 * util/grub-probe.c (probe): Try to access `path' only when it is not
25094 NULL.
25095
25096 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
25097
25098 Correct module naming.
25099
25100 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
25101 (GRUB_MOD_INIT(efi_uga)): ... to this
25102 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
25103 (GRUB_MOD_FINI(efi_uga)): ... to this
25104 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
25105 (GRUB_MOD_INIT(efi_gop)): ... to this
25106 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
25107 (GRUB_MOD_FINI(efi_gop)): ... to this
25108
25109 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
25110
25111 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
25112 translatable.
25113 (usage): Translate `arg' strings using gettext().
25114 Thanks to Jordi Mallach for the suggestion.
25115
25116 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
25117
25118 GOP support. Based on patch from Bean
25119 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
25120
25121 * video/efi_gop.c: New file.
25122 * include/grub/efi/graphics_output.h: Likewise.
25123 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
25124 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
25125 variables.
25126 * conf/x86_64-efi.rmk: Likewise.
25127
25128 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
25129
25130 Rename efi_fb to efi_uga.
25131
25132 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
25133 'efi_uga.mod'.
25134 (efi_fb_mod_SOURCES): Rename this ...
25135 (efi_uga_mod_SOURCES): ... to this.
25136 (efi_fb_mod_CFLAGS): Rename this ...
25137 (efi_uga_mod_CFLAGS): ... to this.
25138 (efi_fb_mod_LDFLAGS): Rename this ...
25139 (efi_uga_mod_LDFLAGS): ... to this.
25140 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
25141 'efi_uga.mod'.
25142 (efi_fb_mod_SOURCES): Rename this ...
25143 (efi_uga_mod_SOURCES): ... to this.
25144 (efi_fb_mod_CFLAGS): Rename this ...
25145 (efi_uga_mod_CFLAGS): ... to this.
25146 (efi_fb_mod_LDFLAGS): Rename this ...
25147 (efi_uga_mod_LDFLAGS): ... to this.
25148 * video/efi_fb.c: Move this ...
25149 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
25150
25151 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
25152
25153 * po/README: New file. Explain our PO file workflow.
25154
25155 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
25156
25157 * po/ChangeLog: Remove. Move relevant entries back to ...
25158 * ChangeLog: ... here.
25159 * po/ca.po: Remove (now handled by TLP).
25160 * po/id.po: Likewise.
25161 * po/zh_CN.po: Likewise.
25162 * Makefile.in (LINGUAS): Initialize in a way that supports
25163 empty set.
25164
25165 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
25166
25167 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
25168 reliing on po/LINGUAS.
25169 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
25170 (po/%.po): ... this.
25171
25172 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
25173
25174 * util/i386/efi/grub-mkimage.c: Include "progname.h".
25175 (main): Use `program_name' instead of nonexistent `progname'.
25176
25177 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
25178
25179 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
25180 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
25181
25182 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
25183
25184 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
25185 commit.
25186 * conf/i386-efi.rmk: Likewise.
25187 * conf/i386-ieee1275.rmk: Likewise.
25188 * conf/powerpc-ieee1275.rmk: Likewise.
25189 * conf/sparc64-ieee1275.rmk: Likewise.
25190 * conf/x86_64-efi.rmk: Likewise.
25191
25192 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
25193
25194 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
25195
25196 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
25197
25198 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
25199
25200 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
25201
25202 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
25203 (grub_mkdevicemap_SOURCES): New variable.
25204 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
25205 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
25206 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
25207 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
25208 (grub_mkdevicemap_SOURCES): Remove.
25209 * conf/i386-efi.rmk: Likewise.
25210 * conf/i386-ieee1275.rmk: Likewise.
25211 * conf/i386-pc.rmk: Likewise.
25212 * conf/powerpc-ieee1275.rmk: Likewise.
25213 * conf/sparc64-ieee1275.rmk: Likewise.
25214 * conf/x86_64-efi.rmk: Likewise.
25215 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
25216 (usage): Fix strings to use `program_name'.
25217 (main): Initialize gettext.
25218 * util/grub-editenv.c: Likewise.
25219 * util/grub-emu.c: Likewise.
25220 * util/grub-fstest.c: Likewise.
25221 * util/grub-mkdevicemap.c: Likewise.
25222 * util/grub-mkfont.c: Likewise.
25223 * util/grub-mkrelpath.c: Likewise.
25224 * util/grub-pe2elf.c: Likewise.
25225 * util/grub-probe.c: Likewise.
25226 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
25227 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
25228 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25229
25230 * util/misc.c: Include `"progname.h"'.
25231 (progname): Remove variable.
25232 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
25233
25234 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
25235
25236 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
25237 printf and print a newline after the menuentry header line.
25238 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
25239
25240 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
25241
25242 autoconf >= 2.60 support $(localedir).
25243
25244 * INSTALL: Note that autoconf 2.60 is required.
25245 * configure.ac (AC_PREREQ): Bump to 2.60.
25246 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
25247 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
25248
25249 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
25250
25251 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
25252 aclocal is run.
25253
25254 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
25255
25256 * normal/main.c (grub_normal_read_line): Fix off-by-one
25257 buffer overflow.
25258
25259 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
25260
25261 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
25262 "parser.grub" in grub_command_execute() call.
25263
25264 2009-11-24 Carles Pina i Estany <carles@pina.cat>
25265
25266 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
25267 * conf/i386-efi.rmk: Likewise.
25268 * conf/i386-ieee1275.rmk: Likewise.
25269 * conf/i386-pc.rmk: Likewise.
25270 * conf/powerpc-ieee1275.rmk: Likewise.
25271 * conf/sparc64-ieee1275.rmk: Likewise.
25272 * conf/x86_64-efi.rmk: Likewise.
25273 * gettext/gettex.c: Include <grub/i18n.h>.
25274 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
25275 here ...
25276 * include/grub/i18n.h: ... to here
25277 * include/grub/i18n.h: ... to here.
25278 * kern/misc.c: Include <grub/i18n.h>
25279 (grub_gettext_dummy): Move above user.
25280
25281 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25282
25283 * util/Makefile.in (install-local): Convert a `for' into a normal
25284 shell expansion.
25285
25286 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
25287
25288 * autogen.sh: Add automake call.
25289 * config.guess: Remove.
25290 * config.sub: Likewise.
25291 * install-sh: Likewise.
25292
25293 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25294
25295 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
25296
25297 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25298
25299 * util/Makefile.in (install-local): Convert a make `$(foreach)'
25300 function to a normal shell `for'.
25301
25302 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25303
25304 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
25305
25306 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25307
25308 * util/grub-mkrelpath.c: New file.
25309 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
25310 (grub_mkrelpath_SOURCES): New variable.
25311 * include/grub/util/misc.h: New function prototype.
25312 * util/misc.c (make_system_path_relative_to_its_root): New function.
25313
25314 * util/grub-mkconfig_lib.in (bindir): New variable.
25315 (grub_mkrelpath): Likewise.
25316 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
25317
25318 * util/probe.c (probe): Make the file path relative to its root.
25319 Change a info message to use the GRUB path. Enable again the
25320 check if we can read the file with GRUB facilities.
25321
25322 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
25323 to its root.
25324
25325 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25326
25327 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
25328 platform.
25329
25330 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25331
25332 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
25333 strncmp().
25334
25335 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25336
25337 * util/getroot.c (grub_util_is_dmraid): New function.
25338 (grub_util_get_dev_abstraction): Treat dmraid and multipath
25339 devices as normal ones, not as LVM.
25340
25341 2009-11-23 Carles Pina i Estany <carles@pina.cat>
25342
25343 * conf/common.rmk: Add grub-gettext_lib target and updates
25344 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
25345 LDFLAGS.
25346 * gettext/gettext.c: New file. (Reads mo files).
25347 * include/grub/file.h (grub_file_pread): New prototype.
25348 * include/grub/i18n.h (_): New prototype.
25349 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
25350 prototypes.
25351 * kern/misc.c (grub_gettext_dummy): New function.
25352 * normal/menu_text.c: Include <grub/i18n.h>.
25353 * normal/menu_text.c (print_timeout): Gettexttize string.
25354 * normal/menu_text.c (print_message): Gettexttize string.
25355 * po/POTFILES: Add `normal/menu_text.c'.
25356 * po/ca.po: Add new translations.
25357 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
25358 gettext module and defines locale_dir and lang in grub.cfg.
25359 * NEWS: Add gettext support.
25360
25361 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25362
25363 * util/hostdisk.c: Include `<grub/i18n.h>'.
25364 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
25365 (make_device_name): Rewrite using asprintf.
25366 (convert_system_partition_to_system_disk): Replace 0 with NULL.
25367 (find_system_device): If a device is not found, generate one just
25368 by reusing the OS path name.
25369 (read_device_map): Make it permissible for device.map not to exist.
25370
25371 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25372
25373 * script/sh/execute.c: Move from here ...
25374 * script/execute.c: ... to here. Update all users.
25375 * script/sh/function.c: Move from here ...
25376 * script/function.c: ... to here. Update all users.
25377 * script/sh/lexer.c: Move from here ...
25378 * script/lexer.c: ... to here. Update all users.
25379 * script/sh/main.c: Move from here ...
25380 * script/main.c: ... to here. Update all users.
25381 * script/sh/parser.y: Move from here ...
25382 * script/parser.y: ... to here. Update all users.
25383 * script/sh/script.c: Move from here ...
25384 * script/script.c: ... to here. Update all users.
25385
25386 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25387
25388 * configure.ac: Detect all `emu' platforms. Define
25389 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
25390 --enable-grub-emu logic. Disable include/grub/machine
25391 symlink on `emu' platforms.
25392
25393 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
25394 * gensymlist.sh.in: Likewise.
25395
25396 * include/grub/i386/coreboot/machine.h: Remove file.
25397 * include/grub/i386/efi/machine.h: Likewise.
25398 * include/grub/i386/ieee1275/machine.h: Likewise.
25399 * include/grub/i386/pc/machine.h: Likewise.
25400 * include/grub/i386/qemu/machine.h: Likewise.
25401 * include/grub/powerpc/ieee1275/machine.h: Likewise.
25402 * include/grub/sparc64/ieee1275/machine.h: Likewise.
25403 * include/grub/x86_64/efi/machine.h: Likewise.
25404
25405 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
25406 * commands/halt.c: Likewise.
25407 * commands/reboot.c: Likewise.
25408 * include/grub/autoefi.h: Likewise.
25409 * include/grub/i386/at_keyboard.h: Likewise.
25410 * include/grub/i386/kernel.h: Likewise.
25411 * include/grub/i386/loader.h: Likewise.
25412 * include/grub/i386/pc/memory.h: Likewise.
25413 * kern/dl.c: Likewise.
25414 * kern/i386/coreboot/init.c: Likewise.
25415 * loader/i386/bsd.c: Likewise.
25416 * loader/i386/linux.c: Likewise.
25417 * loader/multiboot_loader.c: Likewise.
25418 * term/i386/pc/serial.c: Likewise.
25419 * term/usb_keyboard.c: Likewise.
25420
25421 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
25422 `<grub/machine/machine.h>'
25423 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
25424 * util/misc.c: Remove `<grub/machine/machine.h>' and
25425 `<grub/machine/time.h>'.
25426
25427 * Makefile.in (enable_grub_emu): Remove variable.
25428 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
25429
25430 * conf/any-emu.rmk: New file.
25431 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
25432 (grub_emu_init.c): Move from here ...
25433 * conf/any-emu.rmk: ... to here.
25434
25435 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
25436 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
25437 * conf/any-emu.rmk: ... to here.
25438
25439 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25440
25441 * include/grub/parser.h (grub_parser_register): Document need
25442 of `name' parameter.
25443 * normal/main.c (grub_normal_read_line): Simplify prompt string.
25444 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
25445 "sh" to "grub".
25446
25447 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25448
25449 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
25450 `$(XGETTEXT)'.
25451 * include/grub/i18n.h (N_): New macro.
25452 * util/mkisofs/mkisofs.h: Likewise.
25453 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
25454 around N_().
25455 (usage): Use gettext() to translate help strings when printing them.
25456
25457 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25458
25459 Based on patch from Bean
25460 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
25461
25462 * video/efi_fb.c: New file.
25463 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
25464 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
25465 variables.
25466 * conf/x86_64-efi.rmk: Likewise.
25467
25468 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
25469
25470 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
25471 * util/i386/pc/grub-setup.c: Likewise.
25472
25473 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
25474
25475 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
25476 <hurd/fs.h>
25477 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
25478 file_get_storage_info to implement grub_guess_root_device.
25479
25480 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
25481
25482 * Makefile.in (target): Use make's builtin $(shell) function
25483 instead of calling directly $(SHELL) to create the locale directories,
25484 inside the $(foreach) function.
25485
25486 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
25487
25488 * util/grub-mkrescue.in: Print an error and usage if output option
25489 has not been given.
25490
25491 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
25492
25493 Patch from Loïc Minier <loic.minier@ubuntu.com>.
25494 * util/grub.d/30_os-prober.in: Cope with Linux entries where
25495 root and /boot are on different devices.
25496
25497 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
25498
25499 Fix build for srcdir != objdir.
25500
25501 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
25502 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
25503 $(srcdir).
25504 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
25505 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
25506 reference for input.
25507
25508 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
25509
25510 * util/grub-mkrescue.in: Use source directory direcly (without copiing
25511 or hardlinking it). Remove -J option, Joliet is not compatible with
25512 multiple source directories.
25513
25514 2009-11-21 Carles Pina i Estany <carles@pina.cat>
25515 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
25516
25517 * util/grub-mkrescue.in: Recognize `--override-directory' option.
25518 (process_input_dir): New function. Process an arbitrary input
25519 directory.
25520 Misc adjustments to support both "override mode" and system-wide mode.
25521
25522 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
25523
25524 * configure.ac (UNIFONT_BDF): Rename to ...
25525 (FONT_SOURCE): ... this. Update all users.
25526
25527 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
25528
25529 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
25530 to the list of unifont files to look for.
25531
25532 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
25533
25534 Patch from Joe Auricchio <jauricchio@gmail.com>
25535 * commands/minicmd.c (grub_mini_cmd_clear): New function.
25536 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
25537 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
25538
25539 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
25540
25541 * Makefile.in (install-local): Add a missing backslash.
25542
25543 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
25544
25545 * include/grub/x86_64/io.h: New file.
25546
25547 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
25548
25549 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
25550 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
25551 Include `"progname.h"'.
25552 (main): Initialize gettext.
25553 * util/i386/pc/grub-setup.c: Gettexttize.
25554 * util/i386/pc/grub-mkimage.c: Likewise.
25555
25556 * Makefile.in (po/*.po): Redefine as ...
25557 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
25558
25559 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
25560
25561 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
25562
25563 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
25564 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
25565 (program_name): Remove.
25566 (main): Initialize gettext support.
25567 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
25568 Include `<libintl.h>'.
25569 (_): New macro.
25570
25571 * util/mkisofs/eltorito.c: Gettexttize.
25572 * util/mkisofs/joliet.c: Likewise.
25573 * util/mkisofs/mkisofs.c: Likewise.
25574 * util/mkisofs/multi.c: Likewise.
25575 * util/mkisofs/rock.c: Likewise.
25576 * util/mkisofs/tree.c: Likewise.
25577 * util/mkisofs/write.c: Likewise.
25578
25579 * po/POTFILES: Update with new files.
25580
25581 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
25582
25583 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
25584 * util/mkisofs/iso9660.h: Likewise.
25585 * util/mkisofs/joliet.c: Likewise.
25586 * util/mkisofs/mkisofs.c: Likewise.
25587 * util/mkisofs/mkisofs.h: Likewise.
25588 * util/mkisofs/rock.c: Likewise.
25589 * util/mkisofs/tree.c: Likewise.
25590 * util/mkisofs/write.c: Likewise.
25591
25592 * util/mkisofs/eltorito.c (rcsid): Remove.
25593 * util/mkisofs/hash.c: Likewise.
25594 * util/mkisofs/joliet.c: Likewise.
25595 * util/mkisofs/name.c: Likewise.
25596 * util/mkisofs/rock.c: Likewise.
25597 * util/mkisofs/tree.c: Likewise.
25598 * util/mkisofs/write.c: Likewise.
25599
25600 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
25601
25602 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
25603 instead of static allocation.
25604 * util/mkisofs/match.h: Likewise.
25605
25606 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
25607
25608 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
25609 and `util/grub.d/10_linux.in'.
25610 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
25611 translatable Shell files.
25612
25613 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
25614
25615 * Makefile.in ($(srcdir)/aclocal.m4): New target.
25616
25617 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25618
25619 * INSTALL: Document Automake is needed for bootstrap.
25620 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
25621 * util/grub.d/10_kfreebsd.in (bindir): New variable.
25622 Add gettext initialization.
25623 (kfreebsd_entry): Make menuentry output translatable.
25624
25625 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25626
25627 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
25628 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
25629 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
25630 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
25631 (LINGUAS): Auto-generate using `po/LINGUAS'.
25632 * po/LINGUAS: New file.
25633
25634 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25635
25636 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
25637 other things).
25638 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
25639 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
25640 bindtextdomain() calls for gettext initialization.
25641
25642 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25643
25644 * gnulib/progname.c: New file (imported from Gnulib).
25645 * gnulib/progname.h: Likewise.
25646 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
25647 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
25648 (usage): Replace `progname' with `program_name'.
25649 (main): Use set_program_name() for program name initialization.
25650
25651 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25652
25653 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
25654 from here ...
25655 * Makefile.in (CPPFLAGS): ... to here.
25656
25657 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
25658
25659 * aclocal.m4: Move from here ...
25660 * acinclude.m4: ... to here.
25661 * autogen.sh: Add call to `aclocal'.
25662 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
25663
25664 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
25665
25666 * Makefile.in (CLEANFILES): Add `po/*.mo'.
25667 (LINGUAS): New variable.
25668 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
25669 (install-local): Install MO files.
25670 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
25671 * include/grub/i18n.h: New file.
25672 * po/POTFILES: New file.
25673 * po/ca.po: New file.
25674 * util/grub.d/10_linux.in (bindir): New variable.
25675 Add gettext initialization.
25676 (linux_entry): Make menuentry output translatable.
25677 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
25678 (usage): Make --help output translatable.
25679 (main): Initialize gettext.
25680
25681 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25682
25683 * import_gcry.py: New file (written by Vladimir with minor
25684 adjustments).
25685 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
25686 ciphers.
25687 * INSTALL: Document that Python is required for bootstrap.
25688
25689 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25690
25691 Import ciphers from libgcrypt 1.4.4.
25692
25693 * lib/libgcrypt/cipher/ChangeLog
25694 * lib/libgcrypt/cipher/ac.c
25695 * lib/libgcrypt/cipher/arcfour.c
25696 * lib/libgcrypt/cipher/bithelp.h
25697 * lib/libgcrypt/cipher/blowfish.c
25698 * lib/libgcrypt/cipher/camellia-glue.c
25699 * lib/libgcrypt/cipher/camellia.c
25700 * lib/libgcrypt/cipher/camellia.h
25701 * lib/libgcrypt/cipher/cast5.c
25702 * lib/libgcrypt/cipher/cipher.c
25703 * lib/libgcrypt/cipher/crc.c
25704 * lib/libgcrypt/cipher/des.c
25705 * lib/libgcrypt/cipher/dsa.c
25706 * lib/libgcrypt/cipher/ecc.c
25707 * lib/libgcrypt/cipher/elgamal.c
25708 * lib/libgcrypt/cipher/hash-common.c
25709 * lib/libgcrypt/cipher/hash-common.h
25710 * lib/libgcrypt/cipher/hmac-tests.c
25711 * lib/libgcrypt/cipher/md.c
25712 * lib/libgcrypt/cipher/md4.c
25713 * lib/libgcrypt/cipher/md5.c
25714 * lib/libgcrypt/cipher/primegen.c
25715 * lib/libgcrypt/cipher/pubkey.c
25716 * lib/libgcrypt/cipher/rfc2268.c
25717 * lib/libgcrypt/cipher/rijndael-tables.h
25718 * lib/libgcrypt/cipher/rijndael.c
25719 * lib/libgcrypt/cipher/rmd.h
25720 * lib/libgcrypt/cipher/rmd160.c
25721 * lib/libgcrypt/cipher/rsa.c
25722 * lib/libgcrypt/cipher/seed.c
25723 * lib/libgcrypt/cipher/serpent.c
25724 * lib/libgcrypt/cipher/sha1.c
25725 * lib/libgcrypt/cipher/sha256.c
25726 * lib/libgcrypt/cipher/sha512.c
25727 * lib/libgcrypt/cipher/tiger.c
25728 * lib/libgcrypt/cipher/twofish.c
25729 * lib/libgcrypt/cipher/whirlpool.c
25730
25731 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
25732
25733 Fix build for systems without error().
25734
25735 * gnulib/error.c: New file (imported from Gnulib).
25736 * gnulib/error.h: Likewise.
25737 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
25738 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
25739 (this variable is now used by error()).
25740
25741 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
25742
25743 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
25744 instead of relying that char is signed.
25745
25746 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
25747
25748 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
25749 blocksize different from specified.
25750 (grub_pxefs_read): Likewise.
25751
25752 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
25753
25754 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
25755
25756 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
25757 (grub_ata_readwrite): Likewise. Update 2 format strings.
25758 (grub_atapi_read): Likewise.
25759
25760 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
25761 * conf/i386.rmk (pkglib_MODULES): ... to here ...
25762 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
25763 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
25764 (ata_mod_LDFLAGS): Move from here ...
25765 * conf/i386.rmk: ... to here ...
25766 * conf/x86_64-efi.rmk: ... and here.
25767 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
25768 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
25769
25770 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
25771
25772 Relicense multiboot.h, with RMS' blessing.
25773
25774 * include/multiboot.h: Change to X11 license.
25775
25776 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
25777
25778 Support --version in grub-mkisofs.
25779
25780 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
25781 (OPTION_VERSION): New macro.
25782 (ld_options): Recognize --version.
25783 (usage): Move `program_name' from here ...
25784 (program_name): ... to here. Add `static' qualifier.
25785 (main): Recognize `OPTION_VERSION'.
25786
25787 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
25788
25789 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
25790 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
25791
25792 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
25793
25794 Fix help2man generation for mkisofs.
25795
25796 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
25797 (usage): Send output to stdout (rather than stderr).
25798
25799 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
25800
25801 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
25802 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
25803 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
25804 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
25805 (bin_SCRIPTS): Add `grub-mkfloppy'.
25806 (grub_mkfloppy_SOURCES): New variable.
25807
25808 * util/grub-mkrescue.in: New file.
25809 * util/i386/pc/grub-mkfloppy.in: New file.
25810
25811 * util/i386/coreboot/grub-mkrescue.in: Remove.
25812 * util/i386/pc/grub-mkrescue.in: Remove.
25813
25814 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
25815
25816 * include/grub/multiboot.h (struct grub_multiboot_header): Move
25817 from here ...
25818 * include/multiboot.h (struct multiboot_header): ... to here. Update
25819 all users.
25820 * include/grub/multiboot.h (struct grub_multiboot_info): Move
25821 from here ...
25822 * include/multiboot.h (struct multiboot_info): ... to here. Update
25823 all users.
25824 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
25825 from here ...
25826 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
25827 Update all users.
25828 * include/grub/multiboot.h (struct grub_mod_list): Move
25829 from here ...
25830 * include/multiboot.h (struct multiboot_mod_list): ... to here.
25831 Update all users.
25832
25833 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
25834
25835 * include/multiboot2.h (multiboot_word): Rename from this ...
25836 (multiboot2_word): ... to this. Update all users.
25837 (multiboot_header): Rename from this ...
25838 (multiboot2_header): ... to this. Update all users.
25839 (multiboot_tag_header): Rename from this ...
25840 (multiboot2_tag_header): ... to this. Update all users.
25841 (multiboot_tag_start): Rename from this ...
25842 (multiboot2_tag_start): ... to this. Update all users.
25843 (multiboot_tag_name): Rename from this ...
25844 (multiboot2_tag_name): ... to this. Update all users.
25845 (multiboot_tag_module): Rename from this ...
25846 (multiboot2_tag_module): ... to this. Update all users.
25847 (multiboot_tag_memory): Rename from this ...
25848 (multiboot2_tag_memory): ... to this. Update all users.
25849 (multiboot_tag_unused): Rename from this ...
25850 (multiboot2_tag_unused): ... to this. Update all users.
25851 (multiboot_tag_end): Rename from this ...
25852 (multiboot2_tag_end): ... to this. Update all users.
25853
25854 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
25855
25856 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
25857 this platform we should support Multiboot1 first.
25858
25859 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
25860 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
25861 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
25862
25863 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
25864
25865 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
25866 of write calls (converting them to fwrite() if they aren't already).
25867 (get_torito_desc): Likewise.
25868 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
25869
25870 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
25871
25872 * util/i386/pc/grub-install.in: Move from here ...
25873 * util/grub-install.in: ... to here. Update all users.
25874
25875 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
25876
25877 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
25878
25879 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
25880
25881 Support for El Torito without floppy emulation.
25882
25883 * util/mkisofs/eltorito.c: Include `<errno.h>'.
25884 (init_boot_catalog): Improve error handling.
25885 (get_torito_desc): Don't use floppy emulation unless requested by
25886 user. Patch boot information table when requested via
25887 `-boot-info-table'.
25888 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
25889 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
25890 (use_boot_info_table): New variables.
25891 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
25892 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
25893 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
25894 `--eltorito-emul-floppy'.
25895 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
25896 and `OPTION_ELTORITO_EMUL_FLOPPY'.
25897 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
25898 (use_boot_info_table, get_731): New prototypes.
25899 * util/mkisofs/write.c (get_731): New function.
25900
25901 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
25902
25903 Fix the generation of the man page.
25904
25905 * util/pc/i386/grub-install.in: Source
25906 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
25907
25908 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
25909
25910 Large file support for grub-mkisofs.
25911
25912 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
25913 * util/mkisofs/mkisofs.c (next_extent, last_extent)
25914 (session_start): Upgrade type to `uint64_t'. Update all users.
25915 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
25916 (struct directory_entry): Upgrade type of `starting_block' and
25917 `size' to `uint64_t'. Update all users.
25918 (struct deferred): Remove unused structure.
25919 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
25920 Update all users.
25921 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
25922 file is larger than `UINT32_MAX'.
25923 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
25924 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
25925 return value.
25926 (struct deferred_write): Upgrade type of `extent' and `size' to
25927 `uint64_t'. Update all users.
25928 (last_extent_written): Upgrade type to `uint64_t'. Update all
25929 users.
25930 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
25931 Update all users. Upgrade type of `remain' to `int64_t' and
25932 `use' to `size_t'. Use error() to handle fread() errors.
25933 (write_files): Rely on write_one_file() rather than calling
25934 xfwrite() directly.
25935
25936 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
25937
25938 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
25939
25940 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25941
25942 * util/mkisofs/fnmatch.c: Remove.
25943 * util/mkisofs/getopt1.c: Likewise.
25944 * util/mkisofs/getopt.c: Likewise.
25945 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
25946 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
25947 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
25948 `gnulib/getopt1.c' and `gnulib/getopt.c'.
25949 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
25950
25951 * configure.ac: Detect `mingw32msvc' host_os.
25952 Check for lstat(), getuid() and getgid().
25953
25954 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
25955 instances of `u_char' with `uint8_t'.
25956
25957 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
25958 [!HAVE_GETUID] (getuid): New function (stub).
25959 [!HAVE_GETGID] (getgid): Likewise.
25960 [!HAVE_LSTAT] (lstat): Likewise.
25961 [!S_IROTH] (S_IROTH): New macro (dummy).
25962 [!S_IRGRP] (S_IRGRP): Likewise.
25963
25964 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25965
25966 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
25967 conditional expression).
25968
25969 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25970
25971 Import from Gnulib.
25972
25973 * gnulib/fnmatch.c: New file.
25974 * gnulib/fnmatch.h: Likewise.
25975 * gnulib/fnmatch_loop.c: Likewise.
25976 * gnulib/getopt.c: Likewise.
25977 * gnulib/getopt.h: Likewise.
25978 * gnulib/getopt1.c: Likewise.
25979 * gnulib/getopt_int.h: Likewise.
25980 * gnulib/gettext.h: Likewise.
25981
25982 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25983
25984 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
25985 * normal/handler.c (read_handler_list): Likewise.
25986
25987 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25988
25989 Misc cleanup.
25990
25991 * kern/command.c (grub_register_command_prio): Use
25992 grub_zalloc() instead of explicitly zeroing data.
25993 * kern/list.c: Include `<grub/mm.h>'.
25994 (grub_named_list_find): Replace `0' with `NULL'.
25995 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
25996 (fs_module_list): Change type to `grub_named_list_t'. Update all
25997 users.
25998 * normal/dyncmd.c (read_command_list): Add space between function
25999 call and parenthesis.
26000 * normal/handler.c (read_handler_list): Likewise.
26001
26002 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26003
26004 * normal/auth.c (punishment_delay): Moved from here ...
26005 (grub_auth_strcmp): ... to here (inside function).
26006
26007 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26008
26009 * include/grub/list.h (struct grub_named_list): Remove `const'
26010 qualifier from `name'.
26011 (struct grub_prio_list): Likewise.
26012
26013 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26014
26015 * normal/auth.c: Include `<grub/time.h>'.
26016 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
26017
26018 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26019
26020 * normal/auth.c (punishment_delay): New variable.
26021 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
26022 (grub_auth_check_authentication): Punish failed login attempts with
26023 an incremental (2^N) delay.
26024
26025 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26026
26027 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
26028 path with $(srcdir).
26029
26030 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
26031
26032 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
26033
26034 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26035
26036 * util/i386/coreboot/grub-mkrescue.in: New file.
26037 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
26038 variables.
26039
26040 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
26041 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
26042 * configure.ac: Add header and function checks to satisfy grub-mkisofs
26043 requirements.
26044 * util/mkisofs/defaults.h: New file.
26045 * util/mkisofs/eltorito.c: Likewise.
26046 * util/mkisofs/exclude.h: Likewise.
26047 * util/mkisofs/fnmatch.c: Likewise.
26048 * util/mkisofs/getopt.c: Likewise.
26049 * util/mkisofs/getopt1.c: Likewise.
26050 * util/mkisofs/hash.c: Likewise.
26051 * util/mkisofs/include/fctldefs.h: Likewise.
26052 * util/mkisofs/include/mconfig.h: Likewise.
26053 * util/mkisofs/include/prototyp.h: Likewise.
26054 * util/mkisofs/include/statdefs.h: Likewise.
26055 * util/mkisofs/iso9660.h: Likewise.
26056 * util/mkisofs/joliet.c: Likewise.
26057 * util/mkisofs/match.c: Likewise.
26058 * util/mkisofs/match.h: Likewise.
26059 * util/mkisofs/mkisofs.c: Likewise.
26060 * util/mkisofs/mkisofs.h: Likewise.
26061 * util/mkisofs/multi.c: Likewise.
26062 * util/mkisofs/name.c: Likewise.
26063 * util/mkisofs/rock.c: Likewise.
26064 * util/mkisofs/tree.c: Likewise.
26065 * util/mkisofs/write.c: Likewise.
26066
26067 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
26068
26069 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
26070 being insecure.
26071
26072 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26073
26074 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
26075 `grub-mkimage' (and use $0 when possible).
26076
26077 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26078
26079 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
26080 error message for excessively large memory map.
26081
26082 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26083
26084 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
26085 executable bit.
26086
26087 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26088
26089 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
26090 message for coreboot users.
26091
26092 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
26093
26094 Fix build with GNU gold.
26095
26096 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
26097 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
26098 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
26099 link addresses.
26100 * aclocal.m4: Likewise.
26101
26102 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
26103
26104 * configure.ac (AC_PREREQ): Bump to 2.59d.
26105 * INSTALL: Make it more clear when Autoconf and Ruby are
26106 needed and when to run `./autogen.sh'.
26107
26108 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
26109
26110 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
26111 OSes.
26112
26113 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
26114
26115 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
26116
26117 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
26118
26119 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
26120 giving it to GNU Mach.
26121
26122 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
26123
26124 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
26125 GNU partition number to get internal GRUB partition number.
26126
26127 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
26128
26129 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
26130 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
26131
26132 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
26133
26134 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
26135 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
26136 case.
26137
26138 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
26139
26140 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
26141
26142 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
26143
26144 Fix build problem.
26145
26146 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
26147 `-isystem=$(srcdir)/include'.
26148
26149 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
26150
26151 * util/i386/pc/grub-install.in: Remove hint that device.map should be
26152 checked (grub-install doesn't currently rely on it).
26153
26154 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
26155
26156 Revert SVN r2660.
26157
26158 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
26159 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
26160 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
26161 * conf/i386-ieee1275.rmk: Likewise.
26162 * conf/i386-pc.rmk: Likewise.
26163 * conf/powerpc-ieee1275.rmk: Likewise.
26164 * conf/sparc64-ieee1275.rmk: Likewise.
26165 * conf/x86_64-efi.rmk: Likewise.
26166
26167 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
26168
26169 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
26170
26171 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
26172
26173 * include/grub/misc.h: Stop checking for APPLE_CC.
26174
26175 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
26176
26177 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
26178 doesn't cause an infinite call loop.
26179
26180 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
26181
26182 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
26183 strings.
26184
26185 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26186
26187 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
26188 variable.
26189 * Makefile.in: Likewise.
26190
26191 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26192
26193 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
26194
26195 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26196
26197 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
26198
26199 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26200
26201 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
26202
26203 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26204
26205 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
26206 from here ...
26207 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
26208
26209 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26210
26211 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
26212 in $(MAKEINFO) invocation. This makes it clear in output that
26213 errors are being ignored.
26214
26215 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26216
26217 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
26218 from here ...
26219 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
26220 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
26221 * conf/i386-ieee1275.rmk: Likewise.
26222 * conf/i386-pc.rmk: Likewise.
26223 * conf/powerpc-ieee1275.rmk: Likewise.
26224 * conf/sparc64-ieee1275.rmk: Likewise.
26225 * conf/x86_64-efi.rmk: Likewise.
26226
26227 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
26228
26229 * util/grub-editenv.c (main): If only a command is given, use
26230 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
26231 (usage): FILENAME is now optional and has a default.
26232
26233 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
26234
26235 Improve grub-mkconfig performance when there are several menu
26236 entries on a single filesystem.
26237
26238 * util/grub.d/10_linux.in (linux_entry): Cache the output of
26239 prepare_grub_to_access_device.
26240 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
26241 * util/grub.d/30_os-prober.in: Likewise.
26242
26243 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26244
26245 * util/grub.d/10_freebsd.in: Remove.
26246 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
26247 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
26248
26249 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26250
26251 * docs/grub.cfg: Fix example usage of *BSD loaders.
26252
26253 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26254
26255 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
26256 grub_util_error() call.
26257
26258 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26259
26260 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
26261 `reserved_first_sector' member.
26262 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
26263 `reserved_first_sector' to 1.
26264 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
26265 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
26266 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
26267 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
26268 filesystems which begin at first sector.
26269 (options): New option --skip-fs-probe.
26270 (main): Handle --skip-fs-probe and pass it to setup().
26271
26272 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26273
26274 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
26275 (memset): Fix function prototype.
26276
26277 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26278 2009-10-25 Vasily Averin <vvs@parallels.com>
26279
26280 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
26281 `dirent.direntlen == 0'.
26282
26283 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26284
26285 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
26286 `cpio'.
26287 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
26288
26289 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26290
26291 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
26292 `__trampoline_setup' and `__ucmpdi2'.
26293 * include/grub/powerpc/libgcc.h: Only export symbols for functions
26294 that libgcc provides.
26295
26296 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26297
26298 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
26299 * include/grub/sparc64/libgcc.h (memset): Likewise.
26300 * include/grub/misc.h (memset, memcmp): New function prototypes.
26301
26302 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26303
26304 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
26305 `cpio'.
26306 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
26307
26308 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26309
26310 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
26311 * docs/grub.cfg: Compensate for recent change in multiboot
26312 loader (since 2009-08-14 it won't pass filename to payload).
26313 * util/grub.d/10_hurd.in: Likewise.
26314
26315 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
26316
26317 * config.guess: Update to latest version from config git
26318 repository.
26319 * config.sub: Likewise.
26320
26321 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
26322
26323 Fix build on sparc64.
26324
26325 * configure.ac: Perform checks for libgcc symbols before
26326 adding `-nostdlib' to LDFLAGS.
26327
26328 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
26329
26330 Let user specify OpenBSD root device.
26331
26332 * loader/i386/bsd.c (openbsd_root): New variable.
26333 (openbsd_opts): New option 'root'.
26334 (OPENBSD_ROOT_ARG): New macro.
26335 (grub_openbsd_boot): Use 'openbsd_root'.
26336 (grub_cmd_openbsd): Fill 'openbsd_root'.
26337
26338 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
26339
26340 * NEWS: Misc adjustments.
26341
26342 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
26343
26344 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
26345
26346 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
26347
26348 * configure.ac: Bump version to 1.97.
26349
26350 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
26351
26352 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
26353 -mno-3dnow on x86 architectures. Some toolchains enable these
26354 features by default, but they rely on registers that aren't enabled
26355 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
26356
26357 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
26358
26359 Make entry text a bit more readable.
26360
26361 * util/grub.d/10_linux.in: Add `with' before `Linux'.
26362
26363 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26364
26365 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
26366
26367 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26368
26369 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
26370 operations.
26371
26372 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26373
26374 * configure.ac: Add missing dollar.
26375
26376 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26377
26378 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
26379
26380 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
26381 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
26382 exports.
26383 * include/grub/sparc64/libgcc.h: Likewise. Use
26384 preprocessor conditionals.
26385
26386 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
26387
26388 * conf/common.rmk (grub-dumpbios): Remove rule.
26389 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
26390 * util/grub-dumpbios.in: Remove file.
26391
26392 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
26393
26394 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
26395 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
26396
26397 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
26398 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
26399 users.
26400
26401 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
26402 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
26403 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
26404 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
26405 users.
26406
26407 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
26408
26409 * term/tparm.c: Switch to GPLv3.
26410
26411 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
26412
26413 * include/grub/i386/cpuid.h: Add header protection.
26414
26415 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
26416
26417 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
26418
26419 * include/grub/i386/cpuid.h: New file.
26420 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
26421 (has_longmode): Rename to ...
26422 (grub_cpuid_has_longmode): ... this. Update all users. Remove
26423 `static' attribute.
26424 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
26425 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
26426 on a CPU that doesn't implement AMD64 instruction set.
26427
26428 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
26429
26430 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
26431 that version.texi is rebuilt on version number changes.
26432
26433 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
26434
26435 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
26436 Fixes bug #27602.
26437
26438 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
26439
26440 * util/i386/pc/grub-install.in: Source
26441 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
26442 that the --grub-probe option will work.
26443 * util/sparc64/ieee1275/grub-install.in: Likewise.
26444
26445 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
26446
26447 * configure.ac: Bump version to 1.97~beta4.
26448
26449 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
26450
26451 Resync grub-mkdevicemap in x86_64-efi.
26452
26453 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
26454 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
26455 `util/devicemap.c'.
26456
26457 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
26458
26459 * util/grub-editenv.c (create_envblk_file): Write new block with a
26460 .new suffix and then rename it into place, to ensure atomic
26461 creation.
26462
26463 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
26464
26465 Do not automatically install headers.
26466
26467 * Makefile.in (include_DATA): Remove. Update all users.
26468
26469 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
26470
26471 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
26472 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
26473
26474 * util/osdetect.lua: Remove.
26475 * script/lua/lauxlib.c: Likewise.
26476 * script/lua/ldebug.c: Likewise.
26477 * script/lua/grub_main.c: Likewise.
26478 * script/lua/lauxlib.h: Likewise.
26479 * script/lua/ldebug.h: Likewise.
26480 * script/lua/ltablib.c: Likewise.
26481 * script/lua/liolib.c: Likewise.
26482 * script/lua/lstrlib.c: Likewise.
26483 * script/lua/lualib.h: Likewise.
26484 * script/lua/ldo.c: Likewise.
26485 * script/lua/ldump.c: Likewise.
26486 * script/lua/ldo.h: Likewise.
26487 * script/lua/loslib.c: Likewise.
26488 * script/lua/lundump.c: Likewise.
26489 * script/lua/grub_lib.c: Likewise.
26490 * script/lua/ldblib.c: Likewise.
26491 * script/lua/lundump.h: Likewise.
26492 * script/lua/lmem.c: Likewise.
26493 * script/lua/grub_lib.h: Likewise.
26494 * script/lua/lmathlib.c: Likewise.
26495 * script/lua/lstate.c: Likewise.
26496 * script/lua/ltm.c: Likewise.
26497 * script/lua/lvm.c: Likewise.
26498 * script/lua/lmem.h: Likewise.
26499 * script/lua/lstate.h: Likewise.
26500 * script/lua/ltm.h: Likewise.
26501 * script/lua/ltable.c: Likewise.
26502 * script/lua/lvm.h: Likewise.
26503 * script/lua/llex.c: Likewise.
26504 * script/lua/lgc.c: Likewise.
26505 * script/lua/grub_lua.h: Likewise.
26506 * script/lua/loadlib.c: Likewise.
26507 * script/lua/lfunc.c: Likewise.
26508 * script/lua/lopcodes.c: Likewise.
26509 * script/lua/lparser.c: Likewise.
26510 * script/lua/ltable.h: Likewise.
26511 * script/lua/llex.h: Likewise.
26512 * script/lua/lgc.h: Likewise.
26513 * script/lua/lfunc.h: Likewise.
26514 * script/lua/lbaselib.c: Likewise.
26515 * script/lua/lopcodes.h: Likewise.
26516 * script/lua/lparser.h: Likewise.
26517 * script/lua/lzio.c: Likewise.
26518 * script/lua/linit.c: Likewise.
26519 * script/lua/lobject.c: Likewise.
26520 * script/lua/llimits.h: Likewise.
26521 * script/lua/lstring.c: Likewise.
26522 * script/lua/lzio.h: Likewise.
26523 * script/lua/lapi.c: Likewise.
26524 * script/lua/lcode.c: Likewise.
26525 * script/lua/lua.h: Likewise.
26526 * script/lua/lobject.h: Likewise.
26527 * script/lua/lstring.h: Likewise.
26528 * script/lua/lapi.h: Likewise.
26529 * script/lua/lcode.h: Likewise.
26530 * script/lua/luaconf.h: Likewise.
26531
26532 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
26533
26534 * docs/grub.texi (Command-line and menu entry commands): Document
26535 date and echo commands.
26536
26537 2009-09-24 Pavel Roskin <proski@gnu.org>
26538
26539 * include/grub/kernel.h (struct grub_module_header): Remove
26540 `grub_module_header_types'. Make `type' unsigned. Make `size'
26541 32-bit on all platforms.
26542 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
26543 8-bit field. Use grub_host_to_target32() for `size'.
26544 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
26545 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
26546 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
26547
26548 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
26549
26550 Fix "lost keypress" bug in at_keyboard.
26551
26552 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
26553 Checks for readyness of input buffer (without flushing it).
26554 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
26555 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
26556
26557 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
26558
26559 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
26560 size check within GRUB_MACHINE_PCBIOS section.
26561
26562 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
26563
26564 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
26565 return value.
26566 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
26567 KEYBOARD_ISREADY check.
26568 (grub_at_keyboard_checkkey): Rename to ...
26569 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
26570 Remove gratuitous cast.
26571
26572 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
26573
26574 * configure.ac: Call AC_PROG_MKDIR_P.
26575 * Makefile.in (docs/stamp-vti): Create docs directory. Create
26576 version.texi in $(builddir) rather than $(srcdir).
26577 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
26578 to makeinfo's @include search path.
26579
26580 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
26581
26582 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
26583
26584 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
26585
26586 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
26587 for `*.dpkg-new'.
26588
26589 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
26590
26591 Build info documentation. Some code borrowed from Automake.
26592
26593 * configure.ac: Check for makeinfo.
26594 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
26595 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
26596 docs/version.texi.
26597 (MOSTLYCLEANFILES): Add vti.tmp.
26598 (docs/version.texi, docs/stamp-vti): Update automatically.
26599 (docs/grub.info): Build info documentation. Use --force and ignore
26600 errors for now.
26601 (all-local): Add $(INFOS).
26602 (install-local): Install info files.
26603 (uninstall): Uninstall info files.
26604 * docs/version.texi: Remove from revision control. This file is
26605 automatically generated on build now.
26606 * gendistlist.sh: Add `*.info'.
26607
26608 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
26609
26610 * kern/term.c: Fix indentation.
26611
26612 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
26613
26614 * util/hostdisk.c: Fix a comment.
26615
26616 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
26617
26618 Fix regression introduced in r2539.
26619
26620 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
26621 to 0xA1.
26622
26623 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
26624
26625 * util/grub.d/30_os-prober.in: Don't throw away stderr from
26626 os-prober. Under normal operation, it does not print anything to
26627 stderr; if it does, we need to debug it, and throwing away stderr
26628 makes that excessively difficult.
26629
26630 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
26631
26632 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
26633
26634 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
26635
26636 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
26637 AC_LANG_PROGRAM from autoconf.
26638 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
26639 prototypes (fixes warning).
26640
26641 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
26642 `--disable-werror' was used.
26643
26644 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
26645
26646 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
26647 uninitialized `lastaddr'.
26648
26649 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
26650
26651 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
26652
26653 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
26654
26655 * commands/test.c (get_fileinfo): Return immediately if
26656 grub_fs_probe fails.
26657
26658 2009-09-14 José Martínez <xosemp@gmail.com>
26659
26660 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
26661
26662 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
26663
26664 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
26665 output.
26666
26667 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
26668
26669 * configure.ac: Remove --enable-grub-pe2elf. Only build
26670 grub-pe2elf when needed by the build system itself.
26671 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
26672
26673 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
26674
26675 * configure.ac: Bump version to 1.97~beta3.
26676 * docs/version.texi: Likewise.
26677
26678 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
26679
26680 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
26681 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
26682 from here ...
26683 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
26684 (grub_linux_setup_video): ... to here (with some adjustments).
26685
26686 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
26687
26688 Fix memory corruption issue (spotted by Colin Watson).
26689
26690 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
26691 causing returned size to be stored in an incorrect memory location.
26692 Fix use of uninitialized value when storing the returned size.
26693
26694 2009-09-12 Yves Blusseau <blusseau@zetam.org>
26695
26696 Change clean rules to properly remove files
26697
26698 * genmk.rb: add new clean rules
26699 * Makefile.in (clean): add the new targets
26700 (mostlyclean): likewise
26701
26702 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
26703
26704 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
26705 to grub_uint64_t.
26706 * fs/ntfs.c (init_file): Understand 64-bit sizes for
26707 non-resident files.
26708
26709 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
26710
26711 * configure.ac: Don't look for help2man when cross-compiling. Fixes
26712 part of bug #27349.
26713
26714 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
26715
26716 * util/grub-mkconfig.in: Make the created config mode 400 and
26717 print a warning if it fails.
26718
26719 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
26720
26721 * util/grub.d/40_custom.in: Ask user to type custom entries below
26722 comment, rather than below 'exec tail' line.
26723
26724 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
26725
26726 * util/grub.d/40_custom.in: Make sure that the explanatory text is
26727 visible in grub.cfg.
26728
26729 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
26730
26731 * util/grub.d/40_custom.in: Make it a little clearer how to use this
26732 file.
26733
26734 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
26735
26736 * docs/grub.cfg: Add an example menu entry for memtest86+.
26737
26738 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
26739
26740 * config.guess: Update to latest version from config git.
26741 * config.sub: Likewise.
26742
26743 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
26744
26745 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
26746 unknown-command case. Fixes bug #27320.
26747
26748 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
26749
26750 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
26751 `help' if the command exists.
26752
26753 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
26754
26755 * INSTALL: Require GCC 4.1.3 or later.
26756
26757 2009-09-06 Yves Blusseau <blusseau@zetam.org>
26758
26759 * Makefile.in (RMKFILES): add i386-qemu.rmk
26760 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
26761 $(srcdir)/stamp-h.in
26762
26763 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
26764
26765 * util/grub-probe.c (probe): Comment out buggy codepath, which
26766 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
26767 should be re-enabled after 1.97.
26768
26769 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
26770
26771 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
26772 find searches for.
26773
26774 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
26775
26776 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
26777 unnecessary calls to grub_error.
26778
26779 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
26780
26781 * NEWS: Mention `keystatus' and Unicode fonts.
26782
26783 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
26784
26785 * configure.ac: Bump version to 1.97~beta2.
26786 * docs/version.texi: Likewise.
26787
26788 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
26789
26790 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
26791 containing unwind information in some cases where it previously did
26792 not. Use -fno-dwarf2-cfi-asm if available to restore the old
26793 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
26794 discussion.
26795
26796 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
26797
26798 Embedding loadenv module into grub-emu
26799
26800 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
26801 commands/loadenv.c
26802 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
26803 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
26804 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
26805 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
26806 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
26807 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
26808
26809 2009-09-03 Magnus Granberg <zorry@ume.nu>
26810
26811 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
26812 include -fPIE in the default specs.
26813 * configure.ac: Check if pie_possible is yes and add -fno-PIE
26814 to TARGET_CFLAGS.
26815
26816 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
26817
26818 * INSTALL: Note that GNU Bison 2.3 or later is required.
26819
26820 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
26821
26822 * kern/i386/pc/startup.S: Fix typo.
26823
26824 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
26825
26826 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
26827 according to GCS.
26828
26829 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
26830
26831 * docs/grub.texi (Naming convention): Describe one-based partition
26832 numbering.
26833 (Device syntax): Likewise.
26834 (File name syntax): Likewise.
26835 (Block list syntax): Likewise.
26836 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
26837 menu.lst.
26838 (File name syntax): Likewise.
26839 (Command-line and menu entry commands): Document acpi, blocklist,
26840 crc, export, insmod, keystatus, ls, set, and unset commands.
26841
26842 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
26843
26844 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
26845 to avoid implying that only one of --shift, --ctrl, or --alt may be
26846 used.
26847
26848 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
26849
26850 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
26851 rather than comparing against S_IFREG, which will almost never work.
26852
26853 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
26854
26855 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
26856 (write_blocklists): Likewise.
26857
26858 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
26859
26860 * script/lua/grub_lua.h (fputs): Supply a format string as the first
26861 argument to grub_printf.
26862
26863 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
26864
26865 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
26866 non GNU test.
26867
26868 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
26869
26870 * kern/file.c (grub_file_read): Spelling fix
26871
26872 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
26873
26874 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
26875 loading of headers in some cases.
26876
26877 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
26878
26879 * configure.ac: Bump version to 1.97~beta1.
26880 * docs/version.texi: Likewise.
26881
26882 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
26883
26884 * include/grub/i386/xnu.h: Add license header.
26885 include grub/err.h explicitly.
26886
26887 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
26888
26889 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
26890 to `ufs' in the vfs.root.mountfrom kernel parameter.
26891
26892 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
26893
26894 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
26895
26896 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
26897 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
26898
26899 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
26900 `ARRAY_SIZE' macro.
26901
26902 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
26903
26904 * kern/file.c (grub_file_read): Check offset.
26905 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
26906 * fs/jfs.c (grub_jfs_read_file): Likewise.
26907 * fs/ntfs.c (grub_ntfs_read): Likewise.
26908 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
26909 * fs/minix.c (grub_minix_read_file): Correct offset check.
26910 * fs/ufs.c (grub_ufs_read_file): Likewise.
26911
26912 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
26913
26914 * term/i386/pc/console.c (bios_data_area): Cast
26915 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
26916
26917 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
26918
26919 1-bit optimised blitters.
26920
26921 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
26922 prototype.
26923 (grub_video_fbblit_replace_24bit_1bit): Likewise.
26924 (grub_video_fbblit_replace_16bit_1bit): Likewise.
26925 (grub_video_fbblit_replace_8bit_1bit): Likewise.
26926 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
26927 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
26928 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
26929 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
26930 function.
26931 (grub_video_fbblit_replace_24bit_1bit): Likewise.
26932 (grub_video_fbblit_replace_16bit_1bit): Likewise.
26933 (grub_video_fbblit_replace_8bit_1bit): Likewise.
26934 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
26935 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
26936 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
26937 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
26938 when possible.
26939 * video/video.c (grub_video_get_blit_format): Return
26940 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
26941
26942 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
26943
26944 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
26945 the first argument to grub_printf.
26946
26947 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
26948 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
26949
26950 Add `getkeystatus' terminal method. Add a new `keystatus' command
26951 to query it.
26952
26953 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
26954 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
26955 modifier key bitmasks.
26956 (struct grub_term_input): Add `getkeystatus' member.
26957 (grub_getkeystatus): Add prototype.
26958 * kern/term.c (grub_getkeystatus): New function.
26959
26960 * include/grub/i386/pc/memory.h
26961 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
26962 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
26963 Data Area layout.
26964 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
26965 (grub_console_term_input): Set `getkeystatus' member.
26966 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
26967 constants.
26968 (grub_usb_keyboard_getreport): Likewise.
26969 (grub_usb_keyboard_checkkey): Likewise.
26970 (grub_usb_keyboard_getkeystatus): New function.
26971 (grub_usb_keyboard_term): Set `getkeystatus' member.
26972
26973 * commands/keystatus.c: New file.
26974 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
26975 (keystatus_mod_SOURCES): New variable.
26976 (keystatus_mod_CFLAGS): Likewise.
26977 (keystatus_mod_LDFLAGS): Likewise.
26978 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
26979 commands/keystatus.c.
26980 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26981 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26982 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26983 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26984 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26985 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26986
26987 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
26988
26989 Split befs.mod and afs.mod into *_be.mod and *.mod
26990
26991 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
26992 (grub_fstest_SOURCES): Likewise.
26993 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
26994 (afs_be_mod_SOURCES): New variable.
26995 (afs_be_mod_CFLAGS): Likewise.
26996 (afs_be_mod_LDFLAGS): Likewise.
26997 (befs_be_mod_SOURCES): Likewise.
26998 (befs_be_mod_CFLAGS): Likewise.
26999 (befs_be_mod_LDFLAGS): Likewise.
27000 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
27001 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27002 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27003 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
27004 (grub_emu_SOURCES): Likewise.
27005 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27006 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27007 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27008 * fs/afs_be.c: New file.
27009 * fs/befs_be.c: New file.
27010 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
27011 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
27012 (U16): Replaced with ...
27013 (grub_afs_to_cpu16): ...this. All users updated.
27014 (U32): Replaced with ...
27015 (grub_afs_to_cpu32): ...this. All users updated.
27016 (U64): Replaced with ...
27017 (grub_afs_to_cpu64): ...this. All users updated.
27018 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
27019 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
27020 (grub_afs_validate_sblock): Check only one endianness.
27021 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
27022 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
27023 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
27024 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
27025 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
27026 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
27027 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
27028 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
27029
27030 2009-08-26 Bean <bean123ch@gmail.com>
27031
27032 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
27033 64-bit number.
27034 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
27035 (grub_xfs_inode_block): Change return type to grub_uint64_t.
27036 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
27037
27038 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27039
27040 NetBSD memory map support.
27041
27042 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
27043 (grub_netbsd_btinfo_mmap_header): New structure.
27044 (grub_netbsd_btinfo_mmap_entry): Likewise.
27045 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
27046
27047 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27048
27049 Enable bsd.mod on coreboot.
27050
27051 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
27052 (bsd_mod_SOURCES): New variable.
27053 (bsd_mod_CFLAGS): Likewise.
27054 (bsd_mod_LDFLAGS): Likewise.
27055 (bsd_mod_ASFLAGS): Likewise.
27056 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
27057 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
27058
27059 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27060
27061 Cleanup NetBSD root support.
27062
27063 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
27064 grub_bsd_get_device.
27065 Fix typo.
27066
27067 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
27068
27069 * util/grub.d/00_header.in: Move check for the video backend of
27070 gfxterm from here ...
27071 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
27072 a suitable video backend.
27073
27074 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27075
27076 Fix breakage in grub-setup.
27077
27078 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
27079 "msdos_partition_map".
27080
27081 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27082
27083 Fix breakage in normal/auth.c.
27084
27085 * normal/auth.c (grub_iswordseparator): New function.
27086
27087 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27088
27089 Authentication support.
27090
27091 * commands/password.c: New file.
27092 * conf/common.rmk (pkglib_MODULES): Add password.mod.
27093 (password_mod_SOURCES): New variable.
27094 (password_mod_CFLAGS): Likewise.
27095 (password_mod_LDFLAGS): Likewise.
27096 (normal_mod_SOURCES): Add normal/auth.c.
27097 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
27098 normal/auth.c.
27099 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27100 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27101 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27102 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27103 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27104 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27105 * include/grub/auth.h: New file.
27106 * include/grub/err.h (grub_err_t): New enum value
27107 GRUB_ERR_ACCESS_DENIED.
27108 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
27109 'users'.
27110 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
27111 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
27112 users updated.
27113 * normal/auth.c: New file.
27114 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
27115 (grub_cmdline_run): Don't allow to go to command line without
27116 authentication.
27117 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
27118 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
27119 menuentry without superuser rights.
27120 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
27121 user isn't a superuser.
27122
27123 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27124
27125 Save space by inlining misc.c functions.
27126
27127 * kern/misc.c (grub_iswordseparator): Made static.
27128 * kern/misc.c (grub_strcat): Moved from here ...
27129 * include/grub/misc.h (grub_strcat): ... here. Inlined.
27130 * kern/misc.c (grub_strncat): Moved from here ...
27131 * include/grub/misc.h (grub_strncat): ... here. Inlined.
27132 * kern/misc.c (grub_strcasecmp): Moved from here ...
27133 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
27134 * kern/misc.c (grub_strncasecmp): Moved from here ...
27135 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
27136 * kern/misc.c (grub_isalpha): Moved from here ...
27137 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
27138 * kern/misc.c (grub_isdigit): Moved from here ...
27139 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
27140 * kern/misc.c (grub_isgraph): Moved from here ...
27141 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
27142 * kern/misc.c (grub_tolower): Moved from here ...
27143 * include/grub/misc.h (grub_tolower): ... here. Inlined.
27144
27145 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27146
27147 * script/sh/function.c (grub_script_function_find): Cut error message
27148 not to flood terminal.
27149 * script/sh/lexer.c (grub_script_yylex): Remove command line length
27150 limit.
27151 * script/sh/script.c (grub_script_arg_add): Duplicate string.
27152
27153 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
27154
27155 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
27156 `report' grub_uint8_t *.
27157 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
27158 Use a 50-millisecond timeout rather than just repeating
27159 grub_usb_keyboard_getreport 50 times.
27160 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
27161
27162 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27163
27164 Rename *_partition_map to part_*
27165
27166 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
27167 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
27168 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
27169 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
27170 All users updated.
27171 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
27172 All users updated.
27173 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
27174 * util/grub-probe.c (probe_partmap): Don't transform partition name
27175 to get module name.
27176
27177 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27178
27179 Fix OpenBSD and NetBSD support.
27180
27181 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
27182 memory address conflict.
27183 (OPENBSD_MMAP_ACPI): New definition.
27184 (OPENBSD_MMAP_NVS): Likewise.
27185 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
27186 and OPENBSD_MMAP_NVS.
27187 Add memory map terminator
27188 Explicit cast when calling grub_unix_real_boot.
27189 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
27190
27191 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27192
27193 Let user specify NetBSD root device.
27194
27195 * loader/i386/bsd.c (netbsd_root): New variable.
27196 (netbsd_opts): New option 'root'.
27197 (NETBSD_ROOT_ARG): New macro.
27198 (grub_netbsd_boot): Use 'netbsd_root'.
27199 (grub_bsd_unload): Free 'netbsd_root'.
27200 (grub_cmd_netbsd): Fill 'netbsd_root'.
27201
27202 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27203
27204 Support for 64-bit NetBSD.
27205
27206 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
27207 point when booting non-FreeBSD.
27208
27209 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27210
27211 Support --no-smp and --no-acpi for NetBSD.
27212
27213 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
27214 (NETBSD_AB_NOACPI): Likewise.
27215 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
27216 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
27217
27218 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
27219
27220 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
27221 errors.
27222 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
27223 errors. Call grub_error when needed.
27224
27225 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
27226
27227 * commands/search.c (search_fs): Try searching without autoload first.
27228 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
27229 filesystem module explicitly for faster booting.
27230
27231 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
27232
27233 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
27234
27235 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
27236
27237 * util/grub.d/30_os-prober.in: Disable os-prober if
27238 `GRUB_DISABLE_OS_PROBER' was set to true.
27239
27240 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
27241
27242 * partmap/pc.c: Rename to ...
27243 * partmap/msdos.c: ... this. Update all users.
27244 (grub_pc_partition_map): Rename to ...
27245 (grub_msdos_partition_map): ... this. Update all users.
27246
27247 * parttool/pcpart.c: Rename to ...
27248 * parttool/msdospart.c: ... this. Update all users.
27249
27250 * include/grub/pc_partition.h: Rename to ...
27251 * include/grub/msdos_partition.h: ... this. Update all users.
27252 (grub_pc_partition_bsd_entry): Rename to ...
27253 (grub_msdos_partition_bsd_entry): ... this. Update all users.
27254 (grub_pc_partition_disk_label): Rename to ...
27255 (grub_msdos_partition_disk_label): ... this. Update all users.
27256 (grub_pc_partition_entry): Rename to ...
27257 (grub_msdos_partition_entry): ... this. Update all users.
27258 (grub_pc_partition_mbr): Rename to ...
27259 (grub_msdos_partition_mbr): ... this. Update all users.
27260 (grub_pc_partition): Rename to ...
27261 (grub_msdos_partition): ... this. Update all users.
27262 (grub_pc_partition_is_empty): Rename to ...
27263 (grub_msdos_partition_is_empty): ... this. Update all users.
27264 (grub_pc_partition_is_extended): Rename to ...
27265 (grub_msdos_partition_is_extended): ... this. Update all users.
27266 (grub_pc_partition_is_bsd): Rename to ...
27267 (grub_msdos_partition_is_bsd): ... this. Update all users.
27268
27269 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
27270 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
27271 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
27272 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
27273 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
27274 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
27275 (gpt_mod_LDFLAGS): Rename to ...
27276 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
27277 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
27278 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
27279 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
27280 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
27281 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
27282 (part_gpt_mod_LDFLAGS): ... this.
27283 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
27284 `pcpart.mod' to `msdospart.mod'.
27285 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
27286 to ...
27287 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
27288 (msdospart_mod_LDFLAGS): ... this.
27289
27290 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
27291
27292 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
27293 (openbsd_opts): Likewise.
27294 (netbsd_opts): Likewise.
27295 (freebsd_flags): Added 0 terminator.
27296 (openbsd_flags): Likewise.
27297 (netbsd_flags): Likewise.
27298 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
27299 (grub_cmd_freebsd): Transformed into extended command.
27300 (grub_cmd_openbsd): Likewise.
27301 (grub_cmd_netbsd): Likewise.
27302 (cmd_freebsd): Changed type to grub_extcmd_t.
27303 (cmd_openbsd): Likewise.
27304 (cmd_netbsd): Likewise.
27305 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
27306 grub_cmd_openbsd as extended commands.
27307 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
27308 cmd_netbsd and cmd_openbsd
27309
27310 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
27311
27312 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
27313
27314 2009-08-21 Pavel Roskin <proski@gnu.org>
27315
27316 * Makefile.in (install-local): When checking if a file is in the
27317 build directory, use "test -e" to detect symlinks.
27318
27319 * Makefile.in (install-local): Remove all files in
27320 $(DESTDIR)$(pkglibdir) before installing new files there.
27321
27322 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
27323
27324 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
27325 grub-mkelfimage.
27326
27327 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
27328
27329 * util/grub-mkconfig.in: Don't use gfxterm by default if not
27330 explicitly specified by the user.
27331
27332 2009-08-18 Pavel Roskin <proski@gnu.org>
27333
27334 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
27335 grub_uint8_t pointer for data.
27336 * include/grub/fbutil.h (struct grub_video_fbblit_info):
27337 Likewise.
27338 * video/fb/fbutil.c: Remove unnecessary casts.
27339
27340 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
27341
27342 VBE cleanup.
27343
27344 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
27345 (grub_vbe_set_video_mode): Save active mode info
27346 only after setting the mode.
27347 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
27348 second argument.
27349
27350 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
27351
27352 Rename variables for clarity.
27353
27354 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
27355 (active_vbe_mode_info): ... this. All users updated.
27356 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
27357 All users updated.
27358 (initial_mode): Rename to ...
27359 (initial_vbe_mode): ... this. All users updated.
27360 (mode_in_use): Rename to ..
27361 (vbe_mode_in_use): ... this. All users updated.
27362 (mode_list): Rename to ..
27363 (vbe_mode_list): ... this. All users updated.
27364 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
27365 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
27366 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
27367 'mode_list_size' to 'vbe_mode_list_size'.
27368 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
27369 'best_mode_info' to 'best_vbe_mode_info' and
27370 'best_mode' to 'best_vbe_mode'
27371
27372 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
27373
27374 Remove duplicate grub_video_fb_get_video_ptr.
27375
27376 * include/grub/fbutil.h (get_data_ptr): Rename to ...
27377 (grub_video_fb_get_video_ptr): ... this.
27378 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
27379 * video/fb/fbutil.c: Add comment about addressing.
27380 (get_data_ptr): Rename to ...
27381 (grub_video_fb_get_video_ptr): ... this. All users updated.
27382 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
27383
27384 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
27385
27386 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
27387 grub_dprintf() that was just added.
27388
27389 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
27390
27391 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
27392 (DEFAULT_VIDEO_MODE): Remove macros.
27393 (grub_linux_boot): Remove assumption that Linux has FB support,
27394 and use "text" as default video mode.
27395
27396 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
27397
27398 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
27399 grub_dprintf.
27400 * fs/fat.c (grub_fat_read_data): Likewise.
27401
27402 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27403
27404 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
27405 payload.
27406 (grub_module): Likewise.
27407
27408 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27409
27410 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
27411 mbi->cmdline but free playground.
27412
27413 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27414
27415 Handle group offset on UFS1.
27416
27417 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
27418 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
27419
27420 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27421
27422 Split ufs.mod into ufs1.mod and ufs2.mod.
27423
27424 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
27425 (grub_fstest_SOURCES): Likewise.
27426 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
27427 (ufs_mod_SOURCES): Remove.
27428 (ufs_mod_CFLAGS): Likewise.
27429 (ufs_mod_LDFLAGS): Likewise.
27430 (ufs1_mod_SOURCES): New variable.
27431 (ufs1_mod_CFLAGS): Likewise.
27432 (ufs1_mod_LDFLAGS): Likewise.
27433 (ufs2_mod_SOURCES): New variable.
27434 (ufs2_mod_CFLAGS): Likewise.
27435 (ufs2_mod_LDFLAGS): Likewise.
27436 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
27437 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
27438 Likewise.
27439 (grub_emu_SOURCES): Likewise.
27440 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27441 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27442 (grub_setup_SOURCES): Likewise.
27443 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27444 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
27445 (grub_setup_SOURCES): Likewise.
27446 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
27447 Likewise.
27448 * fs/ufs2.c: New file.
27449 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
27450
27451 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27452
27453 Framebuffer split.
27454
27455 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
27456 subsystem at the end.
27457 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
27458 (video_fb_mod_SOURCES): New variable.
27459 (video_fb_mod_CFLAGS): Likewise.
27460 (video_fb_mod_LDFLAGS): Likewise.
27461 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
27462 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
27463 * video/i386/pc/vbeblit.c: Moved from here ...
27464 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
27465 * video/i386/pc/vbefill.c: Moved from here ...
27466 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
27467 * video/i386/pc/vbeutil.c: Moved from here ...
27468 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
27469 * include/grub/i386/pc/vbeblit.h: Moved from here ...
27470 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
27471 * include/grub/i386/pc/vbefill.h: Moved from here ...
27472 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
27473 * include/grub/i386/pc/vbeutil.h: Moved from here ...
27474 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
27475 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
27476 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
27477 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
27478 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
27479 (grub_video_adapter): Added 'get_info_and_fini'.
27480 (grub_video_get_info_and_fini): New prototype.
27481 (grub_video_set_mode): make modestring const char *.
27482 * loader/i386/linux.c (grub_linux_setup_video): Use
27483 grub_video_get_info_and_fini.
27484 (grub_linux_boot): Move modesetting just before booting.
27485 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
27486 grub_video_get_info_and_fini.
27487 * video/i386/pc/vbe.c: Moved framebuffer part ...
27488 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
27489 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
27490 grub_video_fbstd_colors and grub_video_fb_set_palette.
27491 (grub_video_vbe_init): Clear 'framebuffer' variable and use
27492 grub_video_fb_init.
27493 (grub_video_vbe_fini): Use grub_video_fb_fini.
27494 (grub_video_vbe_setup): Use framebuffer.render_target instead of
27495 render_target and use grub_video_fb_set_active_render_target and
27496 grub_video_fb_set_palette.
27497 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
27498 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
27499 (grub_video_vbe_adapter): Use framebuffer.
27500 * video/video.c (grub_video_get_info_and_fini): New function.
27501 (grub_video_set_mode): Make modestring const char *.
27502 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
27503 values are already initialised.
27504
27505 2009-08-14 Pavel Roskin <proski@gnu.org>
27506
27507 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
27508 ABS and APPLE_CC.
27509 * boot/i386/pc/diskboot.S: Likewise.
27510 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
27511 sectors allow compilation on MacOSX.
27512 * conf/i386-pc.rmk: Enable unconditional compilation of
27513 lnxboot.img.
27514
27515 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
27516
27517 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
27518 * util/grub.d/00_header.in: Enter interruptible sleep if
27519 GRUB_HIDDEN_TIMEOUT is set.
27520
27521 2009-08-13 Yves Blusseau <blusseau@zetam.org>
27522
27523 * include/grub/symbol.h: Add the LOCAL macro.
27524 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
27525 starting with "L_".
27526
27527 2009-08-13 Pavel Roskin <proski@gnu.org>
27528
27529 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
27530 any modern compilers we support.
27531
27532 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
27533 Use local labels starting with "L_" so that Apple assembler
27534 knows they are local.
27535
27536 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
27537
27538 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
27539 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
27540 (bsd_kernel_types): ... this enum.
27541
27542 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
27543 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
27544 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
27545
27546 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
27547 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
27548 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
27549 messages.
27550
27551 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
27552
27553 * util/grub-dumpdevtree: Moved from here ...
27554 * util/i386/efi/grub-dumpdevtree: ... to here.
27555 (hexify): New function. Converts a string to its hex version.
27556 Generate hex versions of "efi" and "device-properties" by calling
27557 hexify() on the ASCII strings rather than by hardcoding numbers.
27558
27559 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
27560
27561 * fs/jfs.c: Update copyright year.
27562
27563 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
27564
27565 * util/grub.d/00_header.in: Fix a comment.
27566 * util/grub.d/10_linux.in: Likewise.
27567 * util/grub.d/10_windows.in: Likewise.
27568 * util/grub.d/10_hurd.in: Likewise.
27569
27570 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
27571
27572 * util/grub-mkconfig.in: Allow the user to specify the used font
27573 with GRUB_FONT.
27574
27575 2009-08-08 Pavel Roskin <proski@gnu.org>
27576
27577 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
27578 available, xfs.mod needs it now.
27579
27580 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
27581 the "g" modifier in sed when the intention is to strip something
27582 once. This fixes comparison of kernels with multiple dashes.
27583
27584 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
27585 on it. Add missing space before closing bracket. Fix
27586 misleading formatting.
27587
27588 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27589
27590 * docs/grub.texi: Major overhaul. Remove all sections that are
27591 specific to GRUB Legacy, or mostly composed of Legacy-specific
27592 information.
27593
27594 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27595
27596 * docs/version.texi: New file. Provides version information for
27597 grub.texi.
27598
27599 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27600
27601 * docs/grub.texi: Update CVS information to SVN.
27602 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
27603
27604 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
27605
27606 * util/grub-mkconfig.in: Remove a wrong `fi'.
27607
27608 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
27609
27610 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
27611 (grub_jfs_uuid): New function.
27612 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
27613
27614 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
27615
27616 * util/grub-mkconfig_lib.in (font_path): Move the functionality
27617 of it to ...
27618 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
27619 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
27620
27621 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27622
27623 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
27624 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
27625 Update all users.
27626
27627 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
27628 not just "vmlinu[zx]".
27629 Moved from here ...
27630 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
27631 all users.
27632
27633 * util/grub.d/10_linux.in (find_latest): Moved from here ...
27634 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
27635 all users.
27636
27637 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27638
27639 * util/grub.d/10_freebsd.in: Use an absolute device path for
27640 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
27641
27642 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
27643
27644 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
27645 handling of multiple abstraction modules.
27646
27647 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
27648
27649 Fix a bug resulting in black screen when loading Linux using a
27650 packed video mode.
27651
27652 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
27653 function.
27654
27655 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
27656 (grub_vbe_bios_getset_dac_palette_width): New function.
27657 (grub_vbe_bios_get_dac_palette_width)
27658 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
27659 grub_vbe_bios_getset_dac_palette_width()).
27660
27661 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
27662 check for return status.
27663 (grub_vbe_get_video_mode_info): When getting information for a packed
27664 mode (<= 8 bpp), obtain DAC palette width using
27665 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
27666 {red,green,blue}_mark_size.
27667
27668 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
27669
27670 * commands/search.c (options): Fix help output to match actual code.
27671
27672 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
27673
27674 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
27675 of homegrown code.
27676
27677 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
27678
27679 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
27680 on XFS or ReiserFS.
27681
27682 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
27683
27684 Support Apple partition map with sector size different from 512 bytes.
27685
27686 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
27687 (apple_partition_map_iterate): Respect 'aheader.blocksize'
27688 and 'apart.partmap_size'.
27689
27690 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
27691 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
27692
27693 Fix cpuid command.
27694
27695 * commands/i386/cpuid.c (options): New variable.
27696 (grub_cmd_cpuid): Return real error.
27697 (GRUB_MOD_INIT(cpuid)): Declare options.
27698
27699 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
27700
27701 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
27702 valid.
27703
27704 2009-07-31 Bean <bean123ch@gmail.com>
27705
27706 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
27707 log2_inode.
27708 (grub_fshelp_node): Move inode field to the end.
27709 (grub_xfs_data): Remove inode field.
27710 (grub_xfs_inode_block): Calculate inode size using sblock.
27711 (grub_xfs_inode_offset): Likewise.
27712 (grub_xfs_read_inode): Calculate inode size using sblock.
27713 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
27714 (grub_xfs_iterate_dir): Calculate inode size using sblock.
27715 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
27716 to match inode size.
27717 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
27718 not accessible when data is null.
27719 (grub_xfs_open): Likewise.
27720
27721 2009-07-31 Bean <bean123ch@gmail.com>
27722
27723 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
27724 Don't change pv->disk if it's already set.
27725
27726 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
27727 (grub_raid_register): ... here.
27728 (grub_raid_rescan): Removed.
27729
27730 * include/grub/raid.h (grub_raid_rescan): Removed.
27731
27732 * util/grub-fstest.c: Remove include file <grub/raid.h>.
27733 (fstest): Replace grub_raid_rescan with module fini function followed
27734 by init function.
27735
27736 * util/grub-probe.c: Add include file <grub/raid.h>.
27737 (probe_raid_level): New function.
27738 (probe): Detect abstraction by walking the disk device, support two
27739 level of abstraction (LVM on RAID) when detecting partition map.
27740
27741 2009-07-31 Pavel Roskin <proski@gnu.org>
27742
27743 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
27744 to grub_zalloc(), it was erroneous.
27745 Reported by Bean <bean123ch@gmail.com>
27746
27747 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
27748
27749 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
27750 embedding zone, not only the first one.
27751
27752 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
27753
27754 * term/gfxterm.c (clear_char): New function.
27755 (grub_virtual_screen_setup): Use clear_char.
27756 (scroll_up): Likewise.
27757 (grub_virtual_screen_cls): Likewise.
27758
27759 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
27760
27761 * util/deviceiter.c (get_acceleraid_disk_name): New static
27762 function.
27763 (grub_util_iterate_devices): Handle Accelraid devices.
27764 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
27765
27766 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
27767
27768 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
27769 separator for the suggested gfxpayload string (';' collides with the
27770 parser and needs escaping).
27771
27772 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
27773
27774 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
27775 Clear direction flag before jumping to OS.
27776 (grub_multiboot2_real_boot): Likewise.
27777
27778 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
27779
27780 * util/i386/pc/grub-install: Fix parsing of --disk-module
27781 option.
27782
27783 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
27784
27785 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
27786 when embedding.
27787
27788 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
27789
27790 * util/grub-mkconfig.in (package_version): New variable.
27791 Use it do display the version.
27792
27793 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
27794
27795 * kern/file.c (grub_file_open): Revert to previous check with
27796 grub_errno.
27797
27798 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
27799
27800 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
27801 from help line. It's out of sync with code.
27802
27803 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
27804
27805 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
27806 entries on failed boot.
27807
27808 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
27809
27810 * kern/file.c (grub_file_open): Fix an error check.
27811
27812 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
27813
27814 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
27815 partition map couldn't be identified.
27816
27817 2009-07-23 Pavel Roskin <proski@gnu.org>
27818
27819 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
27820 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
27821 case of little endian words becomes just an optimization.
27822 Respect const modifier.
27823 (md5_final): Use code that doesn't depend on endianness.
27824
27825 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
27826 to avoid loss of upper bits if align is unsigned and shorter
27827 than addr.
27828
27829 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
27830
27831 UUID support for UFS
27832
27833 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
27834 (grub_ufs_uuid): New function.
27835 (grub_ufs_fs): add .uuid
27836
27837 2009-07-21 Pavel Roskin <proski@gnu.org>
27838
27839 * kern/dl.c (grub_dl_check_header): Make static.
27840
27841 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
27842
27843 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
27844 add drivemap for Vista. It breaks Windows 7.
27845
27846 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
27847
27848 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
27849 128 bytes
27850
27851 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
27852
27853 Add BFS support
27854
27855 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
27856 (grub_fstest_SOURCES): Likewise.
27857 (pkglib_MODULES): Add befs.mod.
27858 (befs_mod_SOURCES): New variable.
27859 (befs_mod_CFLAGS): Likewise.
27860 (befs_mod_LDFLAGS): Likewise.
27861 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
27862 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27863 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27864 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27865 (grub_setup_SOURCES): Likewise.
27866 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27867 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27868 (grub_setup_SOURCES): Likewise.
27869 * fs/befs.c: New file.
27870 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
27871 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
27872 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
27873 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
27874 (B_KEY_INDEX_ALIGN): New declaration.
27875 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
27876 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
27877 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
27878 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
27879 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
27880 (grub_afs_mount) [MODE_BFS]: Likewise.
27881 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
27882 (grub_afs_fs): Use GRUB_AFS_FSNAME
27883 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
27884 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
27885 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
27886 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
27887
27888 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
27889
27890 * util/getroot.c (find_root_device): Add support for MacOSX.
27891 * util/hostdisk.c: Likewise.
27892
27893 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
27894
27895 * font/font.c (find_glyph): Check whether a font is present to avoid
27896 segmentation fault.
27897
27898 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
27899
27900 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
27901
27902 2009-07-20 Pavel Roskin <proski@gnu.org>
27903
27904 * configure.ac: Trim excessively wordy excuses.
27905
27906 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
27907
27908 Add symlink, mtime and label support to AtheFS.
27909
27910 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
27911 (grub_afs_iterate_dir): Handle symlinks.
27912 (grub_afs_open): Use grub_afs_read_symlink.
27913 (grub_afs_dir): Likewise.
27914 Pass mtime.
27915 (grub_afs_label): New function.
27916 (grub_afs_fs): Add grub_afs_label.
27917 (grub_afs_read_symlink): New function.
27918
27919 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
27920
27921 Fix AtheFS support.
27922
27923 * fs/afs.c: Fix comments style.
27924 (grub_afs_blockrun): Declare as packed.
27925 (grub_afs_datastream): Likewise.
27926 (grub_afs_bnode): Likewise.
27927 (grub_afs_btree): Likewise.
27928 (grub_afs_sblock): Likewise.
27929 Declare `name' as char.
27930 (grub_afs_inode): Declare as packed.
27931 Change void *vnode to grub_uint32_t unused.
27932 (grub_afs_iterate_dir): Check that key_size is positive.
27933 (grub_afs_mount): Don't read superblock twice.
27934 (grub_afs_dir): Don't free node in case of error,
27935 grub_fshelp_find_file already handles this.
27936 (grub_afs_open): Likewise.
27937
27938 2009-07-19 Pavel Roskin <proski@gnu.org>
27939
27940 * Makefile.in: Remove LIBLZO and enable_lzo.
27941 * conf/i386-pc.rmk: Remove lzo support.
27942 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
27943 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
27944 support.
27945 * kern/i386/pc/lzo1x.S: Remove.
27946 * kern/i386/pc/startup.S: Remove lzo support.
27947 * util/i386/pc/grub-mkimage.c: Likewise.
27948
27949 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
27950
27951 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
27952 * fs/xfs.c (grub_xfs_dir): Likewise.
27953 * fs/afs.c (grub_afs_dir): Likewise.
27954 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
27955 (grub_iso9660_open): Likewise.
27956 * fs/jfs.c (grub_jfs_open): Likewise.
27957 * fs/ext2.c (grub_ext2_dir): Likewise.
27958 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
27959 * script/sh/lexer.c (grub_script_yylex): Likewise.
27960
27961 2009-07-16 Pavel Roskin <proski@gnu.org>
27962
27963 * configure.ac: Never add "-c" to CFLAGS.
27964
27965 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
27966
27967 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
27968 grub_cv_cc_efiemu should be used.
27969
27970 * configure.ac: Typo fixes.
27971
27972 * kern/mm.c (grub_zalloc): New function.
27973 (grub_debug_zalloc): Likewise.
27974 * include/grub/mm.h: Declare grub_zalloc() and
27975 grub_debug_zalloc().
27976 * util/misc.c (grub_zalloc): New function.
27977 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
27978 instead of grub_malloc(), remove unneeded initializations.
27979 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
27980 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
27981 * commands/parttool.c (grub_cmd_parttool): Likewise.
27982 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
27983 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
27984 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
27985 * disk/usbms.c (grub_usbms_finddevs): Likewise.
27986 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
27987 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
27988 (grub_cmd_efiemu_pnvram): Likewise.
27989 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
27990 * fs/iso9660.c (grub_iso9660_mount): Likewise.
27991 (grub_iso9660_iterate_dir): Likewise.
27992 * fs/jfs.c (grub_jfs_opendir): Likewise.
27993 * fs/ntfs.c (list_file): Likewise.
27994 (grub_ntfs_mount): Likewise.
27995 * kern/disk.c (grub_disk_open): Likewise.
27996 * kern/dl.c (grub_dl_load_core): Likewise.
27997 * kern/elf.c (grub_elf_file): Likewise.
27998 * kern/env.c (grub_env_context_open): Likewise.
27999 (grub_env_set): Likewise.
28000 (grub_env_set_data_slot): Likewise.
28001 * kern/file.c (grub_file_open): Likewise.
28002 * kern/fs.c (grub_fs_blocklist_open): Likewise.
28003 * loader/i386/multiboot.c (grub_module): Likewise.
28004 * loader/xnu.c (grub_xnu_create_key): Likewise.
28005 (grub_xnu_create_value): Likewise.
28006 * normal/main.c (grub_normal_add_menu_entry): Likewise.
28007 (read_config_file): Likewise.
28008 * normal/menu_entry.c (make_screen): Likewise.
28009 * partmap/sun.c (sun_partition_map_iterate): Likewise.
28010 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
28011 * script/sh/script.c (grub_script_parse): Likewise.
28012 * video/bitmap.c (grub_video_bitmap_create): Likewise.
28013 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
28014 * video/readers/png.c (grub_png_output_byte): Likewise.
28015 (grub_video_reader_png): Likewise.
28016
28017 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28018
28019 Enable all targets that can be built by default
28020
28021 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
28022 grub-mkfont and grub-fstest if they can be built
28023
28024 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28025
28026 Fix hang and segmentation fault in grub-emu-usb
28027
28028 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
28029 * util/usb.c (grub_libusb_devices): likewise
28030 (grub_libusb_init): rename to ...
28031 (GRUB_MOD_INIT (libusb)):...this
28032 (grub_libusb_fini): rename to ..
28033 (GRUB_MOD_FINI (libusb)):...this
28034 * disk/usbms.c (grub_usbms_transfer): fix retry logic
28035 * include/grub/disk.h (grub_raid_init): removed, it's useless
28036 (grub_raid_fini): likewise
28037 (grub_lvm_init): likewise
28038 (grub_lvm_fini): likewise
28039 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
28040 by grub_init_all
28041
28042 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28043
28044 Fix libusb
28045
28046 * Makefile.in (LIBUSB): new macro
28047 * genmk.rb (Utility/print_tail): new method
28048 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
28049 (top level): call util.print_tail at the end.
28050
28051 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28052
28053 Make FreeBSD accept zpool.cache
28054
28055 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
28056 type is /boot/zfs/zpool.cache
28057
28058 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28059
28060 Fix 64-bit efiemu
28061
28062 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
28063 correct wrong typedef
28064 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
28065
28066 2009-07-15 Pavel Roskin <proski@gnu.org>
28067
28068 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
28069 * kern/disk.c (struct grub_disk_cache): Likewise.
28070
28071 * commands/probe.c (options): Typo fix.
28072
28073 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
28074 Increase to 0x5a to accommodate FAT32. Adjust other offsets
28075 accordingly.
28076 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
28077
28078 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
28079 the end of "Error" to make the message more readable.
28080
28081 * boot/i386/pc/boot.S (kernel_segment): Remove.
28082 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
28083 for destination.
28084
28085 * boot/i386/pc/boot.S (boot_version): Remove.
28086 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
28087 Remove.
28088
28089 * include/grub/i386/pc/boot.h: Sort all offsets.
28090 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
28091 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
28092 * boot/i386/pc/boot.S: Assert location of every offset listed in
28093 include/grub/i386/pc/boot.h.
28094
28095 2009-07-13 Pavel Roskin <proski@gnu.org>
28096
28097 * include/grub/i386/coreboot/machine.h: Rename
28098 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
28099 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
28100 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
28101
28102 * kern/dl.c: Force native word size to suppress warnings when
28103 compiling grub-emu.
28104
28105 * kern/device.c (grub_device_iterate): Change struct part_ent to
28106 hold the name, not a pointer to it. Use one grub_malloc() per
28107 partition, not two. Free partition_name if grub_malloc() fails.
28108 Set ents to NULL only before grub_partition_iterate() is called.
28109
28110 2009-07-11 Bean <bean123ch@gmail.com>
28111
28112 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
28113 childname.
28114
28115 2009-07-10 Bean <bean123ch@gmail.com>
28116 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
28117
28118 * kern/ieee1275/openfw.c (grub_children_iterate)
28119 (grub_devalias_iterate): Fix size evaluation for property or path
28120 strings, which was broken since r2132.
28121
28122 2009-07-07 Pavel Roskin <proski@gnu.org>
28123
28124 * commands/search.c (search_file): Merge into ...
28125 (search_fs): ... this. Accept search type as argument.
28126 (grub_cmd_search): Pass search type to search_fs().
28127
28128 * include/grub/util/console.h: New file.
28129 * util/console.c: Use it instead of grub/machine/console.h.
28130 * util/grub-emu.c: Likewise.
28131
28132 * lib/arg.c (find_long_option): Remove.
28133 (find_long): Add `len' argument, make `s' const char *.
28134 (grub_arg_parse): Parse long options in place, not in a
28135 temporary buffer.
28136
28137 2009-07-06 Pavel Roskin <proski@gnu.org>
28138
28139 * commands/search.c (search_fs): Fix potential NULL pointer
28140 dereference.
28141
28142 * commands/search.c (search_fs): Replace QUID macro with quid_fn
28143 function pointer.
28144
28145 2009-07-06 Daniel Mierswa <impulze@impulze.org>
28146
28147 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
28148 comparison.
28149
28150 2009-07-05 Pavel Roskin <proski@gnu.org>
28151
28152 * include/grub/i386/linux.h (struct linux_kernel_params):
28153 Restore padding3, it's still needed.
28154
28155 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
28156 FreeBSD.
28157 * util/osdetect.lua: Likewise.
28158
28159 2009-07-05 Bean <bean123ch@gmail.com>
28160
28161 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
28162
28163 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
28164 (grub_lua_getenv): Likewise.
28165 (grub_lua_setenv): Likewise.
28166 (save_errno): New function.
28167 (push_result): Likewise.
28168 (grub_lua_enum_device): Likewise.
28169 (grub_lua_enum_file): Likewise.
28170 (grub_lua_file_open): Likewise.
28171 (grub_lua_file_close): Likewise.
28172 (grub_lua_file_seek): Likewise.
28173 (grub_lua_file_read): Likewise.
28174 (grub_lua_file_getline): Likewise.
28175 (grub_lua_file_getsize): Likewise.
28176 (grub_lua_file_getpos): Likewise.
28177 (grub_lua_file_eof): Likewise.
28178 (grub_lua_file_exist): Likewise.
28179 (grub_lua_add_menu): Likewise.
28180
28181 * script/lua/grub_lua.h (isupper): New inline function.
28182 (islower): Likewise.
28183 (ispunct): Likewise.
28184 (isxdigit): Likewise.
28185 (strcspn): Change to normal function.
28186 (strpbkr): New function declaration.
28187 (memchr): Likewise.
28188
28189 * script/lua/grub_main.c (scan_str): New function.
28190 (strcspn): Likewise.
28191 (strpbrk): Likewise.
28192 (memchr): Likewise.
28193
28194 * script/lua/linit.c (lualibs): Enable the string library.
28195
28196 * util/osdetect.lua: New file.
28197
28198 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
28199
28200 * include/grub/i386/linux.h (struct linux_kernel_params): Add
28201 `capabilities' member.
28202
28203 2009-07-02 Pavel Roskin <proski@gnu.org>
28204
28205 * genparttoollist.sh: Add missing newline at the end.
28206
28207 2009-07-01 Pavel Roskin <proski@gnu.org>
28208
28209 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
28210
28211 * util/hostdisk.c (open_device): Remove `const' from
28212 `sysctl_size', as sysctlbyname() can change it (in this case it
28213 doesn't actually happen).
28214
28215 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
28216 using signed long int constants.
28217
28218 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
28219 constant to avoid a warning on FreeBSD.
28220
28221 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
28222 where it's needed.
28223
28224 * Makefile.in: Install include/grub/machine symlink.
28225
28226 * Makefile.in: When installing symlinks, use "cp -fR", which
28227 works on FreeBSD and MacOSX.
28228 From Yves Blusseau <cl7m42e02@sneakemail.com>
28229
28230 * kern/dl.c (grub_dl_resolve_symbol): Make static.
28231 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
28232
28233 * util/misc.c: Move grub_reboot() and grub_halt() ...
28234 * util/grub-emu.c: ... here. Make main_env static.
28235 * include/grub/util/misc.h: Remove main_env.
28236
28237 * kern/mm.c: Use correct format to print size_t.
28238
28239 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
28240 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
28241 * kern/powerpc/dl.c: Likewise.
28242 * kern/sparc64/dl.c: Likewise.
28243 * kern/x86_64/dl.c: Likewise.
28244
28245 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28246
28247 Fix grub-emu build on sparc64-ieee1275.
28248
28249 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
28250 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
28251
28252 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28253
28254 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
28255 (grub_reboot, grub_halt): New functions.
28256
28257 * util/i386/pc/misc.c: Delete. Update all users.
28258 * util/sparc64/ieee1275/misc.c: Likewise.
28259 * util/powerpc/ieee1275/misc.c: Likewise.
28260
28261 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28262
28263 * conf/i386.rmk (setjmp_mod_SOURCES)
28264 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
28265 * conf/common.rmk (setjmp_mod_SOURCES)
28266 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
28267 to use $(target_cpu).
28268 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
28269 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
28270 * conf/powerpc-ieee1275.rmk: Likewise.
28271 * conf/sparc64-ieee1275.rmk: Likewise.
28272
28273 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
28274 $(target_cpu) for kern/$(target_cpu)/dl.c.
28275 * conf/i386-efi.rmk: Likewise.
28276 * conf/i386-ieee1275.rmk: Likewise.
28277 * conf/x86_64-efi.rmk: Likewise.
28278 * conf/i386-coreboot.rmk: Likewise.
28279 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
28280 $(target_cpu) for kern/$(target_cpu)/dl.c and for
28281 kern/$(target_cpu)/cache.S.
28282 * conf/sparc64-ieee1275.rmk: Likewise.
28283
28284 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28285
28286 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
28287 type to `grub_uint8_t', and adjust `padding9' accordingly.
28288
28289 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
28290
28291 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
28292
28293 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
28294 assembly in final jump, using register constraints.
28295
28296 (grub_linux_boot): For text mode, initialize `have_vga' using
28297 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
28298
28299 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
28300 right before the final jump.
28301
28302 Set `video_mode' to 0x3.
28303
28304 Document initialization of `video_page', `video_mode' and
28305 `video_ega_bx'.
28306
28307 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
28308
28309 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
28310 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
28311 and set GRUB_LINUX_FLAG_QUIET appropriately.
28312
28313 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
28314
28315 Fix build on Debian / sparc.
28316
28317 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
28318
28319 2009-06-28 Pavel Roskin <proski@gnu.org>
28320
28321 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
28322 fix a warning.
28323
28324 * util/grub.d/10_linux.in: Match SUSE style initrd names.
28325
28326 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
28327
28328 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
28329 `err'.
28330
28331 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
28332
28333 Revert r2338.
28334
28335 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
28336 file can't be opened. grub_file_open() is already supposed to set
28337 grub_errno / grub_errmsg appropriately.
28338 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
28339
28340 2009-06-27 Pavel Roskin <proski@gnu.org>
28341 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
28342
28343 * include/grub/dl.h: Include grub/elf.h.
28344 (struct grub_dl): Add symtab field.
28345 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
28346 GRUB_MODULES_MACHINE_READONLY.
28347 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
28348 of the header for read-only modules.
28349 (grub_dl_unload): Free mod->symtab for read-only modules.
28350 * kern/i386/dl.c: Use mod->symtab.
28351 * kern/powerpc/dl.c: Likewise.
28352 * kern/sparc64/dl.c: Likewise.
28353 * kern/x86_64/dl.c: Likewise.
28354
28355 * conf/i386-qemu.rmk: New file.
28356 * kern/i386/qemu/startup.S: Likewise.
28357 * kern/i386/qemu/mmap.c: Likewise.
28358 * boot/i386/qemu/boot.S: Likewise.
28359 * include/grub/i386/qemu/time.h: Likewise.
28360 * include/grub/i386/qemu/serial.h: Likewise.
28361 * include/grub/i386/qemu/kernel.h: Likewise.
28362 * include/grub/i386/qemu/console.h: Likewise.
28363 * include/grub/i386/qemu/boot.h: Likewise.
28364 * include/grub/i386/qemu/init.h: Likewise.
28365 * include/grub/i386/qemu/machine.h: Likewise.
28366 * include/grub/i386/qemu/loader.h: Likewise.
28367 * include/grub/i386/qemu/memory.h: Likewise.
28368
28369 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
28370 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
28371 [qemu] (pkglib_IMAGES): Add `boot.img'.
28372 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
28373 [qemu] (boot_img_FORMAT): New variables.
28374 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
28375 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
28376 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
28377 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
28378 [qemu] (kernel_img_FORMAT): New variables.
28379
28380 * configure.ac: Recognise `i386-qemu'.
28381
28382 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
28383 (for no compression).
28384 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
28385 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
28386 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
28387 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
28388 ifdefs).
28389
28390 2009-06-27 Pavel Roskin <proski@gnu.org>
28391
28392 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
28393 read.
28394 * efiemu/prepare32.c: Likewise.
28395 * efiemu/prepare64.c: Likewise.
28396
28397 2009-06-26 Pavel Roskin <proski@gnu.org>
28398
28399 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
28400 * include/grub/elf.h: Define symbols without "32" or "64" based
28401 on GRUB_TARGET_WORDSIZE.
28402 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
28403 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
28404 ELF definitions.
28405 * efiemu/loadcore64.c: Likewise.
28406 * loader/i386/bsd32.c: Likewise.
28407 * loader/i386/bsd64.c: Likewise.
28408 * kern/dl.c: Remove own ELF definitions.
28409 * util/i386/efi/grub-mkimage.c: Likewise.
28410
28411 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
28412
28413 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
28414 segment 0x0 unconditionally, because the reference generated by
28415 GAS is an absolute address.
28416
28417 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28418
28419 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
28420 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
28421
28422 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28423
28424 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
28425 indexes. Check for -f explicitly.
28426 (search_file): Improve error message.
28427 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
28428
28429 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28430
28431 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
28432 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
28433
28434 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28435
28436 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
28437 * conf/i386-ieee1275.rmk: Likewise.
28438 * conf/i386-coreboot.rmk: Likewise.
28439
28440 * kern/i386/pc/startup.S (grub_stop): Remove function.
28441 * kern/i386/ieee1275/startup.S: Likewise.
28442 * kern/i386/coreboot/startup.S: Likewise.
28443 * kern/i386/misc.S (grub_stop): New function.
28444
28445 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28446
28447 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
28448 * kern/i386/realmode.S (real_to_prot): ... to here.
28449
28450 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28451
28452 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
28453 with `kernel.img'.
28454 (kernel_elf_SOURCES): Rename to ...
28455 (kernel_img_SOURCES): ... this.
28456 (kernel_elf_HEADERS): Rename to ...
28457 (kernel_img_HEADERS): ... this. Update all users.
28458 (kernel_elf_ASFLAGS): Rename to ...
28459 (kernel_img_ASFLAGS): ... this.
28460 (kernel_elf_CFLAGS): Rename to ...
28461 (kernel_img_CFLAGS): ... this.
28462 (kernel_elf_LDFLAGS): Rename to ...
28463 (kernel_img_LDFLAGS): ... this.
28464 * conf/i386-coreboot.rmk: Likewise.
28465 * conf/powerpc-ieee1275.rmk: Likewise.
28466
28467 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
28468 with "kernel.img".
28469
28470 2009-06-21 Pavel Roskin <proski@gnu.org>
28471
28472 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
28473 to match nested functions.
28474 * loader/sparc64/ieee1275/linux.c: Likewise.
28475
28476 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
28477
28478 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
28479
28480 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
28481 all i386 platforms.
28482
28483 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
28484
28485 Fix asm file handling on ELF, and remove workarounds.
28486
28487 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
28488 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
28489 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
28490 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
28491
28492 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
28493
28494 Load BSD ELF modules
28495
28496 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
28497 and loader/i386/bsd64.c
28498 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
28499 (FREEBSD_MODTYPE_ELF_MODULE): New definition
28500 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
28501 (grub_freebsd_load_elfmodule32): New declaration
28502 (grub_freebsd_load_elfmoduleobj64): Likewise
28503 (grub_freebsd_load_elf_meta32): Likewise
28504 (grub_freebsd_load_elf_meta64): Likewise
28505 (grub_freebsd_add_meta): Likewise
28506 (grub_freebsd_add_meta_module): Likewise
28507 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
28508 (grub_freebsd_add_meta_module): Likewise and move module-specific
28509 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
28510 (grub_cmd_freebsd): Add elf-kernel specific parts
28511 based on grub_freebsd_add_meta_module
28512 (grub_cmd_freebsd_module): Add type parsing moved from
28513 grub_freebsd_add_meta_module
28514 (grub_cmd_freebsd_module_elf): New function
28515 (cmd_freebsd_module_elf): New variable
28516 (GRUB_MOD_INIT): Register freebsd_module_elf
28517 * loader/i386/bsd32.c: New file
28518 * loader/i386/bsd64.c: Likewise
28519 * loader/i386/bsdXX.c: Likewise
28520 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
28521 (grub_elf64_load): Likewise
28522 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
28523 All users updated
28524 (grub_elf64_load_hook_t): Likewise
28525
28526 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
28527
28528 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
28529 variable.
28530 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
28531 don't write a menu entry for recovery mode.
28532
28533 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
28534
28535 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
28536 after it's no longer needed.
28537
28538 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
28539
28540 * include/grub/i386/loader.h (grub_linux_prot_size)
28541 (grub_linux_tmp_addr, grub_linux_real_addr)
28542 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
28543 GRUB_MACHINE_PCBIOS.
28544 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
28545 common grub_util_info() call to ...
28546 (generate_image): ... here.
28547 Fix use of uninitialized memory, comparison of signed with
28548 unsigned integers and memory leak.
28549 Remove bogus module address message.
28550
28551 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
28552
28553 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
28554 grub_raid_register
28555 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
28556
28557 2009-06-19 Pavel Roskin <proski@gnu.org>
28558
28559 * configure.ac: Remove stray AC_MSG_CHECKING.
28560
28561 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
28562
28563 * disk/scsi.c (grub_scsi_open): use continue instead of big if
28564
28565 2009-06-18 Pavel Roskin <proski@gnu.org>
28566
28567 * conf/common.rmk: Add fs_file.mod.
28568 * disk/fs_file.c: New file.
28569 * include/grub/disk.h (enum grub_disk_dev_id): Add
28570 GRUB_DISK_DEVICE_FILE_ID.
28571
28572 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
28573
28574 Fix build with Apple's toolchain. Part 2
28575
28576 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
28577 a fake start
28578
28579 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
28580
28581 Fix build with Apple's toolchain. Part 1
28582
28583 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
28584 for long calls
28585 * configure.ac: remove a leftover AC_MSG_RESULT
28586 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
28587 Apple's toolchain
28588
28589 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
28590
28591 Fix warnings
28592
28593 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
28594 (decomp_block): initialize ch
28595 use grub_memcpy instead of memcpy
28596
28597 2009-06-17 Pavel Roskin <proski@gnu.org>
28598
28599 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
28600 version, use declarations needed to use vga_text as the startup
28601 console.
28602
28603 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
28604 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
28605 the kernel.
28606 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
28607 and grub_at_keyboard_fini(), it's done on module load and
28608 unload.
28609
28610 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
28611
28612 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
28613 file can't be found.
28614 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
28615
28616 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
28617
28618 Fix newline handling
28619
28620 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
28621 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
28622 (grub_script_yylex): don't segfault on unterminated script
28623 newline terminates command and variable
28624
28625 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
28626
28627 avoid double grub_adjust_range call. Bug reported by David Simner
28628
28629 * kern/disk.c (grub_disk_write): change to raw disk access before
28630 calling disk_read
28631
28632 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
28633
28634 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
28635 spaces, for the benefit of help2man.
28636 * util/i386/efi/grub-mkimage.c (usage): Likewise.
28637
28638 2009-06-16 Pavel Roskin <proski@gnu.org>
28639
28640 * kern/i386/halt.c: Include grub/machine/init.h.
28641 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
28642
28643 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
28644
28645 * util/grub.d/30_os-prober.in: Use ${root} in the generated
28646 drivemap menuentry.
28647
28648 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
28649
28650 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
28651 `echo' command.
28652
28653 2009-06-16 Pavel Roskin <proski@gnu.org>
28654
28655 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
28656 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
28657 save %dx, we only need %dl and we never change it.
28658 * boot/i386/pc/cdboot.S: Don't set the root drive.
28659 * boot/i386/pc/pxeboot.S: Likewise.
28660 * include/grub/i386/pc/boot.h: Remove
28661 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
28662 GRUB_BOOT_MACHINE_DRIVE_CHECK.
28663 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
28664 * kern/i386/pc/init.c (make_install_device): Remove references
28665 to grub_root_drive.
28666 * kern/i386/pc/startup.S: Likewise.
28667 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
28668
28669 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
28670
28671 xnu_uuid command
28672
28673 * commands/xnu_uuid.c: new file
28674 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
28675 (xnu_uuid_mod_SOURCES): new variable
28676 (xnu_uuid_mod_CFLAGS): likewise
28677 (xnu_uuid_mod_LDFLAGS): likewise
28678 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
28679 * conf/i386-ieee1275.rmk: likewise
28680 * conf/i386-pc.rmk: likewise
28681 * conf/powerpc-ieee1275.rmk: likewise
28682 * conf/sparc64-ieee1275.rmk: likewise
28683 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
28684
28685 2009-06-16 Pavel Roskin <proski@gnu.org>
28686
28687 * configure.ac: Avoid '==' in test command, it's not portable.
28688
28689 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
28690
28691 Probe command
28692
28693 * commands/probe.c: new file
28694 * conf/common.rmk (pkglib_MODULES): add probe.mod
28695 (probe_mod_SOURCES): new variable
28696 (probe_mod_CFLAGS): likewise
28697 (probe_mod_LDFLAGS): likewise
28698 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
28699 * conf/i386-ieee1275.rmk: likewise
28700 * conf/i386-pc.rmk: likewise
28701 * conf/powerpc-ieee1275.rmk: likewise
28702 * conf/sparc64-ieee1275.rmk: likewise
28703
28704 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
28705
28706 Fix handling of string like \"hello\" and "a
28707 b"
28708
28709 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
28710 (grub_script_yylex): fix parsing of quoting, escaping and newline
28711
28712 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
28713
28714 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
28715 handling
28716
28717 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
28718
28719 * util/grub-mkconfig.in: Fix parsing of --output option.
28720
28721 2009-06-12 Pavel Roskin <proski@gnu.org>
28722
28723 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
28724 genmk.rb don't need to be generated or installed.
28725
28726 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
28727
28728 * commands/i386/pc/drivemap_int13h.S: add more comments
28729
28730 2009-06-11 Pavel Roskin <proski@gnu.org>
28731
28732 * Makefile.in (uninstall): Uninstall manuals.
28733
28734 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
28735 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
28736 and update-grub_lib in two places.
28737 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
28738
28739 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
28740 a compiler warning.
28741
28742 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
28743 `entry_lo' to fix variable shadowing.
28744
28745 2009-06-11 Christian Franke <franke@computer.org>
28746
28747 * kern/misc.c (__enable_execute_stack): Add missing return type
28748 to prevent gcc warning.
28749
28750 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
28751
28752 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
28753
28754 2009-06-11 Pavel Roskin <proski@gnu.org>
28755
28756 * Makefile.in: Don't rely on any scripts being executable.
28757 Always use $(SHELL) to run shell scripts.
28758
28759 * configure.ac: Always define ___main if using -nostdlib. This
28760 fixes tests on Cygwin.
28761
28762 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
28763
28764 UDF fix
28765
28766 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
28767 is in bytes and not in blocks
28768
28769 2009-06-11 Pavel Roskin <proski@gnu.org>
28770
28771 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
28772 warning.
28773
28774 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
28775
28776 * util/grub.d/30_os-prober.in: Fix a comment. Source
28777 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
28778 to set the root device. Place drivemap command in the generated
28779 chain entry.
28780
28781 2009-06-11 Pavel Roskin <proski@gnu.org>
28782
28783 * configure.ac: Remove host_m32. Issues with 64-bit utilities
28784 have long been resolved.
28785
28786 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
28787
28788 * util/grub.d/10_linux.in: Capitalise "Linux".
28789
28790 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
28791
28792 2009-06-11 Pavel Roskin <proski@gnu.org>
28793
28794 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
28795 fix a gcc warning and ensure that the function won't ever exit.
28796
28797 * kern/i386/ieee1275/init.c: Add missing prototype for
28798 grub_stop_floppy().
28799
28800 * loader/ieee1275/multiboot2.c [__i386__]: Include
28801 grub/cpu/multiboot.h.
28802
28803 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
28804 casts to short - they are not portable and cause warnings. Fix
28805 use of uninitialized values in input_buf. Use ARRAY_SIZE.
28806
28807 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
28808
28809 Drivemap fixes
28810
28811 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
28812 new function
28813 (grub_get_root_biosnumber_saved): new variable
28814 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
28815 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
28816 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
28817 %dx after the call if necessary
28818 * conf/common.rmk (pkglib_MODULES): remove boot.mod
28819 (boot_mod_SOURCES): remove
28820 (boot_mod_CFLAGS): remove
28821 (boot_mod_LDFLAGS): remove
28822 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
28823 (boot_mod_SOURCES): new variable
28824 (boot_mod_CFLAGS): likewise
28825 (boot_mod_LDFLAGS): likewise
28826 * conf/i386-efi.rmk: likewise
28827 * conf/i386-ieee1275.rmk: likewise
28828 * conf/i386-pc.rmk: likewise
28829 * conf/powerpc-ieee1275.rmk: likewise
28830 * conf/sparc64-ieee1275.rmk: likewise
28831 * conf/x86_64-efi.rmk: likewise
28832 * include/grub/i386/pc/biosnum.h: new file
28833 * lib/i386/pc/biosnum.c: likewise
28834 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
28835 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
28836 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
28837
28838 2009-06-10 Pavel Roskin <proski@gnu.org>
28839
28840 * io/gzio.c (test_header): Don't reuse one buffer for all data.
28841 Use separate variables. Read only the file size at the end, but
28842 not the checksum that we don't use.
28843
28844 * kern/file.c (grub_file_read): Use void pointer for the buffer.
28845 Adjust all callers.
28846
28847 * kern/ieee1275/openfw.c: Remove libc includes.
28848 * kern/ieee1275/cmain.c: Likewise.
28849 * include/grub/ieee1275/ieee1275.h: Likewise.
28850
28851 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
28852 compiler warnings.
28853
28854 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
28855
28856 * Makefile.in: Remove all trailing whitespace.
28857 * conf/i386-pc.rmk: Likewise.
28858 * conf/powerpc-ieee1275.rmk: Likewise.
28859 * conf/sparc64-ieee1275.rmk: Likewise.
28860 * docs/grub.texi: Likewise.
28861 * docs/texinfo.tex: Likewise.
28862 * disk/fs_uuid.c: Likewise.
28863 * disk/lvm.c: Likewise.
28864 * disk/scsi.c: Likewise.
28865 * disk/ata.c: Likewise.
28866 * disk/ieee1275/ofdisk.c: Likewise.
28867 * disk/i386/pc/biosdisk.c: Likewise.
28868 * disk/host.c: Likewise.
28869 * disk/raid.c: Likewise.
28870 * disk/efi/efidisk.c: Likewise.
28871 * disk/usbms.c: Likewise.
28872 * disk/memdisk.c: Likewise.
28873 * disk/loopback.c: Likewise.
28874 * kern/powerpc/dl.c: Likewise.
28875 * kern/device.c: Likewise.
28876 * kern/dl.c: Likewise.
28877 * kern/sparc64/dl.c: Likewise.
28878 * kern/ieee1275/ieee1275.c: Likewise.
28879 * kern/term.c: Likewise.
28880 * kern/fs.c: Likewise.
28881 * kern/i386/dl.c: Likewise.
28882 * kern/i386/pc/startup.S: Likewise.
28883 * kern/i386/pc/init.c: Likewise.
28884 * kern/i386/pc/mmap.c: Likewise.
28885 * kern/i386/pc/lzo1x.S: Likewise.
28886 * kern/i386/ieee1275/init.c: Likewise.
28887 * kern/i386/realmode.S: Likewise.
28888 * kern/i386/tsc.c: Likewise.
28889 * kern/partition.c: Likewise.
28890 * kern/corecmd.c: Likewise.
28891 * kern/file.c: Likewise.
28892 * kern/efi/efi.c: Likewise.
28893 * kern/efi/init.c: Likewise.
28894 * kern/efi/mm.c: Likewise.
28895 * kern/main.c: Likewise.
28896 * kern/err.c: Likewise.
28897 * kern/env.c: Likewise.
28898 * kern/disk.c: Likewise.
28899 * kern/generic/millisleep.c: Likewise.
28900 * kern/generic/rtc_get_time_ms.c: Likewise.
28901 * kern/misc.c: Likewise.
28902 * kern/parser.c: Likewise.
28903 * genmk.rb: Likewise.
28904 * configure.ac: Likewise.
28905 * boot/i386/pc/diskboot.S: Likewise.
28906 * boot/i386/pc/pxeboot.S: Likewise.
28907 * boot/i386/pc/boot.S: Likewise.
28908 * boot/i386/pc/lnxboot.S: Likewise.
28909 * boot/i386/pc/cdboot.S: Likewise.
28910 * parttool/pcpart.c: Likewise.
28911 * video/readers/tga.c: Likewise.
28912 * video/video.c: Likewise.
28913 * video/bitmap.c: Likewise.
28914 * lib/envblk.c: Likewise.
28915 * lib/i386/setjmp.S: Likewise.
28916 * fs/xfs.c: Likewise.
28917 * fs/afs.c: Likewise.
28918 * fs/fat.c: Likewise.
28919 * fs/ntfs.c: Likewise.
28920 * fs/udf.c: Likewise.
28921 * fs/affs.c: Likewise.
28922 * fs/iso9660.c: Likewise.
28923 * fs/hfs.c: Likewise.
28924 * fs/fshelp.c: Likewise.
28925 * fs/ext2.c: Likewise.
28926 * fs/jfs.c: Likewise.
28927 * fs/reiserfs.c: Likewise.
28928 * fs/hfsplus.c: Likewise.
28929 * fs/minix.c: Likewise.
28930 * fs/cpio.c: Likewise.
28931 * fs/sfs.c: Likewise.
28932 * fs/ufs.c: Likewise.
28933 * efiemu/prepare.c: Likewise.
28934 * efiemu/loadcore_common.c: Likewise.
28935 * efiemu/runtime/efiemu.sh: Likewise.
28936 * efiemu/runtime/efiemu.S: Likewise.
28937 * efiemu/runtime/efiemu.c: Likewise.
28938 * efiemu/pnvram.c: Likewise.
28939 * efiemu/main.c: Likewise.
28940 * efiemu/i386/pc/cfgtables.c: Likewise.
28941 * efiemu/i386/loadcore64.c: Likewise.
28942 * efiemu/i386/loadcore32.c: Likewise.
28943 * efiemu/loadcore.c: Likewise.
28944 * efiemu/symbols.c: Likewise.
28945 * efiemu/mm.c: Likewise.
28946 * include/grub/autoefi.h: Likewise.
28947 * include/grub/datetime.h: Likewise.
28948 * include/grub/term.h: Likewise.
28949 * include/grub/hfs.h: Likewise.
28950 * include/grub/lvm.h: Likewise.
28951 * include/grub/i386/tsc.h: Likewise.
28952 * include/grub/i386/linux.h: Likewise.
28953 * include/grub/i386/xnu.h: Likewise.
28954 * include/grub/i386/efiemu.h: Likewise.
28955 * include/grub/i386/pc/biosdisk.h: Likewise.
28956 * include/grub/i386/pc/memory.h: Likewise.
28957 * include/grub/i386/pc/vbe.h: Likewise.
28958 * include/grub/parttool.h: Likewise.
28959 * include/grub/video.h: Likewise.
28960 * include/grub/memory.h: Likewise.
28961 * include/grub/fs.h: Likewise.
28962 * include/grub/partition.h: Likewise.
28963 * include/grub/xnu.h: Likewise.
28964 * include/grub/efi/api.h: Likewise.
28965 * include/grub/efi/pe32.h: Likewise.
28966 * include/grub/efi/memory.h: Likewise.
28967 * include/grub/multiboot.h: Likewise.
28968 * include/grub/usbdesc.h: Likewise.
28969 * include/grub/multiboot2.h: Likewise.
28970 * include/grub/acpi.h: Likewise.
28971 * include/grub/efiemu/efiemu.h: Likewise.
28972 * include/grub/disk.h: Likewise.
28973 * include/grub/ieee1275/ieee1275.h: Likewise.
28974 * include/grub/net.h: Likewise.
28975 * include/grub/machoload.h: Likewise.
28976 * include/grub/macho.h: Likewise.
28977 * include/multiboot.h: Likewise.
28978 * genmoddep.awk: Likewise.
28979 * normal/main.c: Likewise.
28980 * normal/menu_entry.c: Likewise.
28981 * normal/menu_viewer.c: Likewise.
28982 * normal/completion.c: Likewise.
28983 * normal/cmdline.c: Likewise.
28984 * normal/misc.c: Likewise.
28985 * normal/datetime.c: Likewise.
28986 * bus/usb/usbtrans.c: Likewise.
28987 * bus/usb/ohci.c: Likewise.
28988 * bus/usb/uhci.c: Likewise.
28989 * bus/usb/usb.c: Likewise.
28990 * mmap/efi/mmap.c: Likewise.
28991 * mmap/i386/pc/mmap_helper.S: Likewise.
28992 * mmap/i386/pc/mmap.c: Likewise.
28993 * mmap/i386/mmap.c: Likewise.
28994 * mmap/i386/uppermem.c: Likewise.
28995 * mmap/mmap.c: Likewise.
28996 * commands/acpi.c: Likewise.
28997 * commands/echo.c: Likewise.
28998 * commands/blocklist.c: Likewise.
28999 * commands/loadenv.c: Likewise.
29000 * commands/usbtest.c: Likewise.
29001 * commands/boot.c: Likewise.
29002 * commands/parttool.c: Likewise.
29003 * commands/search.c: Likewise.
29004 * commands/cat.c: Likewise.
29005 * commands/i386/pc/play.c: Likewise.
29006 * commands/i386/pc/drivemap.c: Likewise.
29007 * commands/i386/pc/vbeinfo.c: Likewise.
29008 * commands/i386/pc/acpi.c: Likewise.
29009 * commands/i386/pc/vbetest.c: Likewise.
29010 * commands/ls.c: Likewise.
29011 * commands/cmp.c: Likewise.
29012 * commands/test.c: Likewise.
29013 * commands/efi/acpi.c: Likewise.
29014 * commands/gptsync.c: Likewise.
29015 * commands/help.c: Likewise.
29016 * partmap/amiga.c: Likewise.
29017 * partmap/apple.c: Likewise.
29018 * partmap/acorn.c: Likewise.
29019 * partmap/pc.c: Likewise.
29020 * partmap/sun.c: Likewise.
29021 * partmap/gpt.c: Likewise.
29022 * script/sh/lexer.c: Likewise.
29023 * script/sh/function.c: Likewise.
29024 * font/font.c: Likewise.
29025 * font/font_cmd.c: Likewise.
29026 * loader/powerpc/ieee1275/linux.c: Likewise.
29027 * loader/efi/chainloader.c: Likewise.
29028 * loader/multiboot_loader.c: Likewise.
29029 * loader/macho.c: Likewise.
29030 * loader/i386/multiboot.c: Likewise.
29031 * loader/i386/linux.c: Likewise.
29032 * loader/i386/pc/linux.c: Likewise.
29033 * loader/i386/pc/multiboot2.c: Likewise.
29034 * loader/i386/pc/chainloader.c: Likewise.
29035 * loader/i386/pc/xnu.c: Likewise.
29036 * loader/i386/bsd_trampoline.S: Likewise.
29037 * loader/i386/efi/linux.c: Likewise.
29038 * loader/i386/multiboot_elfxx.c: Likewise.
29039 * loader/i386/bsd_helper.S: Likewise.
29040 * loader/i386/bsd.c: Likewise.
29041 * loader/i386/linux_trampoline.S: Likewise.
29042 * loader/i386/xnu_helper.S: Likewise.
29043 * loader/i386/xnu.c: Likewise.
29044 * loader/i386/bsd_pagetable.c: Likewise.
29045 * loader/i386/multiboot_helper.S: Likewise.
29046 * loader/xnu.c: Likewise.
29047 * loader/xnu_resume.c: Likewise.
29048 * io/gzio.c: Likewise.
29049 * term/efi/console.c: Likewise.
29050 * term/terminfo.c: Likewise.
29051 * term/ieee1275/ofconsole.c: Likewise.
29052 * term/i386/pc/serial.c: Likewise.
29053 * term/i386/pc/vesafb.c: Likewise.
29054 * term/i386/pc/vga.c: Likewise.
29055 * term/usb_keyboard.c: Likewise.
29056 * term/gfxterm.c: Likewise.
29057 * aclocal.m4: Likewise.
29058 * util/lvm.c: Likewise.
29059 * util/grub.d/30_os-prober.in: Likewise.
29060 * util/grub.d/10_hurd.in: Likewise.
29061 * util/console.c: Likewise.
29062 * util/grub-macho2img.c: Likewise.
29063 * util/grub-probe.c: Likewise.
29064 * util/hostfs.c: Likewise.
29065 * util/i386/pc/grub-mkimage.c: Likewise.
29066 * util/i386/pc/grub-setup.c: Likewise.
29067 * util/i386/efi/grub-mkimage.c: Likewise.
29068 * util/grub-mkconfig.in: Likewise.
29069 * util/raid.c: Likewise.
29070 * util/resolve.c: Likewise.
29071 * util/grub-mkdevicemap.c: Likewise.
29072 * util/grub-emu.c: Likewise.
29073 * util/getroot.c: Likewise.
29074 * util/hostdisk.c: Likewise.
29075 * util/usb.c: Likewise.
29076 * util/grub-editenv.c: Likewise.
29077 * util/misc.c: Likewise.
29078
29079 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
29080
29081 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
29082 `genparttoollist.sh'.
29083 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
29084 Add `*.sh' to the list find searches for and change `mdate.sh'
29085 to `mdate-sh'.
29086
29087 2009-06-10 Pavel Roskin <proski@gnu.org>
29088
29089 * include/grub/multiboot2.h: Provide compatibility defines for
29090 multiboot2.h.
29091 * include/multiboot2.h: Include stdint.h only if needed, using
29092 angle brackets.
29093 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
29094 grub/multiboot2.h.
29095 * loader/ieee1275/multiboot2.c: Likewise.
29096 * loader/multiboot2.c: Likewise.
29097 * loader/multiboot_loader.c: Likewise.
29098
29099 * configure.ac: Use -nostdlib when probing for the target. It
29100 should not be required to have libc for the target.
29101
29102 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
29103 they fail without libc headers for the target.
29104 * include/grub/powerpc/libgcc.h: Use weak attribute for all
29105 exports.
29106 * include/grub/sparc64/libgcc.h: Likewise. Don't use
29107 preprocessor conditionals.
29108
29109 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
29110 build system doesn't need to be aware of the tar.c internals.
29111
29112 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
29113
29114 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
29115
29116 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
29117
29118 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
29119 disk limit to 26 for IDE, Virtio, Xen and SCSI.
29120
29121 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
29122
29123 * util/i386/pc/grub-install.in: Change the error message if UUIDs
29124 aren't available if ata.mod gets used.
29125
29126 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
29127
29128 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
29129 initialising controller.
29130 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
29131
29132 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
29133
29134 * util/i386/pc/grub-install.in: Add a parameter --disk-module
29135 to choose between ata and biosdisk module on i386-pc.
29136
29137 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
29138
29139 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
29140 Subclass and Programming Interface fields in terms of the 3 byte
29141 Class Code register.
29142 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
29143
29144 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
29145 interface is OHCI. Add grub_dprintf for symmetry with
29146 bus/usb/uhci.c.
29147 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
29148 interface is UHCI. Add interf variable for programming
29149 interface. Print interface with class/subclass.
29150
29151 * bus/usb/ohci.c: Set interf with correct field.
29152
29153 * bus/usb/uhci.c: Remove unneeded doubled lines.
29154 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
29155 Remove whitespace inside comment.
29156
29157 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
29158
29159 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
29160 as fallback an equivalent option without depth.
29161
29162 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
29163
29164 Not fail if unable to retrieve C/H/S on LBA disks
29165
29166 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
29167 if unable to retrieve C/H/S on LBA disks
29168
29169 2009-06-08 Pavel Roskin <proski@gnu.org>
29170
29171 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
29172 about aliasing.
29173
29174 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
29175
29176 * Makefile.in (uninstall): Remove all $lib_DATA files.
29177
29178 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
29179
29180 Bugfix: install on partitionless device
29181
29182 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
29183 is a whole disk
29184
29185 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
29186
29187 * Makefile.in (uninstall): Remove all $include_DATA files.
29188
29189 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
29190
29191 * commands/true.c: New file. Implement the true and false commands.
29192 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
29193 (true_mod_SOURCES): New variable.
29194 (true_mod_CFLAGS): Likewise.
29195 (true_mod_LDFLAGS): Likewise.
29196
29197 2009-06-05 Colin D Bennett <colin@gibibit.com>
29198
29199 Optimized font character lookup using binary search instead of linear
29200 search. Fonts now are required to have the character index ordered by
29201 code point.
29202
29203 * font/font.c (load_font_index): Verify that fonts have ordered
29204 character indices.
29205 (find_glyph): Use binary search instead of linear search to find a
29206 character in a font.
29207
29208 2009-06-05 Michael Scherer <misc@mandriva.org>
29209
29210 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
29211 uses case sensitive btree.
29212 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
29213 only for case insensitive filesystems.
29214
29215 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
29216
29217 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
29218 * conf/common.rmk (search_mod_CFLAGS): likewise
29219
29220 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29221
29222 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
29223 compensate a compiler bug
29224
29225 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29226
29227 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
29228 instead of '\b'
29229
29230 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29231
29232 Definitions for creating asm symbols with Apple's CC
29233
29234 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
29235 [APPLE_CC] (VARIABLE): likewise
29236
29237 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29238
29239 Disable lnxboot.img when compiled
29240 with Apple's CC
29241
29242 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
29243 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
29244 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
29245 [! APPLE_CC] (CODE_LENG): skip
29246 [! APPLE_CC] (setup_sects): likewise
29247 [! APPLE_CC]: skip filling
29248
29249 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29250
29251 Address in trampolines based on 32-bit registers when compiled
29252 with Apple's CC
29253
29254 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
29255 for addresses
29256 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
29257
29258 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29259
29260 Avoid aliases when compiling with Apple's CC for PCBIOS machine
29261
29262 * kern/misc.c [APPLE_CC] (memcpy): new function
29263 [APPLE_CC] (memmove): likewise
29264 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
29265 (memcpy): define alias conditionally on !APPLE_CC
29266 (memset): likewise
29267 (abort): likewise
29268 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
29269 APPLE_CC are defined
29270 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
29271 (grub_assert_fail): make prototype conditional
29272
29273 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29274
29275 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
29276
29277 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
29278 grub-macho2img
29279 (CLEANFILES): add grub-macho2img
29280 (grub_macho2img_SOURCES): new variable
29281 * kern/i386/pc/startup.S (bss_start): new variable
29282 (bss_end): likewise
29283 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
29284 * util/grub-macho2img.c: new file
29285
29286 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29287
29288 Use objconv when compiling with Apple's CC
29289
29290 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
29291 (efiemu64.o): likewise
29292 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
29293 when compiling with Apple's CC
29294 (efiemu64_s.o): likewise
29295 * configure.ac: check for objconv when compiling with Apple's CC
29296 * genmk.rb: use objconv for modules when compiled with Apple's CC
29297
29298 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29299
29300 Define segment as well as section when compiling with
29301 Apple's CC
29302
29303 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
29304 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
29305 (efiemu_convert_pointer): likewise
29306 (efiemu_set_virtual_address_map): likewise
29307 (efiemu_convert_pointer): likewise
29308 (efiemu_getcrc32): likewise
29309 (init_crc32_table): likewise
29310 (reflect): likewise
29311 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
29312 (GRUB_MOD_DEP): likewise
29313
29314 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29315
29316 Allow a compilation without -mcmodel=large
29317
29318 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
29319 when compiled without -mcmodel=large
29320 (filter_memory_map): remove memory post 4 GiB when compiled
29321 without -mcmodel=large
29322 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
29323 TARGET_CFLAGS when -mcmodel=large isn't supported
29324
29325 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29326
29327 Remove nested functions in efiemu core
29328
29329 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
29330
29331 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29332
29333 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
29334
29335 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
29336 temporary storage
29337 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
29338 using Apple's CC
29339 (grub_cpu_is_tsc_supported): likewise
29340 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
29341
29342 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29343
29344 Absolute addressing through constant with Apple's cc
29345
29346 * kern/i386/pc/startup.S: Define necessary constants
29347 and address through it when using ABS with Apple's CC
29348 * boot/i386/pc/diskboot.S: likewise
29349 * boot/i386/pc/boot.S: likewise
29350 * boot/i386/pc/lnxboot.S: likewise
29351 * boot/i386/pc/cdboot.S: likewise
29352 * mmap/i386/pc/mmap_helper.S: likewise
29353 * commands/i386/pc/drivemap_int13h.S: likewise
29354
29355 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29356
29357 Check if compiler is apple cc
29358
29359 * Makefile.in (ASFLAGS): new variable
29360 (TARGET_ASFLAGS): likewise
29361 (TARGET_MODULE_FORMAT): likewise
29362 (TARGET_APPLE_CC): likewise
29363 (OBJCONV): likewise
29364 (TARGET_IMG_CFLAGS): likewise
29365 (TARGET_CPPFLAGS): add includedir
29366 * configure.ac: call grub_apple_cc and grub_apple_target_cc
29367 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
29368 Check for linker script only if compiler isn't Apple's CC
29369 (TARGET_MODULE_FORMAT): set
29370 (TARGET_APPLE_CC): likewise
29371 (TARGET_ASFLAGS): likewise
29372 (ASFLAGS): likewise
29373 Check for objcopy only if compiler isn't Apple's CC
29374 Check for BSS symbol only if compiler isn't Apple's CC
29375 * genmk.rb: adapt nm options if we use Apple's utils
29376 * aclocal.m4 (grub_apple_cc): new test
29377 (grub_apple_target_cc): likewise
29378
29379 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29380
29381 Simplify sed expressions and improve awk
29382
29383 * Makefile.in (install-local): simplify sed expression
29384 * gencmdlist.sh: likewise
29385 * genmoddep.awk: avoid adding module as a dependency of itself
29386
29387 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29388
29389 Add missing start symbols
29390
29391 * boot/i386/pc/boot.S: add start
29392 * boot/i386/pc/pxeboot.S: likewise
29393
29394 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29395
29396 Fix wrong assumptions with grub-mkimage on EFI
29397
29398 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
29399 (relocate_addresses): consider both r_addend and value at offset
29400 (make_mods_section): zerofill modinfo and header
29401 (convert_elf): write prefix here
29402
29403 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29404
29405 Use .asciz instead of .string
29406
29407 * i386/pc/diskboot.S: use .asciz instead of .string
29408 * i386/pc/boot.S: likewise
29409 * include/grub/dl.h (GRUB_MOD_DEP): likewise
29410 (GRUB_MOD_NAME): likewise
29411
29412 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29413
29414 gfxpayload support
29415
29416 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
29417 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
29418 (grub_video_setup): remove
29419 (grub_video_set_mode): new prototype
29420 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
29421 (vid_mode): remove
29422 (linux_vesafb_res): compile only on PCBIOS
29423 (grub_linux_boot): support gfxpayload
29424 * loader/i386/pc/xnu.c (video_hook): new function
29425 (grub_xnu_set_video): support gfxpayload
29426 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
29427 (DEFAULT_VIDEO_HEIGHT): likewise
29428 (DEFAULT_VIDEO_FLAGS): likewise
29429 (DEFAULT_VIDEO_MODE): new definition
29430 (video_hook): new function
29431 (grub_gfxterm_init): use grub_video_set_mode
29432 * util/grub.d/30_os-prober.in: remove explicit modesetting before
29433 loading xnu
29434 * video/video.c (grub_video_setup): removed
29435 (grub_video_set_mode): new function based on grub_gfxterm_init and
29436 grub_video_setup
29437
29438 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29439
29440 Avoid calling biosdisk in drivemap
29441
29442 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
29443 (revparse_biosdisk): likewise
29444 (list_mappings): derive name from id directly
29445 (grub_cmd_drivemap): use tryparse_diskstring
29446
29447 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29448
29449 Script fixes
29450
29451 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
29452 (grub_lexer_param): add tokenonhold
29453 (grub_script_create_cmdline): remove cmdline. All callers updated
29454 (grub_script_function_create): make functionname
29455 grub_script_arg. All callers updated
29456 (grub_script_execute_argument_to_string): new prototype
29457 * kern/parser.c (state_transitions): reorder
29458 (grub_parser_cmdline_state): fix a bug and make more compact
29459 * script/sh/execute.c (grub_script_execute_argument_to_string):
29460 make global
29461 (grub_script_execute_cmdline): use new format
29462 * script/sh/function.c (grub_script_function_create): make functionname
29463 grub_script_arg. All callers updated
29464 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
29465 (grub_script_yylex): remove
29466 (grub_script_yylex2): renamed to ...
29467 (grub_script_yylex): ...renamed
29468 parse the expressions like a${b}c
29469 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
29470 (GRUB_PARSER_TOKEN_VAR): remove
29471 (GRUB_PARSER_TOKEN_NAME): likewise
29472 ("if"): declare as typeless
29473 ("while"): likewise
29474 ("function"): likewise
29475 ("else"): likewise
29476 ("then"): likewise
29477 ("fi"): likewise
29478 (text): remove
29479 (argument): likewise
29480 (script): accept empty scripts and make exit on error
29481 (arguments): use GRUB_PARSER_TOKEN_ARG
29482 (function): likewise
29483 (command): move error handling to script
29484 (menuentry): move grub_script_lexer_ref before
29485 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
29486 argument. All callers updated
29487
29488 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
29489
29490 Prevent GRUB from probing floppies during boot.
29491
29492 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
29493 * commands/search.c (options): Add --no-floppy.
29494 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
29495 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
29496 --no-floppy when searching for UUIDs.
29497
29498 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
29499
29500 Simplify the code duplication in commands/search.c.
29501
29502 * commands/search.c (search_label, search_fs_uuid): Merge into ...
29503 (search_fs): ... this. Update all users.
29504
29505 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
29506
29507 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
29508
29509 2009-05-28 Pavel Roskin <proski@gnu.org>
29510
29511 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
29512 Remove the original symlink explicitly.
29513
29514 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
29515 just one slash. That's how grub_fshelp_find_file() does it.
29516
29517 2009-05-26 Pavel Roskin <proski@gnu.org>
29518
29519 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
29520 to `str'.
29521
29522 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
29523 possibly unused.
29524
29525 2009-05-25 Christian Franke <franke@computer.org>
29526
29527 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
29528 register.
29529 (grub_atapi_identify): Add wait after drive select.
29530 (grub_ata_identify): Do more strict status register check before
29531 calling grub_atapi_identify (). Suppress error message if status
29532 register is 0x00 after command failure. Add status register
29533 check after PIO read to avoid bogus identify due to stuck DRQ.
29534 Thanks to Pavel Roskin for testing.
29535 (grub_device_initialize): Remove unsafe status register check.
29536 Thanks to 'phcoder' for problem report and patch.
29537 Prevent sign extension in debug message.
29538
29539 2009-05-23 Colin D Bennett <colin@gibibit.com>
29540
29541 Cleaned up `include/grub/normal.h'. Grouped prototypes by
29542 definition file, and functions defined in `normal/menu.c' have had
29543 their prototypes moved to `include/grub/menu.h' for consistency.
29544
29545 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
29546 from normal.h.
29547 (grub_menu_get_entry): Likewise.
29548 (grub_menu_get_timeout): Likewise.
29549 (grub_menu_set_timeout): Likewise.
29550 (grub_menu_execute_entry): Likewise.
29551 (grub_menu_execute_with_fallback): Likewise.
29552 (grub_menu_entry_run): Likewise.
29553
29554 * include/grub/normal.h: Re-ordered and grouped function
29555 prototypes by file that the function is defined in.
29556 (grub_menu_execute_callback): Removed; moved to menu.h.
29557 (grub_menu_get_entry): Likewise.
29558 (grub_menu_get_timeout): Likewise.
29559 (grub_menu_set_timeout): Likewise.
29560 (grub_menu_execute_entry): Likewise.
29561 (grub_menu_execute_with_fallback): Likewise.
29562 (grub_menu_entry_run): Likewise.
29563 (grub_menu_addentry): Renamed from this ...
29564 (grub_normal_add_menu_entry): ... to this.
29565
29566 * normal/main.c (grub_menu_addentry): Renamed from this ...
29567 (grub_normal_add_menu_entry): ... to this.
29568
29569 * script/sh/execute.c (grub_script_execute_menuentry): Update
29570 reference to renamed grub_menu_addentry function.
29571
29572 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
29573
29574 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
29575
29576 2009-05-22 Pavel Roskin <proski@gnu.org>
29577
29578 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
29579 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
29580 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
29581 compiling for the i386 targets, but not for the utilities.
29582
29583 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
29584 to grub_uint8_t.
29585 (grub_root_drive): Likewise.
29586 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
29587 remove alignment.
29588 (grub_root_drive): Change size to byte.
29589 (grub_start_addr): Remove.
29590 (grub_end_addr): Likewise.
29591 (grub_apm_bios_info): Likewise.
29592
29593 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
29594
29595 * normal/i386: Remove.
29596 * normal/powerpc: Likewise.
29597 * normal/sparc64: Likewise.
29598 * normal/x86_64: Likewise.
29599
29600 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
29601
29602 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
29603 * loader/i386/linux_trampoline.S: Fix indentation
29604 * loader/i386/xnu_helper.S: Likewise
29605
29606 2009-05-18 Colin D Bennett <colin@gibibit.com>
29607
29608 Display error messages when parsing a Lua statement fails.
29609 Previously, executing a syntactically invalid statement like
29610 ")foo" or "bar;" would silently fail.
29611
29612 * script/lua/grub_main.c (handle_lua_error): New function.
29613 (grub_lua_parse_line): Improved reporting of Lua parser and
29614 execution errors.
29615
29616 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
29617
29618 Remove -Werror which causes build to fail on some systems
29619
29620 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
29621 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
29622 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
29623
29624 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
29625
29626 trampoline for linux on 64-bit platform
29627
29628 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
29629 loader/i386/efi/linux_trampoline.S
29630 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
29631 declaration
29632 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
29633 here
29634 * loader/i386/linux_trampoline.S: moved here
29635 * loader/i386/efi/linux.c (allocate_pages): reserve space for
29636 trampoline
29637 (jumpvector): removed
29638 (grub_linux_trampoline_start): new declaration
29639 (grub_linux_trampoline_end): likewise
29640 (grub_linux_boot): use trampoline when on 64-bit platform
29641 * loader/i386/linux.c: likewise
29642
29643 2009-05-16 Pavel Roskin <proski@gnu.org>
29644
29645 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
29646 const to avoid a warning.
29647 (grub_lua_setenv): Likewise.
29648 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
29649 lmsg to fix a warning.
29650
29651 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
29652
29653 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
29654 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
29655 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
29656 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
29657 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
29658 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
29659 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
29660 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
29661
29662 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
29663
29664 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
29665
29666 2009-05-16 Bean <bean123ch@gmail.com>
29667
29668 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
29669 (lua_mod_SOURCES): New variable.
29670 (lua_mod_CFLAGS): Likewise.
29671 (lua_mod_LDFLAGS): Likewise.
29672
29673 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
29674 (setjmp_mod_SOURCES): New variable.
29675 (setjmp_mod_CFLAGS): Likewise.
29676 (setjmp_LDFLAGS): Likewise.
29677
29678 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
29679 (setjmp_mod_SOURCES): New variable.
29680 (setjmp_mod_CFLAGS): Likewise.
29681 (setjmp_LDFLAGS): Likewise.
29682
29683 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
29684 (setjmp_mod_SOURCES): New variable.
29685 (setjmp_mod_CFLAGS): Likewise.
29686 (setjmp_LDFLAGS): Likewise.
29687
29688 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
29689 (setjmp_mod_SOURCES): New variable.
29690 (setjmp_mod_CFLAGS): Likewise.
29691 (setjmp_LDFLAGS): Likewise.
29692
29693 * normal/i386/setjmp.S: Moved from here ...
29694 * lib/i386/setjmp.S: ... Moved here
29695 * normal/x86_64/setjmp.S: Moved from here ...
29696 * lib/x86_64/setjmp.S: ... Moved here
29697 * normal/powerpc/setjmp.S: Moved from here ...
29698 * lib/powerpc/setjmp.S: ... Moved here
29699 * normal/sparc64/setjmp.S: Moved from here ...
29700 * lib/sparc64/setjmp.S: ... Moved here
29701
29702 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
29703 returns_twice in mingw.
29704
29705 * script/lua/grub_lib.c: New file.
29706 * script/lua/grub_lib.h: Likewise.
29707 * script/lua/grub_lua.h: Likewise.
29708 * script/lua/grub_main.c: Likewise.
29709 * script/lua/lapi.c: Likewise.
29710 * script/lua/lapi.h: Likewise.
29711 * script/lua/lauxlib.c: Likewise.
29712 * script/lua/lauxlib.h: Likewise.
29713 * script/lua/lbaselib.c: Likewise.
29714 * script/lua/lcode.c: Likewise.
29715 * script/lua/lcode.h: Likewise.
29716 * script/lua/ldblib.c: Likewise.
29717 * script/lua/ldebug.c: Likewise.
29718 * script/lua/ldebug.h: Likewise.
29719 * script/lua/ldo.c: Likewise.
29720 * script/lua/ldo.h: Likewise.
29721 * script/lua/ldump.c: Likewise.
29722 * script/lua/lfunc.c: Likewise.
29723 * script/lua/lfunc.h: Likewise.
29724 * script/lua/lgc.c: Likewise.
29725 * script/lua/lgc.h: Likewise.
29726 * script/lua/linit.c: Likewise.
29727 * script/lua/liolib.c: Likewise.
29728 * script/lua/llex.c: Likewise.
29729 * script/lua/llex.h: Likewise.
29730 * script/lua/llimits.h: Likewise.
29731 * script/lua/lmathlib.c: Likewise.
29732 * script/lua/lmem.c: Likewise.
29733 * script/lua/lmem.h: Likewise.
29734 * script/lua/loadlib.c: Likewise.
29735 * script/lua/lobject.c: Likewise.
29736 * script/lua/lobject.h: Likewise.
29737 * script/lua/lopcodes.c: Likewise.
29738 * script/lua/lopcodes.h: Likewise.
29739 * script/lua/loslib.c: Likewise.
29740 * script/lua/lparser.c: Likewise.
29741 * script/lua/lparser.h: Likewise.
29742 * script/lua/lstate.c: Likewise.
29743 * script/lua/lstate.h: Likewise.
29744 * script/lua/lstring.c: Likewise.
29745 * script/lua/lstring.h: Likewise.
29746 * script/lua/lstrlib.c: Likewise.
29747 * script/lua/ltable.c: Likewise.
29748 * script/lua/ltable.h: Likewise.
29749 * script/lua/ltablib.c: Likewise.
29750 * script/lua/ltm.c: Likewise.
29751 * script/lua/ltm.h: Likewise.
29752 * script/lua/lua.h: Likewise.
29753 * script/lua/luaconf.h: Likewise.
29754 * script/lua/lualib.h: Likewise.
29755 * script/lua/lundump.c: Likewise.
29756 * script/lua/lundump.h: Likewise.
29757 * script/lua/lvm.c: Likewise.
29758 * script/lua/lvm.h: Likewise.
29759 * script/lua/lzio.c: Likewise.
29760 * script/lua/lzio.h: Likewise.
29761
29762 2009-05-16 Bean <bean123ch@gmail.com>
29763
29764 * include/grub/kernel.h (grub_module_header_types): Add type
29765 OBJ_TYPE_CONFIG.
29766
29767 * kern/main.c (grub_load_config): New function.
29768 (grub_main): Call grub_load_config to read boot config.
29769
29770 * grub-mkimage (generate_image): New parameter config_path.
29771 (options): New option --config.
29772 (main): Parse --config option, and pass it to generate_image.
29773
29774 2009-05-14 Christian Franke <franke@computer.org>
29775
29776 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
29777 This fixes build on Cygwin.
29778
29779 2009-05-14 Pavel Roskin <proski@gnu.org>
29780
29781 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
29782 jump. This saves two bytes, so the typical case of 2 swapped
29783 drives would fit 32 bytes.
29784
29785 2009-05-13 Pavel Roskin <proski@gnu.org>
29786
29787 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
29788 grub_uint32_t to avoid a warning.
29789
29790 * loader/i386/linux.c (allocate_pages): When assigning
29791 real_mode_mem, cast through grub_size_t to fix a warning. The
29792 code already makes sure that the value would fit a pointer.
29793 (grub_linux_setup_video): Cast render_target->data to
29794 grub_size_t to fix a warning.
29795
29796 2009-05-13 Javier Martín <lordhabbit@gmail.com>
29797
29798 * commands/i386/pc/drivemap.c: New file - implement drivemap
29799 command.
29800 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
29801 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
29802
29803 2009-05-13 Pavel Roskin <proski@gnu.org>
29804
29805 * util/i386/pc/grub-setup.c (setup): Remove unused variable
29806 embedding_area_exists.
29807
29808 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
29809
29810 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
29811 it easier to understand / work with.
29812 Improve warning messages for cases where there's no embedding area,
29813 or when it is too small (or core.img too large).
29814
29815 2009-05-13 Pavel Roskin <proski@gnu.org>
29816
29817 * loader/i386/pc/multiboot2.c: Add necessary includes for
29818 grub_multiboot2_real_boot().
29819
29820 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
29821 PX record is always little-endian. We only need the lower 2
29822 bytes of the mode.
29823
29824 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
29825 facilitate code reuse.
29826 (grub_cpio_mount): Use "struct head", not a char buffer. This
29827 fixes a warning reported by gcc 4.4.
29828
29829 * kernel/disk.c (grub_disk_read): Use void pointer for the
29830 buffer.
29831 (grub_disk_write): Use const void pointer for the buffer.
29832 Adjust all callers. Remove unnecessary casts.
29833
29834 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
29835
29836 * util/i386/pc/grub-install.in: Update copyright year.
29837
29838 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
29839
29840 gptsync
29841
29842 * commands/gptsync.c: new file
29843 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
29844 (gptsync_mod_SOURCES): new variable
29845 (gptsync_mod_CFLAGS): likewise
29846 (gptsync_mod_LDFLAGS): likewise
29847 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
29848 new definition
29849 (GRUB_PC_PARTITION_TYPE_HFS): likewise
29850 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
29851 * conf/i386-ieee1275.rmk: likewise
29852 * conf/i386-pc.rmk: likewise
29853 * conf/powerpc-ieee1275.rmk: likewise
29854
29855 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
29856
29857 Fixed grub-emu
29858
29859 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
29860 (grub_dl_ref): likewise
29861
29862 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
29863
29864 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
29865 split in two functions (one for msdos and one for gpt).
29866
29867 2009-05-08 Pavel Roskin <proski@gnu.org>
29868
29869 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
29870 not modified.
29871
29872 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
29873 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
29874 Initialize them with -1. Add sanity check for bad1. Eliminate
29875 nerr variable.
29876
29877 2009-05-08 David S. Miller <davem@davemloft.net>
29878
29879 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
29880
29881 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
29882
29883 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
29884 existence.
29885
29886 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
29887
29888 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
29889 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
29890
29891 2009-05-05 David S. Miller <davem@davemloft.net>
29892
29893 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
29894
29895 2009-05-05 Pavel Roskin <proski@gnu.org>
29896
29897 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
29898 of grub_dl_ref() and grub_dl_unref().
29899 * commands/parttool.c: Remove preprocessor conditionals around
29900 grub_dl_ref() and grub_dl_unref().
29901 * fs/affs.c: Likewise.
29902 * fs/afs.c: Likewise.
29903 * fs/cpio.c: Likewise.
29904 * fs/ext2.c: Likewise.
29905 * fs/fat.c: Likewise.
29906 * fs/hfs.c: Likewise.
29907 * fs/hfsplus.c: Likewise.
29908 * fs/iso9660.c: Likewise.
29909 * fs/jfs.c: Likewise.
29910 * fs/minix.c: Likewise.
29911 * fs/ntfs.c: Likewise.
29912 * fs/reiserfs.c: Likewise.
29913 * fs/sfs.c: Likewise.
29914 * fs/udf.c: Likewise.
29915 * fs/ufs.c: Likewise.
29916 * fs/xfs.c: Likewise.
29917 * include/grub/dl.h: Likewise.
29918 * loader/xnu.c: Likewise.
29919
29920 2009-05-04 Pavel Roskin <proski@gnu.org>
29921
29922 * commands/acpi.c: Remove unused variable my_mod.
29923 * partmap/amiga.c: Likewise.
29924 * partmap/apple.c: Likewise.
29925 * partmap/gpt.c: Likewise.
29926 * partmap/pc.c: Likewise.
29927 * partmap/sun.c: Likewise.
29928 * term/gfxterm.c: Likewise.
29929 * term/i386/pc/vesafb.c: Likewise.
29930 * term/i386/pc/vga.c: Likewise.
29931
29932 2009-05-04 David S. Miller <davem@davemloft.net>
29933
29934 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
29935 pointer args to grub_ieee1275_get_property().
29936
29937 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
29938
29939 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
29940 devices, and do not traverse down under controller nodes.
29941
29942 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
29943 (grub_ofdisk_open): Use it to un-escape "," characters.
29944 * kern/disk.c (find_part_sep): New.
29945 (grub_disk_open): Use it to find the first non-escaped ','
29946 character in the disk name.
29947 * util/ieee1275/devicemap.c (escape_of_path): New.
29948 (grub_util_emit_devicemap_entry): Use it.
29949 * util/sparc64/ieee1275/grub-install.in: Update script to
29950 strip partition specifiers properly by not triggering on
29951 '\' escaped ',' characters.
29952
29953 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
29954
29955 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
29956 to 0x300.
29957 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
29958 resolutions.
29959 (linux_vesafb_modes): Add a lot of additional modes to the list (based
29960 on documentation from Wikipedia).
29961
29962 2009-05-04 Pavel Roskin <proski@gnu.org>
29963
29964 * disk/ata.c: Spelling fixes.
29965 * disk/raid.c: Likewise.
29966 * disk/usbms.c: Likewise.
29967 * disk/dmraid_nvidia.c: Likewise.
29968 * kern/ieee1275/openfw.c: Likewise.
29969 * kern/ieee1275/init.c: Likewise.
29970 * kern/ieee1275/cmain.c: Likewise.
29971 * boot/i386/pc/cdboot.S: Likewise.
29972 * video/readers/png.c: Likewise.
29973 * video/i386/pc/vbe.c: Likewise.
29974 * fs/udf.c: Likewise.
29975 * fs/hfs.c: Likewise.
29976 * fs/reiserfs.c: Likewise.
29977 * efiemu/runtime/efiemu.c: Likewise.
29978 * efiemu/main.c: Likewise.
29979 * efiemu/mm.c: Likewise.
29980 * include/grub/elf.h: Likewise.
29981 * include/grub/xnu.h: Likewise.
29982 * include/grub/usbdesc.h: Likewise.
29983 * include/grub/usb.h: Likewise.
29984 * include/grub/script_sh.h: Likewise.
29985 * include/grub/lib/LzmaEnc.h: Likewise.
29986 * include/grub/efiemu/efiemu.h: Likewise.
29987 * include/grub/command.h: Likewise.
29988 * normal/menu.c: Likewise.
29989 * normal/main.c: Likewise.
29990 * normal/datetime.c: Likewise.
29991 * bus/usb/uhci.c: Likewise.
29992 * mmap/i386/uppermem.c: Likewise.
29993 * mmap/mmap.c: Likewise.
29994 * commands/acpi.c: Likewise.
29995 * commands/test.c: Likewise.
29996 * partmap/apple.c: Likewise.
29997 * font/font.c: Likewise.
29998 * loader/sparc64/ieee1275/linux.c: Likewise.
29999 * loader/macho.c: Likewise.
30000 * loader/i386/bsd_trampoline.S: Likewise.
30001 * loader/i386/bsd.c: Likewise.
30002 * loader/xnu.c: Likewise.
30003 * term/i386/pc/vesafb.c: Likewise.
30004 * term/usb_keyboard.c: Likewise.
30005 * util/resolve.c: Likewise.
30006 * util/getroot.c: Likewise.
30007
30008 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
30009
30010 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
30011
30012 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30013
30014 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
30015 build error.
30016
30017 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30018
30019 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
30020 parameter only available on BIOS.
30021
30022 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
30023
30024 Removed wrong semicolon in declaration
30025
30026 * grub/misc.h (grub_dprintf): remove semicolon
30027
30028 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30029
30030 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
30031 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
30032 is done by grub_cmd_linux() now).
30033 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
30034 restore video to text mode.
30035 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
30036 indicates lack of "vga=" parameter. "vga=0" is mapped to
30037 `GRUB_LINUX_VID_MODE_NORMAL'.
30038
30039 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
30040
30041 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
30042 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
30043 and `normal/script.c'. Add `kern/rescue_reader.c',
30044 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
30045 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
30046 `grub_script.tab.c'.
30047
30048 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30049 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30050 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30051 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
30052 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30053
30054 * Makefile.in: Remove duplicated 2008 in Copyright line.
30055
30056 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30057
30058 * util/misc.c (grub_util_warn): New function. Emits a warning
30059 unconditionally.
30060 * include/grub/util/misc.h (grub_util_warn): New declaration.
30061
30062 * util/i386/pc/grub-install.in: Understand --force and pass it down
30063 to grub-setup.
30064
30065 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
30066 down to setup().
30067 (setup): Improve error messages and add warnings when requested to
30068 install in odd layouts. Refuse to install using blocklists unless
30069 --force was set.
30070
30071 2009-05-04 martin f. krafft <madduck@madduck.net>
30072
30073 * disk/raid.c (grub_raid_scan_device): Improve debug message.
30074
30075 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
30076
30077 Updated copyright year
30078
30079 * fs/hfsplus.c: updated copyright year
30080
30081 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
30082
30083 HFS+ UUID
30084
30085 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
30086 in the space previously used by unused3
30087 (grub_hfsplus_uuid): new function
30088 (grub_hfsplus_fs): added uuid field
30089
30090 2009-05-03 Pavel Roskin <proski@gnu.org>
30091
30092 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
30093 suppress warnings. It's no longer needed.
30094 * disk/host.c: Likewise.
30095 * disk/ata_pthru.c: Likewise.
30096 * disk/loopback.c: Likewise.
30097 * hook/datehook.c: Likewise.
30098 * parttool/pcpart.c: Likewise.
30099 * fs/i386/pc/pxe.c: Likewise.
30100 * fs/ntfscomp.c: Likewise.
30101 * efiemu/main.c: Likewise.
30102 * mmap/mmap.c: Likewise.
30103 * commands/crc.c: Likewise.
30104 * commands/hexdump.c: Likewise.
30105 * commands/hdparm.c: Likewise.
30106 * commands/acpi.c: Likewise.
30107 * commands/echo.c: Likewise.
30108 * commands/minicmd.c: Likewise.
30109 * commands/blocklist.c: Likewise.
30110 * commands/memrw.c: Likewise.
30111 * commands/loadenv.c: Likewise.
30112 * commands/usbtest.c: Likewise.
30113 * commands/lsmmap.c: Likewise.
30114 * commands/boot.c: Likewise.
30115 * commands/parttool.c: Likewise.
30116 * commands/configfile.c: Likewise.
30117 * commands/search.c: Likewise.
30118 * commands/ieee1275/suspend.c: Likewise.
30119 * commands/cat.c: Likewise.
30120 * commands/i386/pc/pxecmd.c: Likewise.
30121 * commands/i386/pc/play.c: Likewise.
30122 * commands/i386/pc/halt.c: Likewise.
30123 * commands/i386/pc/vbeinfo.c: Likewise.
30124 * commands/i386/pc/vbetest.c: Likewise.
30125 * commands/lspci.c: Likewise.
30126 * commands/date.c: Likewise.
30127 * commands/handler.c: Likewise.
30128 * commands/ls.c: Likewise.
30129 * commands/test.c: Likewise.
30130 * commands/cmp.c: Likewise.
30131 * commands/efi/loadbios.c: Likewise.
30132 * commands/efi/fixvideo.c: Likewise.
30133 * commands/halt.c: Likewise.
30134 * commands/help.c: Likewise.
30135 * commands/reboot.c: Likewise.
30136 * hello/hello.c: Likewise.
30137 * script/sh/main.c: Likewise.
30138 * loader/xnu.c: Likewise.
30139 * term/terminfo.c: Likewise.
30140 * term/i386/pc/serial.c: Likewise.
30141 * term/usb_keyboard.c: Likewise.
30142
30143 2009-05-03 David S. Miller <davem@davemloft.net>
30144
30145 * normal/menu.c: Include grub/parser.h
30146
30147 2009-05-03 Pavel Roskin <proski@gnu.org>
30148
30149 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
30150 not char*.
30151 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
30152 Suggested by Javier Martín <lordhabbit@gmail.com>
30153
30154 * util/i386/pc/grub-mkrescue.in: Allow for the case when
30155 efiemu??.o doesn't exist.
30156 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
30157 copying.
30158
30159 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
30160
30161 FreeBSD 64-bit support
30162
30163 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
30164 and loader/i386/bsd_trampoline.S
30165 (bsd_mod_ASFLAGS): new variable
30166 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
30167 (FREEBSD_MODTYPE_KERNEL64): likewise
30168 (grub_bsd64_trampoline_start): likewise
30169 (grub_bsd64_trampoline_end): likewise
30170 (grub_bsd64_trampoline_selfjump): likewise
30171 (grub_bsd64_trampoline_gdt): likewise
30172 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
30173 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
30174 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
30175 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
30176 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
30177 of "attrib" member
30178 * loader/i386/bsd_pagetable.c: new file
30179 * loader/i386/bsd_trampoline.S: likewise
30180 * loader/i386/bsd.c (ALIGN_QWORD): new macro
30181 (ALIGN_VAR): likewise
30182 (entry_hi): new variable
30183 (kern_end_mdofs): likewise
30184 (is_64bit): likewise
30185 (grub_freebsd_add_meta): use ALIGN_VAR
30186 (grub_e820_mmap): new declaration
30187 (grub_freebsd_add_mmap): new function
30188 (grub_freebsd_add_meta_module): support 64 bit kernels
30189 (grub_freebsd_list_modules): use ALIGN_VAR
30190 (gdt_descriptor): new declaration
30191 (grub_freebsd_boot): support 64 bit kernels
30192 (grub_bsd_elf64_hook): new function
30193 (grub_bsd_load_elf): support elf64
30194
30195 2009-05-03 Bean <bean123ch@gmail.com>
30196
30197 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
30198 after we get the result of if statement.
30199
30200 2009-05-03 Bean <bean123ch@gmail.com>
30201
30202 * Makefile.in (enable_efiemu): New variable.
30203
30204 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
30205 set.
30206 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
30207 path.
30208 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
30209 path, add -mno-red-zone option.
30210 (efiemu64_s.o): Likewise.
30211 (efiemu64.o): Use macro $^ for source file.
30212
30213 * configure.ac (--enable-efiemu): New option.
30214
30215 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
30216
30217 xnu support
30218
30219 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
30220 (pkglib_MODULES): add xnu.mod
30221 (xnu_mod_SOURCES): new variable
30222 (xnu_mod_CFLAGS): likewise
30223 (xnu_mod_LDFLAGS): likewise
30224 (xnu_mod_ASFLAGS): likewise
30225 * conf/i386-pc.rmk: likewise
30226 * conf/x86_64-efi.rmk: likewise
30227 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
30228 new declaration
30229 * include/grub/i386/macho.h: new file
30230 * include/grub/i386/xnu.h: likewise
30231 * include/grub/macho.h: likewise
30232 * include/grub/machoload.h: likewise
30233 * include/grub/x86_64/macho.h: likewise
30234 * include/grub/x86_64/xnu.h: likewise
30235 * include/grub/xnu.h: likewise
30236 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
30237 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
30238 * loader/i386/efi/xnu.c: new file
30239 * loader/i386/pc/xnu.c: likewise
30240 * loader/i386/xnu.c: likewise
30241 * loader/i386/xnu_helper.S: likewise
30242 * loader/macho.c: likewise
30243 * loader/xnu.c: likewise
30244 * loader/xnu_resume.c: likewise
30245 * util/grub-dumpdevtree: likewise
30246 * include/grub/i386/pit.h: include grub/err.h
30247 (grub_pit_wait): export
30248 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
30249
30250 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
30251
30252 Efiemu
30253
30254 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
30255 _linux_efi, linux_efi.
30256 new files in grub-emu
30257 new targets efiemu32.o and efiemu64.o
30258 * loader/linux_normal_efiemu.c: likewise
30259 * loader/i386/efi/linux.c: added preliminary efiemu support
30260 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
30261 files to copy
30262 * include/grub/autoefi.h: new file
30263 * include/grub/i386/efiemu.h: likewise
30264 * include/grub/i386/pc/efiemu.h: likewise
30265 * include/grub/efi/api.h: add LL suffix when necessary
30266 new definitions relating to tables
30267 * include/grub/efiemu/efiemu.h: new file
30268 * include/grub/efiemu/runtime.h: likewise
30269 * efiemu/prepare.c: likewise
30270 * efiemu/loadcore_common.c: likewise
30271 * efiemu/loadcore64.c: likewise
30272 * efiemu/runtime/efiemu.sh: likewise
30273 * efiemu/runtime/efiemu.S: likewise
30274 * efiemu/runtime/efiemu.c: likewise
30275 * efiemu/runtime/config.h: likewise
30276 * efiemu/prepare32.c: likewise
30277 * efiemu/main.c: likewise
30278 * efiemu/modules/pnvram.c: likewise
30279 * efiemu/modules/i386: likewise
30280 * efiemu/modules/i386/pc: likewise
30281 * efiemu/modules/acpi.c: likewise
30282 * efiemu/i386/pc/cfgtables.c: likewise
30283 * efiemu/i386/loadcore64.c: likewise
30284 * efiemu/i386/loadcore32.c: likewise
30285 * efiemu/prepare64.c: likewise
30286 * efiemu/loadcore.c: likewise
30287 * efiemu/symbols.c: likewise
30288 * efiemu/mm.c: likewise
30289 * efiemu/loadcore32.c: likewise
30290
30291 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
30292
30293 ACPI spoofing
30294
30295 * commands/acpi.c: new file
30296 * commands/i386/pc/acpi.c: likewise
30297 * commands/efi/acpi.c: likewise
30298 * include/grub/acpi.h: likewise
30299 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
30300 (acpi_mod_SOURCES): new variable
30301 (acpi_mod_CFLAGS): likewise
30302 (acpi_mod_LDFLAGS): likewise
30303 * conf/i386-efi.rmk: likewise
30304 * conf/x86_64-efi.rmk: likewise
30305
30306 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
30307
30308 Missing part from mmap patch
30309
30310 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
30311 (grub_mmap_unregister)
30312 (grub_mmap_free_and_unregister): use grub_mmap_register
30313
30314 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
30315
30316 Mmap services
30317
30318 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
30319 * loader/i386/linux.c (find_mmap_size): likewise
30320 (allocate_pages): likewise
30321 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
30322 (grub_fill_multiboot_mmap): likewise
30323 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
30324 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
30325 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
30326 (OPENBSD_MMAP_RESERVED): likewise
30327 * include/grub/i386/pc/memory.h: include grub/memory.h
30328 (grub_lower_mem): removed
30329 (grub_upper_mem): likewise
30330 (GRUB_MACHINE_MEMORY_ACPI): new definition
30331 (GRUB_MACHINE_MEMORY_NVS): likewise
30332 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
30333 (GRUB_MACHINE_MEMORY_HOLE): likewise
30334 (grub_machine_mmap_register): likewise
30335 (grub_machine_mmap_unregister): likewise
30336 (grub_machine_get_upper): likewise
30337 (grub_machine_get_lower): likewise
30338 (grub_machine_get_post64): likewise
30339 * include/grub/i386/efi/memory.h: new file
30340 * include/grub/x86_64/efi/memory.h: likewise
30341 * include/grub/efi/memory.h: likewise
30342 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
30343 (mmap_mod_SOURCES): new variable
30344 (mmap_mod_LDFLAGS): likewise
30345 (mmap_mod_ASFLAGS): likewise
30346 * conf/i386-coreboot.rmk: likewise
30347 * conf/i386-ieee1275.rmk: likewise
30348 * conf/i386-efi.rmk: likewise
30349 * conf/x86_64-efi.rmk: likewise
30350 * include/grub/types.h (UINT_TO_PTR): new macro
30351 (PTR_TO_UINT32): likewise
30352 (PTR_TO_UINT64): likewise
30353 * include/grub/memory.h: new file
30354 * mmap/i386/pc/mmap.c: likewise
30355 * mmap/i386/pc/mmap_helper.S: likewise
30356 * mmap/i386/uppermem.c: likewise
30357 * mmap/mmap.c: likewise
30358 * mmap/efi/mmap.c: likewise
30359 * kern/i386/coreboot/init.c (grub_machine_init): don't use
30360 grub_upper_mem
30361 * kern/i386/pc/init.c (grub_lower_mem): removed variable
30362 (grub_upper_mem): likewise
30363 (grub_machine_init): don't use grub_upper_mem,
30364 make grub_lower_mem local
30365 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
30366 grub_mmap_iterate and grub_mmap_get_upper
30367 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
30368
30369 2009-05-02 Bean <bean123ch@gmail.com>
30370
30371 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
30372 script/sh/parser.y.
30373 (pkglib_MODULES): Add normal.mod and sh.mod.
30374 (normal_SOURCES): New variable.
30375 (normal_mod_CFLAGS): Likewise.
30376 (normal_mod_LDFLAGS): Likewise.
30377 (sh_mod_SOURCES): Likewise.
30378 (sh_mod_CFLAGS): Likewise.
30379 (sh_mod_LDFLAGS): Likewise.
30380
30381 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
30382 script/sh/lexer.c_DEPENDENCIES.
30383 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
30384 kern/rescue_reader.c and kern/rescue_parser.c.
30385 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
30386 (grub_emu_SOURCES): Change source files.
30387 (pkglib_MODULES): Remove normal.mod.
30388 (normal_SOURCES): Removed.
30389 (normal_mod_CFLAGS): Likewise.
30390 (normal_mod_LDFLAGS): Likewise.
30391 * conf/i386-coreboot.rmk: Likewise.
30392 * conf/i386-efi.rmk: Likewise.
30393 * conf/i386-ieee1276.rmk: Likewise.
30394 * conf/powerpc-ieee1275.rmk: Likewise.
30395 * conf/sparc64-ieee1275.rmk: Likewise.
30396 * conf/x86_64-efi.rmk: Likewise.
30397
30398 * include/grub/command.h (grub_command_execute): New inline function.
30399
30400 * include/grub/menu.h (grub_menu_entry): Removed commands field.
30401
30402 * include/grub/normal.h: Remove <grub/setjmp.h>.
30403 (grub_fs_module_list): Moved to normal/autofs.c.
30404 (grub_exit_env): Removed.
30405 (grub_command_execute): Likewise.
30406 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
30407 parameter script.
30408 (read_command_list): New function declaration.
30409 (read_fs_list): Likewise.
30410
30411 * include/parser.h: Include <grub/reader.h>.
30412 (grub_parser_split_cmdline): Change type of getline parameter.
30413 (grub_parser): New structure.
30414 (grub_parser_class): New variable.
30415 (grub_parser_execute): New function declaration.
30416 (grub_register_rescue_parser): Likewise.
30417 (grub_parser_register): New inline function.
30418 (grub_parser_unregister): Likewise.
30419 (grub_parser_get_current): Likewise.
30420 (grub_parser_set_current): Likewise.
30421
30422 * include/grub/reader.h: New file.
30423 * kern/reader.c: Likewise.
30424 * kern/rescue_parser.c: Likewise.
30425 * kern/rescue_reader.c: Likewise.
30426 * normal/autofs.c: Likewise.
30427 * normal/dyncmd.c: Likewise.
30428
30429 * include/grub/rescue.h: Removed.
30430 * normal/command.h: Likewise.
30431
30432 * include/grub/script.h: Moved to ...
30433 * include/grub/script_sh.h: ... Moved here.
30434 * normal/execute.c: Moved to ...
30435 * script/sh/execute.c: ... Moved here.
30436 * normal/function.c: Moved to ...
30437 * script/sh/function.c: ... Moved here.
30438 * normal/lexer.c: Moved to ...
30439 * script/sh/lexer.c: ... Moved here.
30440 * normal/parser.y: Moved to ...
30441 * script/sh/parser.y: ... Moved here.
30442 * normal/script.c: Moved to ...
30443 * script/sh/script.c: ... Moved here.
30444
30445 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
30446 <grub/reader.h>.
30447 (grub_exit_env): Removed.
30448 (fs_module_list): Moved to normal/autofs.c.
30449 (grub_file_getline): Don't handle comment here.
30450 (free_menu): Skip removed field entry->commands.
30451 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
30452 script parameter.
30453 (read_config_file): Removed nested parameter, change getline function.
30454 (grub_enter_normal_mode): Removed.
30455 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
30456 (read_command_list): Likewise.
30457 (autoload_fs_module): Moved to normal/autofs.c.
30458 (read_fs_list): Likewise.
30459 (reader_nested): New variable.
30460 (grub_normal_execute): Run parser.sh to switch to sh parser.
30461 (grub_cmd_rescue): Removed.
30462 (cmd_normal): Removed.
30463 (grub_cmd_normal): Unregister itself at the beginning. Don't register
30464 rescue command.
30465 (grub_cmdline_run): New function.
30466 (grub_normal_reader_init): Likewise.
30467 (grub_normal_read_line): Likewise.
30468 (grub_env_write_pager): Likewise.
30469 (cmdline): New variable.
30470 (grub_normal_reader): Likewise.
30471 (GRUB_MOD_INIT): Register normal reader and set as current, register
30472 pager hook, register normal command with grub_register_command_prio,
30473 so that it won't show up in command.lst.
30474 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
30475 grub_fs_autoload_hook.
30476
30477 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
30478 (grub_menu_execute_entry): Replace grub_script_execute with
30479 grub_parser_execute, change parameter to grub_command_execute.
30480
30481 * normal/menu_text.c: Remove <grub/script.h>.
30482
30483 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
30484 and <grub/parser.h>.
30485 (run): Change editor_getline to use new parser interface. Change
30486 parameter to grub_command_execute.
30487
30488 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
30489 <grub/reader.h> and <grub/parser.h>.
30490 (grub_load_normal_mode): Execute normal command.
30491 (grub_main): Call grub_register_core_commands,
30492 grub_register_rescue_parser and grub_register_rescue_reader, use
30493 grub_reader_loop to enter input loop.
30494
30495 * kern/parser.c (grub_parser_split_cmdline): Change type of
30496 getline parameter.
30497 (grub_parser_class): New variable.
30498 (grub_parser_execute): New function.
30499
30500 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
30501 * loader/multiboot2.c: Likewise.
30502 * loader/sparc64/ieee1275/linux.c: Likewise.
30503
30504 * util/grub-emu.c (read_command_list): New dummy function.
30505
30506 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
30507
30508 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
30509 count to 16 for CCISS and IDA.
30510
30511 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
30512
30513 * normal/menu_text.c (grub_wait_after_message): Print a newline
30514 after waiting for user input.
30515
30516 * loader/i386/linux.c: Include `<grub/normal.h>'.
30517 (grub_cmd_linux): Improve the error message about `ask' mode, by
30518 waiting for user input so it's not missed (we can do this, since
30519 user requested interaction).
30520
30521 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
30522
30523 Added missing lst to grub-mkrescue
30524
30525 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
30526 and ${input_dir}/parttool.lst
30527
30528 2009-04-30 David S. Miller <davem@davemloft.net>
30529
30530 * util/hostdisk.c (device_is_wholedisk): New function.
30531 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
30532 zero only if device_is_wholedisk() returns true.
30533
30534 * util/hostdisk.c (convert_system_partition_to_system_disk):
30535 Handle virtual disk devices named /dev/vdiskX as found on sparc
30536 and powerpc.
30537
30538 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
30539 lettered partition specifier is found, convert to numbered.
30540
30541 2009-04-29 David S. Miller <davem@davemloft.net>
30542
30543 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
30544 * include/grub/sparc64/ieee1275/memory.h: Likewise.
30545
30546 * normal/command.c: Add missing newline at end of file.
30547
30548 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
30549 warnings.
30550 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
30551 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
30552 grub_ofdisk_read): Likewise, and deal similarly with the fact that
30553 ihandles have a 32-bit type but need to be stored in a "void *".
30554
30555 2009-04-28 Pavel Roskin <proski@gnu.org>
30556
30557 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
30558 not disk. Adjust all dependencies.
30559 (grub_fs_uuid_close): Use grub_device_close(), not
30560 grub_disk_close().
30561
30562 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
30563 parent's partition, don't copy it by reference, as it gets freed
30564 on close.
30565
30566 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
30567
30568 Preboot hooks support
30569
30570 * commands/boot.c (struct grub_preboot_t): new declaration
30571 (preboots_head): new variable
30572 (preboots_tail): likewise
30573 (grub_loader_register_preboot_hook): new function
30574 (grub_loader_unregister_preboot_hook): likewise
30575 (grub_loader_set): launch preboot hooks
30576 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
30577 (grub_loader_register_preboot_hook): new declaration
30578 (grub_loader_unregister_preboot_hook): likewise
30579
30580 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
30581
30582 Warning fix
30583
30584 * disk/scsi.c (grub_scsi_open): added missing cast when
30585 calling grub_dprintf
30586
30587 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
30588
30589 Bug and warning fixes
30590
30591 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
30592 declaration
30593 * commands/test.c (test_parse): fixed bug with file tests and corrected
30594 declaration of find_file
30595
30596 2009-04-26 Pavel Roskin <proski@gnu.org>
30597
30598 * Makefile.in: Don't install empty manual pages if help2man is
30599 missing. Use help2man option for output, not shell redirection.
30600
30601 2009-04-26 David S. Miller <davem@davemloft.net>
30602
30603 * util/grub-mkdevicemap.c (make_device_map): Add missing
30604 NESTED_FUNC_ATTR to process_device().
30605
30606 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
30607
30608 Test command
30609
30610 * commands/test.c: rewritten to use bash-like test
30611
30612 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
30613
30614 Parttool autoloading and improvements
30615
30616 * Makefile.in (pkglib_DATA): add parttool.lst
30617 (parttool.lst): new target
30618 * genmk.rb: generate parttool-*
30619 (CLEANFILES): add #{parttool}
30620 (PARTTOOLFILES): new variable
30621 * genparttoollist.sh: new file
30622 * parttool/pcpart.c (grub_pcpart_boot): more feedback
30623 (grub_pcpart_type): likewise
30624 * commands/parttool.c (helpmsg): new variable
30625 (grub_cmd_parttool): output help if not enough arguments are supplied
30626 autoload modules
30627 (GRUB_MOD_INIT(parttool)): use helpmsg
30628
30629 2009-04-24 David S. Miller <davem@davemloft.net>
30630
30631 Avoiding opening same device multiple times in device iterator.
30632
30633 * kern/device.c: (grub_device_iterate): Define struct part_ent,
30634 and use it to build a list of partitions in iterate_disk() and
30635 iterate_partition().
30636
30637 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
30638 on disk->data.
30639
30640 * disk/ieee1275/nand.c (grub_nand_iterate): Return
30641 grub_devalias_iterate() result instead of unconditional 0.
30642 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
30643 Also, capture hook return value, either directly or via
30644 grub_children_iterate(), and propagate to caller.
30645 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
30646 grub_children_iterate): Return value is now 'int' instead of
30647 'grub_err_t'.
30648 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
30649 like a proper iterator, stopping when hooks return non-zero.
30650 (grub_devalias_iterate): Likewise.
30651
30652 2009-04-23 David S. Miller <davem@davemloft.net>
30653
30654 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
30655
30656 2009-04-22 David S. Miller <davem@davemloft.net>
30657
30658 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
30659 is larger than address_cells, use that value for address_cells too.
30660
30661 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
30662 IEEE1275_MAX_PATH_LEN): Define.
30663 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
30664 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
30665 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
30666 'devtype'. Explicitly NULL terminate devalias expansion.
30667
30668 * util/sparc64/ieee1275/misc.c: New file.
30669 * util/sparc64/ieee1275/grub-setup.c: New file.
30670 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
30671 * util/sparc64/ieee1275/grub-mkimage.c: New file.
30672 * util/sparc64/ieee1275/grub-install.in: New file.
30673 * util/ieee1275/ofpath.c: New file.
30674 * util/ieee1275/devicemap.c: New file.
30675 * util/devicemap.c: New file.
30676 * util/deviceiter.c: New file.
30677 * kern/sparc64/ieee1275/init.c: New file.
30678 * include/grub/util/ofpath.h: New file.
30679 * include/grub/util/deviceiter.h: New file.
30680 * util/grub-mkdevicemap.c: Include deviceiter.h.
30681 Implement using grub_util_emit_devicemap_entry and
30682 grub_util_iterate_devices.
30683 * conf/i386-corebook.rmk: Build util/deviceiter.c and
30684 util/devicemap.c into grub-mkdevicemap
30685 * conf/i386-efi.rmk: Likewise.
30686 * conf/i386-ieee1275.rmk: Likewise.
30687 * conf/i386-pc.rmk: Likewise.
30688 * conf/powerpc-ieee1275.rmk: Likewise.
30689 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
30690 images and installation utilities. Build kernel as image
30691 instead of as elf binary. Use common rules as much as possible.
30692
30693 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
30694
30695 Correct GPT definition
30696
30697 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
30698 of "attrib" member
30699
30700 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
30701
30702 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
30703
30704 2009-04-19 David S. Miller <davem@davemloft.net>
30705
30706 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
30707 (grub_rescue_cmd_linux): Rename to...
30708 (grub_cmd_linux): and fix prototype.
30709 (grub_rescue_cmd_initrd): Rename to...
30710 (grub_cmd_initrd): and fix prototype.
30711 (cmd_linux, cmd_initrd): New.
30712 (GRUB_MOD_INIT(linux)): Use grub_register_command().
30713 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
30714
30715 2009-04-17 Pavel Roskin <proski@gnu.org>
30716
30717 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
30718 format.
30719 (grub_ohci_transfer): Likewise.
30720
30721 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
30722
30723 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
30724 return without a value. Fix inconsistent indentation.
30725
30726 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
30727 match struct grub_fs.
30728
30729 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
30730 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
30731 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
30732 * commands/lspci.c (grub_lspci_iter): Likewise.
30733
30734 2009-04-16 Bean <bean123ch@gmail.com>
30735
30736 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
30737 value.
30738
30739 2009-04-15 Pavel Roskin <proski@gnu.org>
30740
30741 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
30742 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
30743 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
30744 definitions.
30745
30746 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
30747
30748 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
30749 that no multiple data or metadata areas are supported and `Unknown
30750 metadata header'.
30751
30752 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
30753
30754 Move loader out of the kernel
30755
30756 * kern/loader.c: moved to ...
30757 * commands/boot.c: ... moved here
30758 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
30759 * commands/boot.c (grub_cmd_boot): moved here. All users updated
30760 * include/grub/kernel.h (grub_machine_fini): export
30761 * include/grub/loader.h (grub_loader_is_loaded): update declaration
30762 (grub_loader_set): likewise
30763 (grub_loader_unset): likewise
30764 (grub_loader_boot): likewise
30765 * conf/common.rmk: new module boot.mod
30766 (pkglib_MODULES): add boot.mod
30767 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
30768 (grub_emu_SOURCES): likewise
30769 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
30770 (grub_emu_SOURCES): likewise
30771 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
30772 (grub_emu_SOURCES): likewise
30773 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
30774 (grub_emu_SOURCES): likewise
30775 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
30776 (grub_emu_SOURCES): likewise
30777 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
30778 (grub_emu_SOURCES): likewise
30779 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
30780 (grub_emu_SOURCES): likewise
30781
30782 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
30783
30784 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
30785
30786 * kern/misc.c (grub_itoa): Removed function
30787 (grub_ltoa): likewise
30788 (grub_vsprintf): use grub_lltoa
30789
30790 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
30791
30792 Restore grub-emu
30793
30794 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
30795 * conf/i386-coreboot.rmk: likewise
30796 * conf/i386-ieee1275.rmk: likewise
30797 * conf/powerpc-ieee1275.rmk: likewise
30798
30799 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
30800
30801 * INSTALL: Add that `./autogen.sh' needs to be run before
30802 `./configure.'.
30803
30804 2009-04-14 Bean <bean123ch@gmail.com>
30805
30806 * Makefile.in (pkglib_DATA): Add handler.lst.
30807 (handler.lst): New rule.
30808
30809 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
30810 * conf/i386-coreboot.rmk: Likewise.
30811 * conf/i386-ieee1275.rmk: Likewise.
30812 * conf/i386-efi.rmk: Likewise.
30813 * conf/x86_64-efi.rmk: Likewise.
30814 * conf/powerpc-ieee1275.rmk: Likewise.
30815 * conf/sparc64-ieee1275.rmk: Likewise.
30816
30817 * genhandlerlist.sh: New file.
30818
30819 * genmk.rb: Add rules to generate handler.lst.
30820
30821 * include/grub/normal.h (grub_file_getline): New function definition.
30822 (read_handler_list): Likewise.
30823 (free_handler_list): Likewise.
30824
30825 * include/grub/term.h (grub_term_register_input): Add name parameter
30826 for auto generation of handler.lst.
30827 (grub_term_register_output): Likewise.
30828
30829 * normal/handler.c: New file.
30830
30831 * normal/main.c (get_line): Renamed to grub_file_getline.
30832 (read_config_file): Use the newly renamed grub_file_getline.
30833 (read_command_list): Likewise.
30834 (read_fs_list): Likewise.
30835 (grub_normal_execute): Call read_handler_list to parse handler.lst.
30836 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
30837
30838 * term/efi/console.c (grub_console_init): Add name parameter for auto
30839 generation of handler.lst.
30840 * term/gfxterm.c: Likewise.
30841 * term/i386/pc/at_keyboard.c: Likewise.
30842 * term/i386/pc/console.c: Likewise.
30843 * term/i386/pc/serial.c: Likewise.
30844 * term/i386/pc/vesafb.c: Likewise.
30845 * term/i386/pc/vga.c: Likewise.
30846 * term/i386/pc/vga_text.c: Likewise.
30847 * term/ieee1275/ofconsole.c: Likewise.
30848 * term/usb_keyboard.c: Likewise.
30849
30850 2009-04-14 Bean <bean123ch@gmail.com>
30851
30852 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
30853 properly with null character.
30854
30855 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
30856
30857 * configure: Remove.
30858 * config.h.in: Likewise.
30859 * stamp-h.in: Likewise.
30860 * DISTLIST: Likewise.
30861 * conf/common.mk: Likewise.
30862 * conf/i386-coreboot.mk: Likewise.
30863 * conf/i386-efi.mk: Likewise.
30864 * conf/i386-ieee1275.mk: Likewise.
30865 * conf/i386.mk: Likewise.
30866 * conf/i386-pc.mk: Likewise.
30867 * conf/powerpc-ieee1275.mk: Likewise.
30868 * conf/sparc64-ieee1275.mk: Likewise.
30869 * conf/x86_64-efi.mk: Likewise.
30870
30871 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
30872 develop on GRUB.
30873
30874 2009-04-14 John Stanley <jpsinthemix@verizon.net>
30875 David S. Miller <davem@davemloft.net>
30876
30877 * util/hostdisk.c (make_device_name): Fix buffer length
30878 calculations.
30879
30880 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
30881
30882 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
30883 <sys/param.h> and <sys/sysctl.h>.
30884 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
30885 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
30886 opening the device and reset them afterwards.
30887
30888 2009-04-13 Pavel Roskin <proski@gnu.org>
30889
30890 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
30891 Reported by John Stanley <jpsinthemix@verizon.net>
30892
30893 2009-04-13 Robert Millan <rmh@aybabtu.com>
30894
30895 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
30896 that name for menuentries when appropriate.
30897
30898 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
30899
30900 * util/grub.d/10_freebsd.in: Add a missing `fi'.
30901
30902 2009-04-13 Robert Millan <rmh@aybabtu.com>
30903
30904 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
30905 to Linux, simply abort telling the user it's no longer supported.
30906
30907 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
30908
30909 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
30910 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
30911 `freebsd_loadenv' only when devices.hints exist.
30912
30913 2009-04-13 Pavel Roskin <proski@gnu.org>
30914
30915 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
30916
30917 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
30918
30919 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
30920 partition number.
30921 (grub_drive): Likewise.
30922
30923 2009-04-13 David S. Miller <davem@davemloft.net>
30924
30925 * kern/sparc64/ieee1275/ieee1275.c: New file.
30926 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
30927 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
30928 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
30929 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
30930 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
30931 grub_ieee1275_alloc_physmem): Declare new exported functions.
30932
30933 * include/grub/sparc64/ieee1275/loader.h: New file.
30934 * include/grub/sparc64/ieee1275/memory.h: Likewise.
30935 * include/grub/sparc64/kernel.h: Likewise.
30936 * loader/sparc64/ieee1275/linux.c: Likewise.
30937
30938 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
30939 (grub_fstest_SOURCES): Likewise.
30940
30941 * util/hostdisk.c (make_device_name): Do not make any assumptions
30942 about the length of drive names.
30943
30944 * kern/dl.c (grub_dl_load_file): Close file immediately when
30945 we are done using it.
30946
30947 2009-04-12 David S. Miller <davem@davemloft.net>
30948
30949 * kern/misc.c (grub_ltoa): Fix cast when handling negative
30950 values. Noticed by Pavel Roskin.
30951
30952 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
30953 target compiler.
30954
30955 * genmk.rb: Add more flexible image type specification, also
30956 pass --strip-unneeded to objcopy.
30957 * conf/i386-pc.rmk: Use *_FORMAT.
30958 * conf/i386-pc.mk: Rebuilt.
30959
30960 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
30961 (OFDISK_HASH_SZ): Define.
30962 (ofdisk_hash): New hash table.
30963 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
30964 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
30965 instead of device phandle which is not unique.
30966
30967 * kern/sparc64/ieee1275/init.c: Delete, replace with...
30968 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
30969 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
30970 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
30971 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
30972 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
30973 GRUB_KERNEL_MACHINE_DATA_END): Define.
30974 (grub_kernel_image_size, grub_total_module_size): Declare.
30975
30976 2009-04-12 Pavel Roskin <proski@gnu.org>
30977
30978 * configure.ac: Change the logic when we check for target tools.
30979 Do it when the target is specified and it's different from the
30980 specified value of the host.
30981
30982 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
30983
30984 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
30985 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
30986 GNU/kFreeBSD. Check if a device is a character device. Use
30987 DIOCGMEDIASIZE to get the size.
30988 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
30989 support for GNU/kFreeBSD.
30990 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
30991 is a character device instead of a block device. Add support for
30992 FreeBSD device names.
30993
30994 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
30995 is a character device instead of a block device.
30996
30997 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
30998 is a character device instead of a block device.
30999
31000 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
31001
31002 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
31003 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
31004 FreeBSD. Check if a device is a character device. Use
31005 DIOCGMEDIASIZE to get the size.
31006 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
31007 support for FreeBSD.
31008 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
31009 is a character device instead of a block device. Add support for
31010 FreeBSD device names.
31011
31012 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
31013 a character device instead of a block device.
31014 (grub_util_check_char_device): New function.
31015
31016 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
31017 a character device instead of a block device.
31018
31019 * include/grub/util/getroot.h (grub_util_check_char_device): New
31020 prototype.
31021
31022 2009-04-11 David S. Miller <davem@davemloft.net>
31023
31024 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
31025 static libgcc.
31026 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
31027 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
31028 function, if present.
31029 (__bswapdi2): Likewise.
31030
31031 * include/grub/sparc64/ieee1275/boot.h: New file.
31032 * boot/sparc64/ieee1275/boot.S: Likewise.
31033 * boot/sparc64/ieee1275/diskboot.S: Likewise.
31034
31035 * kern/misc.c (grub_ltoa): New function.
31036 (grub_vsprintf): Use it to format 'long' integers.
31037
31038 2009-04-10 David S. Miller <davem@davemloft.net>
31039
31040 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
31041 slots are of type grub_ieee1275_cell_t.
31042 (grub_nand_read): Likewise.
31043 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
31044 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
31045 macros are used to compare values in arg/ret block of the call.
31046 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
31047 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
31048 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
31049 grub_ieee1275_instance_to_path, grub_ieee1275_write,
31050 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
31051 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
31052 grub_ieee1275_close, grub_ieee1275_set_property,
31053 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
31054 grub_ieee1275_cell_t.
31055 * kern/ieee1275/openfw.c (grub_map): Likewise.
31056 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
31057 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
31058
31059 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
31060 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
31061 (grub_devalias_iterate): Likewise.
31062
31063 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
31064
31065 UFS improvements
31066
31067 * fs/ufs.c (INODE_NBLOCKS): new definition
31068 (struct grub_ufs_dirent): added fields for non-BSD dirents
31069 (grub_ufs_get_file_block): fixed double indirect handling
31070 (grub_ufs_lookup_symlink): use more robust way to determine whether
31071 symlink is inline
31072 (grub_ufs_find_file): support for non-BSD dirents
31073 (grub_ufs_dir): support for non-BSD dirents
31074
31075 2009-04-10 Bean <bean123ch@gnail.com>
31076
31077 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
31078 attribute, otherwise the size would be wrong for i386 platform.
31079
31080 * include/grub/pci.h (grub_pci_read_word): New inline function.
31081 (grub_pci_read_byte): Likewise.
31082 (grub_pci_write): Likewise.
31083 (grub_pci_write_word): Likewise.
31084 (grub_pci_write_byte): Likewise.
31085
31086 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
31087
31088 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
31089 (find_framebuf): Scan pci to locate the frame buffer address.
31090
31091 * commands/efi/fixvideo.c: New file.
31092
31093 * commands/efi/loadbios.c: Likewise.
31094
31095 * commands/memrw.c: Likewise.
31096
31097 * util/grub-dumpbios.in: Likewise.
31098
31099 * conf/common.rmk (grub-dumpbios): New utility.
31100 (pkglib_MODULES): New module memrw.mod.
31101 (memrw_mod_SOURCE): New macro.
31102 (memrw_mod_CFLAGS): Likewise.
31103 (memrw_mod_LDFLAGS): Likewise.
31104
31105 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
31106 fixvideo.mod.
31107 (loadbios_mod_SOURCE): New macro.
31108 (loadbios_mod_CFLAGS): Likewise.
31109 (loadbios_mod_LDFLAGS): Likewise.
31110 (fixvideo_mod_SOURCE): Likewise.
31111 (fixvideo_mod_CFLAGS): Likewise.
31112 (fixvideo_mod_LDFLAGS): Likewise.
31113
31114 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
31115 fixvideo.mod.
31116 (loadbios_mod_SOURCE): New macro.
31117 (loadbios_mod_CFLAGS): Likewise.
31118 (loadbios_mod_LDFLAGS): Likewise.
31119 (fixvideo_mod_SOURCE): Likewise.
31120 (fixvideo_mod_CFLAGS): Likewise.
31121 (fixvideo_mod_LDFLAGS): Likewise.
31122
31123 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
31124
31125 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
31126
31127 2009-04-07 David S. Miller <davem@davemloft.net>
31128
31129 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
31130 support for R_SPARC_OLO10 relocations. Fix compile warning for
31131 R_SPARC_WDISP30 case.
31132 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
31133
31134 2009-04-06 Pavel Roskin <proski@gnu.org>
31135
31136 * include/grub/misc.h (ARRAY_SIZE): New macro.
31137 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
31138 New macro.
31139 * loader/i386/linux.c (allocate_pages): Use free_pages().
31140 (grub_linux_unload): Don't use free_pages().
31141 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
31142 wrong index. Treat all other modes as text modes.
31143 (grub_cmd_linux): Initialize vid_mode unconditionally to
31144 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
31145
31146 * commands/help.c (print_command_help): Use cmd->prio, not
31147 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
31148
31149 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
31150
31151 Parttool
31152
31153 * parttool/pcpart.c: new file
31154 * commands/parttool.c: likewise
31155 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
31156 (parttool_mod_SOURCES): new variable
31157 (parttool_mod_CFLAGS): likewise
31158 (parttool_mod_LDFLAGS): likewise
31159 (pcpart_mod_SOURCES): likewise
31160 (pcpart_mod_CFLAGS): likewise
31161 (pcpart_mod_LDFLAGS): likewise
31162 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
31163 and parttool/pcpart.c
31164 * conf/i386-efi.rmk: likewise
31165 * conf/i386-ieee1275.rmk: likewise
31166 * conf/i386-pc.rmk: likewise
31167 * conf/powerpc-ieee1275.rmk: likewise
31168 * conf/sparc64-ieee1275.rmk: likewise
31169 * conf/x86_64-ieee1275.rmk: likewise
31170
31171 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
31172
31173 Support for mtime and further expandability of dir command
31174
31175 * include/grub/lib/datetime.h: moved to ...
31176 * include/grub/datetime.h: ... moved here and added
31177 declaration of grub_unixtime2datetime. All users updated
31178 * include/grub/fs.h: new syntax for dir and mtime functions in
31179 struct grub_fs
31180 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
31181 and GRUB_FSHELP_FLAGS_MASK
31182 * commands/ls.c (grub_ls_list_files): Write mtime in long format
31183 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
31184 (grub_ext2_mtime): new function
31185 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
31186 (grub_hfsplus_mtime): new function
31187 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
31188 (GRUB_UFS_ATTR_FILE): likewise
31189 (GRUB_UFS_ATTR_LNK): likewise
31190 (struct grub_ufs_sblock): new fields mtime
31191 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
31192 all users updated
31193 (grub_ufs_dir): mtime support
31194 (grub_ufs_mtime): new function
31195 * fs/affs.c (grub_affs_dir): use new dir syntax
31196 * fs/afs.c (grub_afs_dir): likewise
31197 * fs/cpio.c (grub_cpio_dir): likewise
31198 * fs/fat.c (grub_fat_find_dir): likewise
31199 * fs/hfs.c (grub_hfs_dir): likewise
31200 * fs/iso9660.c (grub_iso9660_dir): likewise
31201 * fs/jfs.c (grub_jfs_dir): likewise
31202 * fs/minix.c (grub_minix_dir): likewise
31203 * fs/ntfs.c (grub_ntfs_dir): likewise
31204 * fs/reiserfs.c (grub_reiserfs_dir): likewise
31205 * fs/sfs.c (grub_sfs_dir): likewise
31206 * fs/xfs.c (grub_xfs_dir): likewise
31207 * util/hostfs.c (grub_hostfs_dir): likewise
31208 * lib/datetime.c: moved to ...
31209 * normal/datetime.c: ... moved here
31210 (grub_unixtime2datetime): new function
31211 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
31212 * normal/completion.c (iterate_dir): use new dir syntax
31213 * normal/misc.c (grub_normal_print_device_info): tell the
31214 last modification time of a volume
31215 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
31216 * conf/common.rmk: added lib/datetime.c to ls.mod
31217 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
31218 (normal_mod_SOURCES): likewise
31219 (datetime_mod_SOURCES): Removed lib/datetime.c
31220 * conf/i386-efi.rmk: likewise
31221 * conf/i386-ieee1275.rmk: likewise
31222 * conf/i386-pc.rmk: likewise
31223 * conf/powerpc-ieee1275.rmk: likewise
31224 * conf/sparc64-ieee1275.rmk: likewise
31225 * conf/x86_64-efi.rmk: likewise
31226
31227 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
31228
31229 Trim trailing spaces in FAT label and support mtools-like labels
31230
31231 * fs/fat.c (grub_fat_iterate_dir): New function based
31232 on grub_fat_find_dir
31233 (grub_fat_find_dir): use grub_fat_iterate_dir
31234 (grub_fat_label): likewise
31235
31236 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
31237
31238 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
31239 and command.h
31240 remove extraneous kernel_elf_HEADERS
31241
31242 2009-04-04 Bean <bean123ch@gnail.com>
31243
31244 * include/grub/util/misc.h: Add dummy function fsync for mingw.
31245
31246 * util/misc.c: Likewise.
31247
31248 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
31249
31250 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
31251 instead of grub_printf.
31252
31253 2009-04-03 Robert Millan <rmh@aybabtu.com>
31254
31255 * loader/i386/linux.c (grub_linux_setup_video): Fill
31256 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
31257 values from `mode info' structure instead of hardcoded
31258 values.
31259
31260 2009-04-01 Pavel Roskin <proski@gnu.org>
31261
31262 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
31263 unused now.
31264 * genmk.rb: Likewise.
31265 * configure.ac: Likewise.
31266
31267 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
31268
31269 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
31270 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
31271
31272 2009-04-01 David S. Miller <davem@davemloft.net>
31273
31274 * normal/sparc64/setjmp.S: Fix setjmp implementation.
31275 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
31276 (grub_setjmp): Mark with 'returns_twice' attribute.
31277 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
31278 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
31279 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
31280
31281 2009-04-01 Robert Millan <rmh@aybabtu.com>
31282
31283 Reapply fix from 2008-07-28 which was accidentally reverted; also
31284 perform the same fix to a similar check in same function.
31285
31286 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
31287 with the same number are found, just use issue a warning with
31288 grub_dprintf(), as this error has been reported to be non-fatal.
31289
31290 2009-03-31 Pavel Roskin <proski@gnu.org>
31291
31292 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
31293 for cross-compilation.
31294
31295 2009-03-30 Robert Millan <rmh@aybabtu.com>
31296
31297 Fix i386-ieee1275 build.
31298
31299 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
31300 Remove declaration.
31301
31302 2009-03-30 Pavel Roskin <proski@gnu.org>
31303
31304 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
31305 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
31306 zero-terminated, rely only on the strlen value. Fix comparison
31307 of strings differing in length.
31308
31309 2009-03-30 Robert Millan <rmh@aybabtu.com>
31310
31311 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
31312 checking for abi version. Improve error messages on BIOS to notify
31313 user about `linux16' command.
31314
31315 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
31316
31317 Leak fixes
31318
31319 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
31320 in case of collision
31321 * disk/scsi.c (grub_scsi_open): free scsi in case of error
31322
31323 2009-03-29 Robert Millan <rmh@aybabtu.com>
31324
31325 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
31326 set `vid_mode' accordingly.
31327 (grub_linux_boot): Process `vid_mode' and set video mode.
31328
31329 2009-03-29 Robert Millan <rmh@aybabtu.com>
31330
31331 * util/grub.d/10_linux.in (linux_entry): New function.
31332 Factorize generation of Linux boot entries.
31333
31334 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
31335
31336 Make the format of Environment Block plain text. The boot loader
31337 part is not tested well yet.
31338
31339 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
31340 (buffer): Removed.
31341 (envblk): Likewise.
31342 (usage): Remove "info" and "clear". Add "unset". Update the
31343 description of "set", as this does not delete variables any
31344 longer.
31345 (create_envblk_file): Complete rewrite.
31346 (open_envblk_file): Likewise.
31347 (cmd_info): Removed.
31348 (cmd_list): Likewise.
31349 (cmd_set): Likewise.
31350 (cmd_clear): Likewise.
31351 (list_variables): New function.
31352 (write_envblk): Likewise.
31353 (set_variables): Likewise.
31354 (unset_variables): Likewise.
31355 (main): Complete rewrite.
31356
31357 * commands/loadenv.c (buffer): Removed.
31358 (envblk): Likewise.
31359 (open_envblk_file): New function.
31360 (read_envblk_file): Complete rewrite.
31361 (grub_cmd_load_env): Likewise.
31362 (grub_cmd_list_env): Likewise.
31363 (struct blocklist): New struct.
31364 (free_blocklists): New function.
31365 (check_blocklists): Likewise.
31366 (write_blocklists): Likewise.
31367 (grub_cmd_save_env): Complete rewrite.
31368
31369 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
31370 a plain text signature.
31371 (GRUB_ENVBLK_MAXLEN): Removed.
31372 (struct grub_envblk): Complete rewrite.
31373 (grub_envblk_find): Removed.
31374 (grub_envblk_insert): Likewise.
31375 (grub_envblk_open): New prototype.
31376 (grub_envblk_set): Likewise.
31377 (grub_envblk_delete): Put const to VALUE.
31378 (grub_envblk_iterate): Put const to NAME and VALUE.
31379 (grub_envblk_close): New prototype.
31380 (grub_envblk_buffer): New inline function.
31381 (grub_envblk_size): Likewise.
31382
31383 * lib/envblk.c: Include grub/mm.h.
31384 (grub_env_find): Removed.
31385 (grub_envblk_open): New function.
31386 (grub_envblk_close): Likewise.
31387 (escaped_value_len): Likewise.
31388 (find_next_line): Likewise.
31389 (grub_envblk_insert): Removed.
31390 (grub_envblk_set): New function.
31391 (grub_envblk_delete): Complete rewrite.
31392 (grub_envblk_iterate): Likewise.
31393
31394 2009-03-28 Robert Millan <rmh@aybabtu.com>
31395
31396 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
31397 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
31398 variables. Use 16-bit loader.
31399 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
31400 loader.
31401 * kern/i386/loader.S (grub_linux_boot): Rename to ...
31402 (grub_linux16_boot): ... this. Update all users.
31403 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
31404 (grub_linux_boot): ... this. Update all users.
31405
31406 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
31407 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
31408 commands to `linux16' and `initrd16'.
31409 (GRUB_MOD_FINI(linux)): Rename to ...
31410 (GRUB_MOD_FINI(linux16)): ... this.
31411
31412 2009-03-24 Pavel Roskin <proski@gnu.org>
31413
31414 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
31415 not just for compilation.
31416
31417 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
31418
31419 Move multiboot helper out of kernel
31420
31421 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
31422 `loader/i386/multiboot_helper.S'.
31423 * conf/i386-coreboot.rmk: Likewise
31424 * conf/i386-ieee1275.rmk: Likewise
31425
31426 * kern/i386/loader.S: Move multiboot helpers from here...
31427 * loader/i386/multiboot_helper.S: ...moved here
31428 * include/grub/i386/loader.h: Move declarations of multiboot
31429 helpers from here...
31430 * include/grub/i386/multiboot.h: ...moved here
31431 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
31432
31433 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
31434
31435 * kern/env.c (grub_env_context_open): Added an argument to specify
31436 whether a new context inherits exported variables from current
31437 one. This is useful when making a sandbox to interpret a config
31438 file.
31439 All callers updated.
31440
31441 * include/grub/env.h (grub_env_context_open): Updated the prototype.
31442
31443 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
31444
31445 * kern/env.c (grub_env_context_close): Fix memory leaks.
31446
31447 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
31448
31449 * normal/main.c (grub_normal_execute): Added an argument
31450 BATCH to specify if an interactive interface should be provided
31451 after reading a config file.
31452 All callers updated.
31453 (read_command_list): Prevent being executed twice.
31454 (read_fs_list): Likewise.
31455
31456 * include/grub/normal.h (grub_normal_execute): Updated the
31457 prototype.
31458
31459 2009-03-22 Pavel Roskin <proski@gno.org>
31460
31461 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
31462 _start.
31463 * kern/i386/pc/startup.S: Likewise.
31464 * kern/i386/efi/startup.S: Likewise.
31465 * kern/i386/ieee1275/startup.S: Likewise.
31466 * kern/i386/coreboot/startup.S: Likewise.
31467 * kern/x86_64/efi/startup.S: Likewise.
31468
31469 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
31470 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
31471 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
31472
31473 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
31474
31475 Bugfixes in multiboot for bugs uncovered by solaris kernel.
31476
31477 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
31478 limit detection.
31479 Use vaddr of correct segment for entry_point.
31480
31481 2009-03-21 Bean <bean123ch@gmail.com>
31482
31483 * commands/blocklist.c: Add include file <grub/command.h>, remove
31484 <grub/normal.h> and <grub/arg.h>.
31485 (grub_cmd_blocklist): Use the new command interface.
31486 (GRUB_MOD_INIT): Likewise.
31487 (GRUB_MOD_FINI): Likewise.
31488 * commands/boot.c: Likewise.
31489 * commands/cat.c: Likewise.
31490 * commands/cmp.c: Likewise.
31491 * commands/configfile.c: Likewise.
31492 * commands/crc.c: Likewise.
31493 * commands/echo.c: Likewise.
31494 * commands/halt.c: Likewise.
31495 * commands/handler.c: Likewise.
31496 * commands/hdparm.c: Likewise.
31497 * commands/help.c: Likewise.
31498 * commands/hexdump.c: Likewise.
31499 * commands/loadenv.c: Likewise.
31500 * commands/ls.c: Likewise.
31501 * commands/lsmmap.c: Likewise.
31502 * commands/lspci.c: Likewise.
31503 * commands/loadenv.c: Likewise.
31504 * commands/read.c: Likewise.
31505 * commands/reboot.c: Likewise.
31506 * commands/search.c: Likewise.
31507 * commands/sleep.c: Likewise.
31508 * commands/test.c: Likewise.
31509 * commands/usbtest.c: Likewise.
31510 * commands/videotest.c: Likewise.
31511 * commands/i386/cpuid.c: Likewise.
31512 * commands/i386/pc/halt.c: Likewise.
31513 * commands/i386/pc/play.c: Likewise.
31514 * commands/i386/pc/pxecmd.c: Likewise.
31515 * commands/i386/pc/vbeinfo.c: Likewise.
31516 * commands/i386/pc/vbetest.c: Likewise.
31517 * commands/ieee1275/suspend.c: Likewise.
31518 * disk/loopback.c: Likewise.
31519 * font/font_cmd.c: Likewise.
31520 * hello/hello.c: Likewise.
31521 * loader/efi/appleloader.c: Likewise.
31522 * loader/efi/chainloader.c: Likewise.
31523 * loader/i386/bsd.c: Likewise.
31524 * loader/i386/efi/linux.c: Likewise.
31525 * loader/i386/ieee1275/linux.c: Likewise.
31526 * loader/i386/linux.c: Likewise.
31527 * loader/i386/pc/chainloader.c: Likewise.
31528 * loader/i386/pc/linux.c: Likewise.
31529 * loader/powerpc/ieee1275/linux.c: Likewise.
31530 * loader/multiboot_loader.c: Likewise.
31531 * term/gfxterm.c: Likewise.
31532 * term/i386/pc/serial.c: Likewise.
31533 * term/terminfo.c: Likewise.
31534
31535 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
31536 * term/i386/pc/vga.c: Likewise.
31537 * video/readers/jpeg.c: Likewise.
31538 * video/readers/png.c: Likewise.
31539 * video/readers/tga.c: Likewise.
31540
31541 * util/grub-fstest (cmd_loopback): Removed.
31542 (cmd_blocklist): Likewise.
31543 (cmd_ls): Likewise.
31544 (grub_register_command): Likewise.
31545 (grub_unregister_command): Likewise.
31546 (execute_command): Use grub_command_find to locate command and execute
31547 it.
31548
31549 * include/grub/efi/chainloader.h: Removed.
31550 * loader/efi/chainloader_normal.c: Likewise.
31551 * loader/i386/bsd_normal.c: Likewise.
31552 * loader/i386/pc/chainloader_normal.c: Likewise.
31553 * loader/i386/pc/multiboot_normal.c: Likewise.
31554 * loader/linux_normal.c: Likewise.
31555 * loader/multiboot_loader_normal.c: Likewise.
31556 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
31557
31558 * gencmdlist.sh: Scan new registration command grub_register_extcmd
31559 and grub_register_command_p1.
31560
31561 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
31562 kern/command.c, lib/arg.c and commands/extcmd.c.
31563 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
31564 (minicmd_mod_SOURCES): New variable.
31565 (minicmd_mod_CFLAGS): Likewise.
31566 (minicmd_mod_LDFLAGS): Likewise.
31567 (extcmd_mod_SOURCES): Likewise.
31568 (extcmd_mod_CFLAGS): Likewise.
31569 (extcmd_mod_LDFLAGS): Likewise.
31570 (boot_mod_SOURCES): Removed.
31571 (boot_mod_CFLAGS): Likewise.
31572 (boot_mod_LDFLAGS): Likewise.
31573
31574 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
31575 kern/corecmd.c.
31576 (kernel_img_HEADERS): Add command.h.
31577 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
31578 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
31579 and lib/arg.c.
31580 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
31581 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
31582 remove the corresponding normal mode command.
31583 (normal_mod_SOURCES): Remove normal/arg.c.
31584 * conf/i386-coreboot.rmk: Likewise.
31585 * conf/i386-efi.rmk: Likewise.
31586 * conf/i386-ieee1275.rmk: Likewise.
31587 * conf/powerpc-ieee1275.rmk: Likewise.
31588 * conf/x86_64-efi.rmk: Likewise.
31589
31590 * include/grub/arg.h: Move from here ...
31591 * include/grub/lib/arg.h: ... to here.
31592
31593 * normal/arg.c: Move from here ...
31594 * lib/arg.c: ... to here.
31595
31596 * commands/extcmd.c: New file.
31597 * commands/minicmd.c: Likewise.
31598 * include/grub/command.h: Likewise.
31599 * include/grub/extcmd.h: Likewise.
31600 * kern/command.c: Likewise.
31601 * kern/corecmd.c: Likewise.
31602
31603 * kern/list.c (grub_list_iterate): Return int instead of void.
31604 (grub_list_insert): New function.
31605 (grub_prio_list_insert): Likewise.
31606
31607 * kern/rescue.c (grub_rescue_command): Removed.
31608 (grub_rescue_command_list): Likewise.
31609 (grub_rescue_register_command): Likewise.
31610 (grub_rescue_unregister_command): Likewise.
31611 (grub_rescue_cmd_boot): Move to minicmd.c
31612 (grub_rescue_cmd_help): Likewise.
31613 (grub_rescue_cmd_info): Likewise.
31614 (grub_rescue_cmd_boot): Likewise.
31615 (grub_rescue_cmd_testload): Likewise.
31616 (grub_rescue_cmd_dump): Likewise.
31617 (grub_rescue_cmd_rmmod): Likewise.
31618 (grub_rescue_cmd_lsmod): Likewise.
31619 (grub_rescue_cmd_exit): Likewise.
31620 (grub_rescue_print_devices): Moved to corecmd.c.
31621 (grub_rescue_print_files): Likewise.
31622 (grub_rescue_cmd_ls): Likewise.
31623 (grub_rescue_cmd_insmod): Likewise.
31624 (grub_rescue_cmd_set): Likewise.
31625 (grub_rescue_cmd_unset): Likewise.
31626 (attempt_normal_mode): Use grub_command_find to get normal module.
31627 (grub_enter_rescue_mode): Use grub_register_core_commands to register
31628 commands, remove grub_rescue_register_command calls.
31629
31630 * normal/command.c (grub_register_command): Removed.
31631 (grub_unregister_command): Likewise.
31632 (grub_command_find): Likewise.
31633 (grub_iterate_commands): Likewise.
31634 (rescue_command): Likewise.
31635 (export_command): Moved to corecmd.c.
31636 (set_command): Removed.
31637 (unset_command): Likewise.
31638 (insmod_command): Likewise.
31639 (rmmod_command): Likewise.
31640 (lsmod_command): Likewise.
31641 (grub_command_init): Likewise.
31642
31643 * normal/completion.c (iterate_command): Use cmd->prio to check for
31644 active command.
31645 (complete_arguments): Use grub_extcmd_t structure to find options.
31646 (grub_normal_do_completion): Change function grub_iterate_commands to
31647 grub_command_iterate.
31648
31649 * normal/execute.c (grub_script_execute_cmd): No need to parse
31650 argument here.
31651
31652 * normal/main.c (grub_dyncmd_dispatcher): New function.
31653 (read_command_list): Register unload commands as dyncmd.
31654 (grub_cmd_normal): Use new command interface, register rescue,
31655 unregister normal at entry, register normal, unregister rescue at exit.
31656
31657 * include/grub/list.h (grub_list_test_t): New type.
31658 (grub_list_iterate): Return int instead of void.
31659 (grub_list_insert): New function.
31660 (GRUB_AS_NAMED_LIST_P): New macro.
31661 (GRUB_AS_PRIO_LIST): Likewise.
31662 (GRUB_AS_PRIO_LIST_P): Likewise.
31663 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
31664 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
31665 (grub_prio_list): New structure.
31666 (grub_prio_list_insert): New function.
31667 (grub_prio_list_remove): New inline function.
31668
31669 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
31670 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
31671 (GRUB_COMMAND_FLAG_MENU): Likewise.
31672 (GRUB_COMMAND_FLAG_BOTH): Likewise.
31673 (GRUB_COMMAND_FLAG_TITLE): Likewise.
31674 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
31675 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
31676 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
31677 (grub_command): Likewise.
31678 (grub_register_command): Likewise.
31679 (grub_command_find): Likewise.
31680 (grub_iterate_commands): Likewise.
31681 (grub_command_init): Likewise.
31682 (grub_arg_parse): Likewise.
31683 (grub_arg_show_help): Likewise.
31684
31685 * include/grub/rescue.h (grub_rescue_register_command): Removed.
31686 (grub_rescue_unregister_command): Likewise.
31687
31688 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
31689 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
31690 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
31691
31692 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
31693 grub_rescue_cmd_initrd.
31694 * include/grub/i386/loader.h: Likewise.
31695 * include/grub/x86_64/loader.h: Likewise.
31696
31697 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
31698
31699 2009-03-21 Bean <bean123ch@gmail.com>
31700
31701 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
31702 instead of stat in mingw environment.
31703
31704 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
31705
31706 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
31707
31708 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
31709 AC_CONFIG_LINKS.
31710
31711 2009-03-21 Bean <bean123ch@gmail.com>
31712
31713 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
31714 out of range error.
31715
31716 2009-03-18 Michel Dänzer <michel@daenzer.net>
31717
31718 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
31719 checking inode flags for EXT4_EXTENTS_FLAG.
31720
31721 2009-03-18 Robert Millan <rmh@aybabtu.com>
31722
31723 * loader/i386/linux.c: Include `<grub/video.h>' and
31724 `<grub/i386/pc/vbe.h>'..
31725 (grub_linux_setup_video): New function. Loosely based on the EFI one.
31726 (grub_linux32_boot): Attempt to configure video settings with
31727 grub_linux_setup_video().
31728 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
31729 to avoid grub_console_fini() which would step out of graphical mode
31730 unconditionally.
31731
31732 2009-03-14 Robert Millan <rmh@aybabtu.com>
31733
31734 Fix build on powerpc.
31735 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
31736
31737 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
31738
31739 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
31740 background image command.
31741
31742 2009-03-12 Colin D Bennett <colin@gibibit.com>
31743
31744 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
31745 (grub_gfxterm_putchar): Extract pairs of identical calls to
31746 draw_cursor out of conditional blocks.
31747
31748 2009-03-11 Pavel Roskin <proski@gnu.org>
31749
31750 * fs/hfs.c (grub_hfs_strncasecmp): New function.
31751 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
31752
31753 2009-03-11 Robert Millan <rmh@aybabtu.com>
31754
31755 * loader/i386/multiboot_elfxx.c
31756 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
31757
31758 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
31759
31760 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
31761 `kern/handler.c'.
31762
31763 2009-03-11 Robert Millan <rmh@aybabtu.com>
31764
31765 * loader/i386/multiboot.c (code_size): New variable.
31766 (grub_multiboot): Define offsets by adding to `code_size' rather
31767 than subtracting from `grub_multiboot_payload_size'. Provide
31768 4-byte alignment to MBI and others by increasing
31769 `boot_loader_name_length' appropriately.
31770
31771 * loader/i386/multiboot_elfxx.c
31772 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
31773
31774 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
31775
31776 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
31777 `fs/ext2.c'.
31778
31779 2009-03-08 Robert Millan <rmh@aybabtu.com>
31780
31781 Make loader/i386/linux.c usable on i386-pc again.
31782
31783 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
31784 memory to heap.
31785 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
31786 `#error' stanza.
31787
31788 2009-03-07 Bean <bean123ch@gmail.com>
31789
31790 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
31791 allocation.
31792
31793 2009-03-06 Robert Millan <rmh@aybabtu.com>
31794
31795 Fix display issue on terminals with screen size other than 80x25
31796 (e.g. gfxterm with resolution higher than 640x480).
31797
31798 * normal/main.c (grub_normal_init_page): Display title text in a
31799 position relative to the center of the terminal instead of relying
31800 on a hardcoded offset.
31801
31802 2009-03-04 Robert Millan <rmh@aybabtu.com>
31803
31804 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
31805 installed.
31806
31807 * Makefile.in (host_kernel): New variable.
31808 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
31809 scripts instead of just the windows one.
31810 * configure.ac: Initialize and AC_SUBST `host_kernel'.
31811
31812 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
31813
31814 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
31815 `kern/handler.c'.
31816 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31817 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31818 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
31819 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31820 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31821 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31822
31823 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
31824
31825 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
31826 or if there's no space for the disk label and print the partition number on a
31827 invalid magic.
31828
31829 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
31830
31831 * util/misc.c: Include <time.h>.
31832 (grub_millisleep): New function.
31833
31834 2009-03-04 Bean <bean123ch@gmail.com>
31835
31836 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
31837 another option -mno-red-zone.
31838
31839 * commands/handler.c: Change module description.
31840
31841 * kern/handler.c: Add missing space at the end of description line.
31842
31843 * kern/list.c: Likewise.
31844
31845 2009-03-03 Robert Millan <rmh@aybabtu.com>
31846
31847 Move more components to the relocation area, and fix mbi pointer
31848 handling to use the destination rather than the origin (thanks to
31849 Vladimir Serbinenko for spotting).
31850
31851 * loader/i386/multiboot.c (mbi_dest): New variable.
31852 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
31853 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
31854 relocation area.
31855
31856 2009-03-01 Bean <bean123ch@gmail.com>
31857
31858 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
31859 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
31860 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
31861 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
31862
31863 * loader/i386/efi/linux.c (acpi_guid): New variable.
31864 (acpi_guid): Likewise.
31865 (EBDA_SEG_ADDR): New constant.
31866 (LOW_MEM_ADDR): Likewise.
31867 (FAKE_EBDA_SEG): Likewise.
31868 (fake_bios_data): New function.
31869 (grub_linux_boot): Call fake_bios_data.
31870
31871 2009-03-01 Bean <bean123ch@gmail.com>
31872
31873 * commands/terminal.c: Removed.
31874
31875 * commands/handler.c: New file.
31876
31877 * include/grub/list.h: Likewise.
31878
31879 * include/grub/handler.h: Likewise.
31880
31881 * kern/list.c: Likewise.
31882
31883 * kern/handler.c: Likewise.
31884
31885 * kern/term.h: Include header file <grub/handler.h>.
31886 (grub_term_input): Move next field to the beginning.
31887 (grub_term_output): Likewise.
31888 (grub_term_input_class): New variable.
31889 (grub_term_output_class): Likewise.
31890 (grub_term_register_input): Changed to inline function.
31891 (grub_term_register_output): Likewise.
31892 (grub_term_unregister_input): Likewise.
31893 (grub_term_unregister_output): Likewise.
31894 (grub_term_set_current_input): Likewise.
31895 (grub_term_set_current_output): Likewise.
31896 (grub_term_get_current_input): Likewise.
31897 (grub_term_get_current_output): Likewise.
31898 (grub_term_iterate_input): Removed.
31899 (grub_term_iterate_output): Likewise.
31900
31901 * kern/term.c (grub_term_list_input): Removed.
31902 (grub_term_list_output): Likewise.
31903 (grub_term_input_class): New variable.
31904 (grub_term_output_class): Likewise.
31905 (grub_cur_term_input): Change variable as macro.
31906 (grub_cur_term_output): Likewise.
31907 (grub_term_register_input): Removed.
31908 (grub_term_register_output): Likewise.
31909 (grub_term_unregister_input): Likewise.
31910 (grub_term_unregister_output): Likewise.
31911 (grub_term_set_current_input): Likewise.
31912 (grub_term_set_current_output): Likewise.
31913 (grub_term_iterate_input): Likewise.
31914 (grub_term_iterate_output): Likewise.
31915 (grub_term_get_current_input): Likewise.
31916 (grub_term_get_current_output): Likewise.
31917
31918 * util/grub-editenv.c: Include header file <grub/handler.h>.
31919 (grub_term_get_current_input): Removed.
31920 (grub_term_get_current_output): Likewise.
31921 (grub_term_input_class): New variable.
31922 (grub_term_output_class): Likewise.
31923
31924 * util/grub-fstest.c (grub_term_get_current_input): Removed.
31925 (grub_term_get_current_output): Likewise.
31926 (grub_term_input_class): New variable.
31927 (grub_term_output_class): Likewise.
31928
31929 * util/grub-probe.c (grub_term_get_current_input): Removed.
31930 (grub_term_get_current_output): Likewise.
31931 (grub_term_input_class): New variable.
31932 (grub_term_output_class): Likewise.
31933
31934 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
31935 (grub_term_get_current_output): Likewise.
31936 (grub_term_input_class): New variable.
31937 (grub_term_output_class): Likewise.
31938
31939 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
31940 (terminal_mod_SOURCES): Likewise.
31941 (terminal_mod_CFLAGS): Likewise.
31942 (terminal_mod_LDFLAGS): Likewise.
31943
31944 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
31945 handler.c.
31946 (kernel_img_SOURCES): Add list.c and handler.c.
31947 (kernel_img_HEADERS): Add list.h and handler.h.
31948
31949 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
31950 handler.c.
31951 (kernel_mod_SOURCES): Add list.c and handler.c.
31952 (kernel_mod_HEADERS): Add list.h and handler.h.
31953
31954 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
31955 handler.c.
31956 (kernel_elf_SOURCES): Add list.c and handler.c.
31957 (kernel_elf_HEADERS): Add list.h and handler.h.
31958
31959 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
31960 handler.c.
31961 (kernel_elf_SOURCES): Add list.c and handler.c.
31962 (kernel_elf_HEADERS): Add list.h and handler.h.
31963
31964 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
31965 handler.c.
31966 (kernel_mod_SOURCES): Add list.c and handler.c.
31967 (kernel_mod_HEADERS): Add list.h and handler.h.
31968
31969 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
31970 handler.c.
31971 (kernel_elf_SOURCES): Add list.c and handler.c.
31972 (kernel_elf_HEADERS): Add list.h and handler.h.
31973
31974 2009-02-27 Robert Millan <rmh@aybabtu.com>
31975
31976 Factorize elf32 / elf64 code in Multiboot loader. This will
31977 prevent it from getting out of sync again.
31978
31979 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
31980 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
31981 grub_multiboot_load_elf64): Move from here ...
31982 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
31983 grub_multiboot_load_elf): ... to here (new file).
31984
31985 2009-02-27 Robert Millan <rmh@aybabtu.com>
31986
31987 * util/grub.d/10_linux.in: Rename "single-user mode" to
31988 "recovery mode".
31989
31990 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
31991
31992 Don't leak in SCSI code.
31993 * disk/scsi.c (grub_scsi_close): free `scsi'.
31994
31995 2009-02-27 Robert Millan <rmh@aybabtu.com>
31996
31997 * loader/i386/pc/multiboot.c: Move from here ...
31998 * loader/i386/multiboot.c: ... to here. Update all users.
31999
32000 2009-02-27 Robert Millan <rmh@aybabtu.com>
32001
32002 Patch from Alexandre Bique <bique.alexandre@gmail.com>
32003 * util/i386/pc/grub-setup.c (setup): Fix directory path.
32004
32005 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
32006
32007 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
32008 b-tree.
32009
32010 2009-02-27 Robert Millan <rmh@aybabtu.com>
32011
32012 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
32013 `0x' qualifier as 0 when base is specified as parameter).
32014
32015 2009-02-24 Bean <bean123ch@gmail.com>
32016
32017 * configure.ac: Check for -mcmodel=large in x86_64 target.
32018
32019 * include/grub/efi/api.h (efi_call_10): New macro.
32020 (efi_wrap_10): New function.
32021
32022 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
32023 (GRUB_PE32_REL_BASED_HIGH): Likewise.
32024 (GRUB_PE32_REL_BASED_LOW): Likewise.
32025 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
32026 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
32027 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
32028 (GRUB_PE32_REL_BASED_SECTION): Likewise.
32029 (GRUB_PE32_REL_BASED_REL): Likewise.
32030 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
32031 (GRUB_PE32_REL_BASED_DIR64): Likewise.
32032 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
32033
32034 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
32035 issue.
32036
32037 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
32038 (efi_wrap_10): New function.
32039
32040 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
32041
32042 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
32043 MB/MBP model (NV chipset).
32044 (devdata_devs): Add devpath_5 to the list.
32045
32046 * load/i386/efi/linux.c (video_base): Remove variable.
32047 (RGB_MASK): New macro.
32048 (RGB_MAGIC): Likewise.
32049 (LINE_MIN): Likewise.
32050 (LINE_MAX): Likewise.
32051 (FBTEST_STEP): Likewise.
32052 (FBTEST_COUNT): Likewise.
32053 (fb_list): New variable.
32054 (grub_find_video_card): Remove function.
32055 (find_framebuf): New function.
32056 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
32057 line length.
32058
32059 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
32060 problem for x86_64.
32061
32062 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
32063
32064 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
32065
32066 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
32067 coding tool name.
32068
32069 2009-02-22 Robert Millan <rmh@aybabtu.com>
32070
32071 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
32072 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
32073 in our relocation, instead of using it directly from heap. Also
32074 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
32075
32076 2009-02-21 Robert Millan <rmh@aybabtu.com>
32077
32078 Implement USB keyboard support (based on patch by Marco Gerards)
32079
32080 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
32081 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
32082 (usb_keyboard_mod_LDFLAGS): New variables.
32083
32084 * term/usb_keyboard.c: New file.
32085
32086 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
32087
32088 Corrected wrong declaration
32089
32090 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
32091
32092 2009-02-14 Christian Franke <franke@computer.org>
32093
32094 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
32095 (grub_lspci_iter): Print class code and programming interface byte.
32096
32097 2009-02-14 Christian Franke <franke@computer.org>
32098
32099 * gendistlist.sh: Ignore `.svn' directories.
32100
32101 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
32102
32103 * fs/fat.c: Add 2009 to Copyright line.
32104
32105 2009-02-14 Christian Franke <franke@computer.org>
32106
32107 * commands/hdparm.c: New file. Provides `hdparm' command
32108 which sends ATA commands via grub_disk_ata_pass_through ().
32109
32110 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
32111
32112 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
32113 and <grub/cpu/io.h> to include/grub/ata.h.
32114 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
32115 (GRUB_CDROM_SECTOR_SIZE): Remove.
32116 (GRUB_ATA_*): Move to include/grub/ata.h.
32117 (GRUB_ATAPI_*): Likewise.
32118 (enum grub_ata_commands): Likewise.
32119 (enum grub_ata_timeout_milliseconds): Likewise.
32120 (struct grub_ata_device): Likewise.
32121 (grub_ata_regset): Likewise.
32122 (grub_ata_regget): Likewise.
32123 (grub_ata_regset2): Likewise.
32124 (grub_ata_regget2): Likewise.
32125 (grub_ata_check_ready): Likewise.
32126 (grub_ata_wait_not_busy): Remove static, exported in
32127 include/grub/ata.h.
32128 (grub_ata_wait_drq): Likewise.
32129 (grub_ata_pio_read): Likewise.
32130
32131 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
32132 function for hdparm.mod.
32133
32134 * include/grub/ata.h: New file, contains declarations from
32135 disk/ata.c.
32136 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
32137
32138 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
32139 (grub_disk_ata_pass_through): New exported variable.
32140
32141 * kern/disk.c (grub_disk_ata_pass_through): New variable.
32142
32143 2009-02-13 Colin D Bennett <colin@gibibit.com>
32144
32145 Support multiple fallback entries, and provide an API to support
32146 executing default+fallback menu entries. Renamed the `terminal' menu
32147 viewer to `text'.
32148
32149 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
32150 variable declaration.
32151 (grub_menu_execute_callback): New structure declaration.
32152 (grub_menu_execute_callback_t): New typedef.
32153 (grub_menu_execute_with_fallback): New function declaration.
32154 (grub_menu_get_entry): Likewise.
32155 (grub_menu_get_timeout): Likewise.
32156 (grub_menu_set_timeout): Likewise.
32157
32158 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
32159
32160 * normal/menu.c (grub_wait_after_message): Moved to
32161 `normal/menu_text.c'.
32162 (draw_border): Likewise.
32163 (print_message): Likewise.
32164 (print_entry): Likewise.
32165 (print_entries): Likewise.
32166 (grub_menu_init_page): Likewise.
32167 (get_entry_number): Likewise.
32168 (print_timeout): Likewise.
32169 (run_menu): Likewise.
32170 (grub_menu_execute_entry): Likewise.
32171 (show_text_menu): Likewise.
32172 (get_and_remove_first_entry_number): New function.
32173 (grub_menu_execute_with_fallback): Likewise.
32174 (get_entry): Renamed to ...
32175 (grub_menu_get_entry): .. this and made it global.
32176 (get_timeout): Renamed to ...
32177 (grub_menu_get_timeout): ... this and made it global.
32178 (set_timeout): Renamed to ...
32179 (grub_menu_set_timeout): ... this and made it global.
32180 (grub_normal_terminal_menu_viewer): Renamed to ...
32181 (grub_normal_text_menu_viewer): ... this.
32182
32183 * normal/menu_text.c: New file. Extracted text-menu-specific code
32184 from normal/menu.c.
32185
32186 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
32187 (normal_mod_SOURCES): Likewise.
32188
32189 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32190 (normal_mod_SOURCES): Likewise.
32191
32192 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32193 (normal_mod_SOURCES): Likewise.
32194
32195 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
32196 (normal_mod_SOURCES): Likewise.
32197
32198 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32199 (normal_mod_SOURCES): Likewise.
32200
32201 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32202 (normal_mod_SOURCES): Likewise.
32203
32204 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32205 (normal_mod_SOURCES): Likewise.
32206
32207 2009-02-11 Robert Millan <rmh@aybabtu.com>
32208
32209 * util/grub.d/00_header.in: Update old reference to `font' command.
32210
32211 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
32212
32213 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
32214
32215 Based on patch from Javier Martín.
32216
32217 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
32218
32219 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
32220 to avoid false positives with FAT.
32221 (grub_fstest_SOURCES): Likewise.
32222 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32223 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32224 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32225 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32226 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32227 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32228
32229 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
32230
32231 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
32232 bpb.version_specific.fat12_or_fat16.fstype and
32233 bpb.version_specific.fat32.fstype.
32234
32235 2009-02-08 Robert Millan <rmh@aybabtu.com>
32236
32237 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
32238
32239 2009-02-08 Robert Millan <rmh@aybabtu.com>
32240
32241 * Makefile.in (host_os, host_cpu): New variables.
32242 (target_os): Remove. Update all users.
32243
32244 2009-02-08 Marco Gerards <marco@gnu.org>
32245
32246 * Makefile.in (enable_grub_emu_usb): New variable.
32247 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
32248 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
32249 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
32250 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
32251 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
32252 `usbtest.mod' and `usbms.mod'.
32253 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
32254 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
32255 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
32256 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
32257 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
32258 variables.
32259
32260 * disk/usbms.c: New file.
32261
32262 * include/grub/usb.h: Likewise.
32263
32264 * include/grub/usbtrans.h: Likewise.
32265
32266 * include/grub/usbdesc.h: Likewise.
32267
32268 * bus/usb/usbtrans.c: Likewise.
32269
32270 * bus/usb/ohci.c: Likewise.
32271
32272 * bus/usb/uhci.c: Likewise.
32273
32274 * bus/usb/usbhub.c: Likewise.
32275
32276 * bus/usb/usb.c: Likewise.
32277
32278 * commands/usbtest.c: Likewise.
32279
32280 * util/usb.c: Likewise.
32281
32282 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
32283
32284 * configure.ac: Test for libusb presence.
32285
32286 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
32287
32288 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
32289
32290 * kern/mm.c: Add more comments.
32291
32292 2009-02-08 Robert Millan <rmh@aybabtu.com>
32293
32294 Patch from Javier Martín.
32295 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
32296 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
32297
32298 2009-02-08 Robert Millan <rmh@aybabtu.com>
32299
32300 * fs/cpio.c: Split tar functionality to ...
32301 * fs/tar.c: ... here (new file). Update all users.
32302
32303 2009-02-07 Robert Millan <rmh@aybabtu.com>
32304
32305 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
32306 backward-incompatible features.
32307
32308 Based on patch from Javier Martín, with some adjustments.
32309
32310 2009-02-07 Michael Scherer <misc@mandriva.org>
32311
32312 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
32313
32314 2009-02-07 Robert Millan <rmh@aybabtu.com>
32315
32316 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
32317 position of `disk/lvm.c' to ensure grub_init_all() always picks it
32318 after the RAID stuff.
32319
32320 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
32321
32322 Fixes problem when running vbetest command as reported by
32323 Vladimir Serbinenko <phcoder@gmail.com>.
32324
32325 * (grub_vbe_set_video_mode): Fixed problem with text modes.
32326
32327 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
32328
32329 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
32330 /dev/md/NpN style mdraid devices.
32331
32332 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
32333
32334 * util/unifont2pff.rb: Remove.
32335
32336 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
32337
32338 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
32339 `#'.
32340
32341 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
32342
32343 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
32344 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32345 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32346 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32347 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32348 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32349 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32350
32351 2009-02-02 Christian Franke <franke@computer.org>
32352
32353 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
32354
32355 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
32356
32357 * INSTALL: Note that we now require at least autoconf 2.59 and
32358 that LZO is optional.
32359
32360 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
32361
32362 Base on patch on bug #24154 created by Tomas Tintera
32363 <trosos@seznam.cz>.
32364
32365 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
32366
32367 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
32368
32369 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
32370 <bero@arklinux.org>.
32371
32372 * normal/parser.y (script_init): Add missing semicolon.
32373
32374 2009-01-31 Colin D Bennett <colin@gibibit.com>
32375
32376 * normal/main.c: Add include to grub/menu_viewer.h.
32377 (free_menu_entry_classes): Added.
32378 (grub_normal_menu_addentry): Added class property handling.
32379 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
32380 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
32381
32382 * normal/menu_viewer.c: New file.
32383
32384 * normal/menu.c (run_menu_entry): Renamed to ...
32385 (grub_menu_execute_entry): ... this and made it as global.
32386 (grub_menu_run): Renamed to ...
32387 (show_text_menu): ... this and made it local.
32388 (show_text_menu): Adapt to new function names.
32389 (grub_normal_terminal_menu_viewer): New global variable.
32390
32391 * include/grub/menu.h: New file.
32392
32393 * include/grub/menu_viewer.h: New file.
32394
32395 * include/grub/normal.h: Added include to grub/menu.h.
32396 (grub_menu_entry): Moved to include/grub/menu.h.
32397 (grub_menu_entry_t): Likewise.
32398 (grub_menu): Likewise.
32399 (grub_menu_t): Likewise.
32400 (grub_normal_terminal_menu_viewer): Added.
32401 (grub_menu_execute_entry): Likewise.
32402 (grub_menu_run): Removed.
32403
32404 * DISTLIST: Added include/grub/menu.h.
32405 Added include/grub/menu_viewer.h.
32406 Added normal/menu_viewer.c.
32407
32408 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
32409
32410 * normal/execute.c (grub_script_execute_menuentry): Changed to use
32411 arglist for menutitle arguments.
32412
32413 * normal/main.c (grub_normal_menu_addentry): Likewise.
32414
32415 * normal/parser.y (menuentry): Likewise.
32416
32417 * normal/script.c (grub_script_create_cmdmenu): Likewise.
32418
32419 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
32420 (grub_script_create_cmdmenu): Likewise.
32421
32422 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
32423
32424 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
32425 changes.
32426
32427 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
32428
32429 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
32430
32431 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
32432
32433 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
32434
32435 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
32436
32437 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
32438
32439 2009-01-30 Christian Franke <franke@computer.org>
32440
32441 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
32442 in option help text.
32443
32444 2009-01-27 Pavel Roskin <proski@gnu.org>
32445
32446 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
32447
32448 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
32449
32450 * commands/lsmmap.c: Add include to grub/machine/memory.h.
32451
32452 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
32453
32454 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
32455 unregister function.
32456
32457 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
32458
32459 * disk/scsi.c (grub_scsi_read): Fix sign problem.
32460
32461 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
32462
32463 * util/grub-mkfont.c (usage): Fix typo.
32464
32465 * util/elf/grub-mkimage.c (load_modules): Fix warning.
32466
32467 2009-01-26 Daniel Mierswa <impulze@impulze.org>
32468
32469 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
32470
32471 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
32472
32473 * kern/misc.c (grub_strcasecmp): New function.
32474 (grub_strcasecmp): Use grub_size_t instead of int for length.
32475 Fix return value.
32476 * include/grub/misc.h: Update function prototypes.
32477
32478 2009-01-26 Robert Millan <rmh@aybabtu.com>
32479
32480 * configure.ac: Fix cross-compilation check.
32481
32482 2009-01-22 Christian Franke <franke@computer.org>
32483
32484 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
32485 (precision) digit string. Allow `.format2' without `format1' (width).
32486 Limit input chars for `%s' output to `format2' if specified. This is
32487 compatible with standard printf ().
32488
32489 2009-01-22 Christian Franke <franke@computer.org>
32490
32491 * disk/ata.c (grub_ata_wait_status): Replace by ...
32492 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
32493 other status bits may be invalid while BSY is asserted.
32494 (grub_ata_check_ready): New function.
32495 (grub_ata_cmd): Removed.
32496 (grub_ata_wait_drq): New function.
32497 (grub_ata_strncpy): Remove inline.
32498 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
32499 and error check now done by grub_ata_wait_drq ().
32500 (grub_ata_pio_write): Likewise.
32501 (grub_atapi_identify): Set DEV before check for !BSY. Use
32502 grub_ata_wait_drq () to wait for data.
32503 (grub_ata_device_initialize): Add status register check to
32504 detect missing SATA slave devices. Add debug messages.
32505 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
32506 (grub_atapi_packet): Set DEV before check for !BSY. Replace
32507 transfer loop by grub_ata_pio_write ().
32508 (grub_ata_identify): Set DEV before check for !BSY. Use
32509 grub_ata_wait_drq () to wait for data.
32510 (grub_ata_setaddress): Set DEV before check for !BSY.
32511 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
32512 read/write in one loop. Fix invalid command on write. Fix incomplete
32513 command on (size % batch) == 0. Add missing error check after write of
32514 last block. Add debug messages.
32515 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
32516
32517 2009-01-19 Christian Franke <franke@computer.org>
32518
32519 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
32520 (GRUB_ATAPI_IREASON_*): Likewise.
32521 (grub_ata_pio_write): Fix timeout error return.
32522 (grub_atapi_identify): Add grub_ata_wait () after cmd.
32523 (grub_atapi_wait_drq): New function.
32524 (grub_atapi_packet): New parameter `size'.
32525 Use grub_atapi_wait_drq () and direct write instead of
32526 grub_ata_pio_write ().
32527 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
32528 reads the number of bytes requested by the device for each DRQ
32529 assertion.
32530 (grub_atapi_write): Remove old implementation, return not
32531 implemented instead.
32532
32533 2009-01-19 Christian Franke <franke@computer.org>
32534
32535 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
32536 of 512 to calculate data size.
32537 (grub_scsi_read12): Likewise.
32538 (grub_scsi_write10): Likewise.
32539 (grub_scsi_write12): Likewise.
32540 (grub_scsi_read): Adjust size according to blocksize.
32541 Add checks for invalid blocksize and unaligned transfer.
32542
32543 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
32544
32545 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
32546
32547 * term/gfxterm.c (write_char): Fix background rendering for wide
32548 width glyphs.
32549
32550 2009-01-19 Robert Millan <rmh@aybabtu.com>
32551
32552 * config.guess: Update to latest version from config git.
32553 * config.sub: Likewise.
32554
32555 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
32556
32557 * Makefile.in: Change font compilation to use new grub-mkfont instead
32558 of java version.
32559
32560 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
32561 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
32562 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
32563 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
32564 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
32565 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
32566 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
32567 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
32568 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
32569
32570 2009-01-16 Christian Franke <franke@computer.org>
32571
32572 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
32573 (enum grub_ata_timeout_milliseconds): New enum.
32574 (grub_ata_wait_status): Add parameter milliseconds.
32575 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
32576 recovery from timed-out commands.
32577 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
32578 return grub_errno instead of REG_ERROR.
32579 (grub_ata_pio_write): Add parameter milliseconds.
32580 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
32581 Pass milliseconds to grub_ata_wait_status () and
32582 grub_ata_pio_read ().
32583 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
32584 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
32585 grub_ata_wait_status (). Fix IDENTIFY timeout check.
32586 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
32587 It is not suitable for device detection, because DEV bit is ignored,
32588 the command may run too long, and not all devices set the signature
32589 properly.
32590 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
32591 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
32592 Fix device selection, DEV bit must be set first to address the registers
32593 of the correct device.
32594 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
32595 grub_ata_pio_read/write ().
32596 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
32597 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
32598
32599 2009-01-13 Carles Pina i Estany <carles@pina.cat>
32600
32601 * util/grub-editenv.c (main): Use fseeko(), not fseek().
32602
32603 2009-01-13 Bean <bean123ch@gmail.com>
32604
32605 * util/grub-mkfont.c (write_font): forget to remove some debug code.
32606
32607 2009-01-13 Bean <bean123ch@gmail.com>
32608
32609 * Makefile.in: (enable_grub_mkfont): New variable.
32610 (freetype_cflags): Likewise.
32611 (freetype_libs): Likewise.
32612
32613 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
32614 (grub_mkfont_SOURCES): New variable.
32615 (grub_mkfont_CFLAGS): Likewise.
32616 (grub_mkfont_LDFLAGS): Likewise.
32617
32618 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
32619 library if `--enable-grub-mkfont' is requested.
32620 (enable_grub_mkfont): New variable.
32621 (freetype_cflags): Likewise.
32622 (freetype_libs): Likewise.
32623
32624 * util/grub-mkfont.c: New file.
32625
32626 2009-01-12 Christian Franke <franke@computer.org>
32627
32628 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
32629 mode check. Fix setting of compat_use[].
32630
32631 2009-01-10 Robert Millan <rmh@aybabtu.com>
32632
32633 Update a few copyright years which we forgot to do in 2008 (only for
32634 files whose changes made in 2008 were copyright-significant)
32635
32636 * Makefile.in: Add 2008 to Copyright line.
32637 * disk/ieee1275/ofdisk.c: Likewise.
32638 * disk/efi/efidisk.c: Likewise.
32639 * kern/dl.c: Likewise.
32640 * kern/sparc64/ieee1275/init.c: Likewise.
32641 * kern/mm.c: Likewise.
32642 * kern/efi/mm.c: Likewise.
32643 * boot/i386/pc/boot.S: Likewise.
32644 * genfslist.sh: Likewise.
32645 * fs/iso9660.c: Likewise.
32646 * fs/hfs.c: Likewise.
32647 * fs/jfs.c: Likewise.
32648 * fs/minix.c: Likewise.
32649 * fs/ufs.c: Likewise.
32650 * gensymlist.sh.in: Likewise.
32651 * genkernsyms.sh.in: Likewise.
32652 * include/grub/misc.h: Likewise.
32653 * include/grub/types.h: Likewise.
32654 * include/grub/symbol.h: Likewise.
32655 * include/grub/elf.h: Likewise.
32656 * include/grub/kernel.h: Likewise.
32657 * include/grub/disk.h: Likewise.
32658 * include/grub/dl.h: Likewise.
32659 * include/grub/i386/linux.h: Likewise.
32660 * include/grub/i386/pc/biosdisk.h: Likewise.
32661 * include/grub/efi/api.h: Likewise.
32662 * include/grub/efi/pe32.h: Likewise.
32663 * include/grub/util/misc.h: Likewise.
32664 * normal/execute.c: Likewise.
32665 * normal/arg.c: Likewise.
32666 * normal/completion.c: Likewise.
32667 * normal/lexer.c: Likewise.
32668 * normal/parser.y: Likewise.
32669 * normal/misc.c: Likewise.
32670 * commands/i386/pc/vbeinfo.c: Likewise.
32671 * commands/hexdump.c: Likewise.
32672 * commands/terminal.c: Likewise.
32673 * commands/ls.c: Likewise.
32674 * commands/help.c: Likewise.
32675 * partmap/pc.c: Likewise.
32676 * loader/efi/chainloader.c: Likewise.
32677 * loader/multiboot_loader.c: Likewise.
32678 * loader/i386/pc/multiboot2.c: Likewise.
32679 * term/efi/console.c: Likewise.
32680 * term/i386/pc/serial.c: Likewise.
32681 * util/lvm.c: Likewise.
32682 * util/console.c: Likewise.
32683 * util/i386/efi/grub-mkimage.c: Likewise.
32684 * util/raid.c: Likewise.
32685
32686 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
32687
32688 * commands/videotest.c: Removed include to grub/machine/memory.h.
32689
32690 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
32691 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
32692 (video_mod_SOURCES): Removed.
32693 (video_mod_CFLAGS): Likewise.
32694 (video_mod_LDFLAGS): Likewise.
32695 (gfxterm_mod_SOURCES): Likewise.
32696 (gfxterm_mod_CFLAGS): Likewise.
32697 (gfxterm_mod_LDFLAGS): Likewise.
32698 (videotest_mod_SOURCES): Likewise.
32699 (videotest_mod_CFLAGS): Likewise.
32700 (videotest_mod_LDFLAGS): Likewise.
32701 (bitmap_mod_SOURCES): Likewise.
32702 (bitmap_mod_CFLAGS): Likewise.
32703 (bitmap_mod_LDFLAGS): Likewise.
32704 (tga_mod_SOURCES): Likewise.
32705 (tga_mod_CFLAGS): Likewise.
32706 (tga_mod_LDFLAGS): Likewise.
32707 (jpeg_mod_SOURCES): Likewise.
32708 (jpeg_mod_CFLAGS): Likewise.
32709 (jpeg_mod_LDFLAGS): Likewise.
32710 (png_mod_SOURCES): Likewise.
32711 (png_mod_CFLAGS): Likewise.
32712 (png_mod_LDFLAGS): Likewise.
32713
32714 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
32715 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
32716 (video_mod_SOURCES): Added.
32717 (video_mod_CFLAGS): Likewise.
32718 (video_mod_LDFLAGS): Likewise.
32719 (videotest_mod_SOURCES): Likewise.
32720 (videotest_mod_CFLAGS): Likewise.
32721 (videotest_mod_LDFLAGS): Likewise.
32722 (bitmap_mod_SOURCES): Likewise.
32723 (bitmap_mod_CFLAGS): Likewise.
32724 (bitmap_mod_LDFLAGS): Likewise.
32725 (tga_mod_SOURCES): Likewise.
32726 (tga_mod_CFLAGS): Likewise.
32727 (tga_mod_LDFLAGS): Likewise.
32728 (jpeg_mod_SOURCES): Likewise.
32729 (jpeg_mod_CFLAGS): Likewise.
32730 (jpeg_mod_LDFLAGS): Likewise.
32731 (png_mod_SOURCES): Likewise.
32732 (png_mod_CFLAGS): Likewise.
32733 (png_mod_LDFLAGS): Likewise.
32734 (gfxterm_mod_SOURCES): Likewise.
32735 (gfxterm_mod_CFLAGS): Likewise.
32736 (gfxterm_mod_LDFLAGS): Likewise.
32737
32738 * term/gfxterm.c: Removed include to grub/machine/memory.h,
32739 grub/machine/console.h.
32740
32741 2009-01-04 Jerone Young <jerone@gmail.com>
32742
32743 Make on screen instructions clearer
32744
32745 Based on patch created by Jidanni <jidanni@jidanni.org>
32746
32747 * normal/menu.c: print clearer instructions on the screen
32748
32749 2009-01-02 Colin D Bennett <colin@gibibit.com>
32750
32751 New font engine.
32752
32753 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
32754 build system and fixed gfxterm.c to work with different sized fonts.
32755
32756 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
32757
32758 * configure: Re-generated.
32759
32760 * DISTLIST: Removed font/manager.c.
32761 Added font/font.c.
32762 Added font/font_cmd.c.
32763
32764 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
32765 compilation.
32766
32767 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
32768
32769 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
32770
32771 * kern/term.c: Changed users of grub_utf8_to_ucs4.
32772
32773 * normal/menu.c: Likewise.
32774
32775 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
32776 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
32777
32778 * include/grub/font.h: Replaced with new file.
32779
32780 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
32781 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
32782 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
32783 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
32784 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
32785 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
32786 fg_red, fg_green, fg_blue, fg_alpha.
32787 (grub_video_adapter): Removed blit_glyph.
32788 (grub_video_blit_glyph): Removed.
32789
32790 * font/manager.c: Removed file.
32791
32792 * font/font.c: New file.
32793
32794 * font/font_cmd.c: Likewise.
32795
32796 * video/video.c (grub_video_blit_glyph): Removed.
32797
32798 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
32799 (grub_video_vbe_map_rgba): Likewise.
32800 (grub_video_vbe_unmap_color_int): Likewise.
32801 (grub_video_vbe_blit_glyph): Removed.
32802 (grub_video_vbe_adapter): Removed blit_glyph.
32803
32804 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
32805 (get_pixel): Likewise.
32806 (set_pixel): Likewise.
32807
32808 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
32809
32810 * term/gfxterm.c: Adapted to new font engine.
32811
32812 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
32813
32814 * term/i386/pc/vga.c: Likewise.
32815
32816 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
32817
32818 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
32819
32820 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
32821
32822 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
32823
32824 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
32825
32826 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
32827
32828 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
32829
32830 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
32831
32832 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
32833
32834 * util/grub.d/00_header.in: Changed to use new loadfont command.
32835
32836 * util/grub-mkconfig_lib.in: Changed font extension.
32837
32838 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
32839
32840 * util/getroot.c (grub_util_get_grub_dev): Add support for
32841 /dev/md/dNNpNN style partitionable mdraid devices.
32842
32843 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
32844
32845 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
32846 at a time limit of the PXE TFTP API correctly.
32847 (grub_pxefs_close): Likewise.
32848
32849 2008-11-29 Robert Millan <rmh@aybabtu.com>
32850
32851 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
32852 grub_ata_device_initialize() calls.
32853
32854 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
32855
32856 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
32857 iteration failed.
32858 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
32859
32860 2008-11-28 Robert Millan <rmh@aybabtu.com>
32861
32862 Fix build on powerpc-ieee1275. Based on patch created by
32863 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
32864 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
32865 `kern/ieee1275/mmap.c'.
32866 * include/grub/powerpc/ieee1275/memory.h: New file.
32867
32868 Provide grub-install on coreboot.
32869 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
32870 (grub_install_SOURCES): New variable.
32871 * util/i386/pc/grub-install.in: Add a few condition checks to make it
32872 usable on coreboot.
32873
32874 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
32875
32876 * util/grub-fstest.c (grub_term_get_current_input): Change return type
32877 to `grub_term_input_t'.
32878 (grub_term_get_current_output): Change return type to
32879 `grub_term_output_t'.
32880
32881 2008-11-22 Robert Millan <rmh@aybabtu.com>
32882
32883 Fix breakage on coreboot due to declaration mismatch.
32884 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
32885 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
32886 grub_vga_text_cls().
32887
32888 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
32889 comments. Avoid copying one more byte than necessary (just in case).
32890
32891 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
32892 to 0x200000 (avoids trouble with some OFW implementations, and matches
32893 with the one in Yaboot).
32894 Reported by Manoel Abranches
32895
32896 2008-11-20 Robert Millan <rmh@aybabtu.com>
32897
32898 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
32899 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
32900
32901 * util/grub-mkconfig_lib.in (grub_warn): New function.
32902 (convert_system_path_to_grub_path): Use grub_warn() when issuing
32903 warnings, to obtain consistent formatting.
32904 * util/grub.d/00_header.in: Likewise.
32905 * util/update-grub_lib.in: Likewise.
32906
32907 * loader/i386/linux.c (allocate_pages): Fix a warning.
32908 Move comment text to `#error' stanza.
32909
32910 Harmonize ieee1275's grub_available_iterate() with the generic
32911 grub_machine_mmap_iterate() interface (fixes a recently-introduced
32912 build problem on i386-ieee1275):
32913 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
32914 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
32915 parameter `type'. Update all users of this function.
32916 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
32917 `kern/ieee1275/mmap.c'.
32918 * kern/ieee1275/init.c
32919 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
32920 with ...
32921 (grub_machine_mmap_iterate): ... this.
32922 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
32923 return type to `grub_err_t'. Update all implementations of this
32924 function prototype.
32925 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
32926 Likewise.
32927
32928 Add `lsmmap' command (lists firmware-provided memory map):
32929 * commands/lsmmap.c: New file.
32930 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
32931 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
32932 variables.
32933 * conf/powerpc-ieee1275.rmk: Likewise.
32934 * conf/i386-coreboot.rmk: Likewise.
32935 * conf/i386-ieee1275.rmk: Likewise.
32936
32937 2008-11-19 Robert Millan <rmh@aybabtu.com>
32938
32939 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
32940 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
32941 constraints to initrd allocation (based on code from
32942 loader/i386/pc/linux.c). Without them, initrd was allocated too high
32943 for Linux to find it.
32944
32945 2008-11-14 Robert Millan <rmh@aybabtu.com>
32946
32947 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
32948 order to cope with duplicate slashes.
32949
32950 2008-11-14 Robert Millan <rmh@aybabtu.com>
32951
32952 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
32953 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
32954 don't want to mess with lower memory, because it is used in the Linux
32955 loader.
32956
32957 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
32958 an appropriate place in lower memory, between 0x10000 and 0x90000,
32959 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
32960 is in our heap (probably as a result of it being corrupted during
32961 decompression). Add #error instance with comment to explain why this
32962 loader isn't currently usable on PC/BIOS.
32963
32964 2008-11-14 Robert Millan <rmh@aybabtu.com>
32965
32966 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
32967 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
32968
32969 2008-11-12 Robert Millan <rmh@aybabtu.com>
32970
32971 Make loader/i386/linux.c buildable on i386-pc (although disabled).
32972
32973 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
32974 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
32975 from here ...
32976 * include/grub/i386/pc/memory.h: ... to here.
32977
32978 2008-11-12 Robert Millan <rmh@aybabtu.com>
32979
32980 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
32981 split).
32982
32983 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
32984 (grub_console_cur_color, grub_console_real_putchar)
32985 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
32986 (grub_console_setcolorstate, grub_console_setcolor)
32987 (grub_console_getcolor): Move from here ...
32988 * include/grub/i386/vga_common.h: ... to here (new file).
32989
32990 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
32991 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
32992 `<grub/i386/io.h>'.
32993 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
32994 `<grub/i386/vga_common.h>'.
32995
32996 2008-11-12 Robert Millan <rmh@aybabtu.com>
32997
32998 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
32999 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
33000 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
33001 variables.
33002 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
33003 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
33004
33005 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
33006 grub_console_init() with call to grub_vga_text_init().
33007 (grub_machine_fini): Replace call to
33008 grub_console_fini() with call to grub_vga_text_fini() and
33009 grub_at_keyboard_fini().
33010
33011 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
33012 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
33013 (grub_console_setcolorstate, grub_console_setcolor)
33014 (grub_console_getcolor): New function prototypes.
33015
33016 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
33017 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
33018 (grub_vga_text_setcursor): Static-ize.
33019 (grub_vga_text_term): New structure.
33020 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
33021
33022 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
33023 (grub_console_cur_color, grub_console_standard_color)
33024 (grub_console_normal_color, grub_console_highlight_color)
33025 (map_char, grub_console_putchar, grub_console_getcharwidth)
33026 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
33027 (grub_console_getcolor): Move from here ...
33028 * term/i386/vga_common.c: ... to here (same function names).
33029
33030 2008-11-12 Robert Millan <rmh@aybabtu.com>
33031
33032 Use newly-added Multiboot support in coreboot.
33033
33034 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
33035 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
33036
33037 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
33038 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
33039 (codestart): Store the MBI in `startup_multiboot_info' when we're
33040 being loaded using Multiboot.
33041
33042 * kern/i386/coreboot/init.c (grub_machine_init): Move
33043 grub_at_keyboard_init() call to beginning of function (useful for
33044 debugging). Call grub_machine_mmap_init() before attempting to use
33045 grub_machine_mmap_iterate().
33046 (grub_lower_mem, grub_upper_mem): Move from here ...
33047 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
33048 here (new file).
33049
33050 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
33051 function prototype.
33052
33053 2008-11-12 Robert Millan <rmh@aybabtu.com>
33054
33055 Fix a regression introduced by the at_keyboard.mod split. Because
33056 some terminals are default on some platforms and non-default on
33057 others, the first terminal being registered determines which is
33058 going to be default.
33059
33060 * kern/term.c (grub_term_register_input): If this is the first
33061 terminal being registered, set it as the current one.
33062 (grub_term_register_output): Likewise.
33063
33064 * term/efi/console.c (grub_console_init): Do not call
33065 grub_term_set_current_output() or grub_term_set_current_input().
33066 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
33067 * term/i386/pc/console.c (grub_console_init): Likewise.
33068 (grub_console_fini): Do not call grub_term_set_current_input()
33069 (but leave grub_term_set_current_output() to restore text mode).
33070
33071 2008-11-10 Robert Millan <rmh@aybabtu.com>
33072
33073 * util/grub.d/00_header.in: Add backward compatibility check for
33074 versions of terminal.mod that don't understand `terminal_input' or
33075 `terminal_output'.
33076
33077 2008-11-09 Robert Millan <rmh@aybabtu.com>
33078
33079 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
33080 `terminal_input' / `terminal_output', not `terminal'.
33081
33082 2008-11-08 Robert Millan <rmh@aybabtu.com>
33083
33084 * Makefile.in (include_DATA): Fix srcdir=. assumption.
33085 (DISTCLEANFILES): Add `build_env.mk'.
33086
33087 2008-11-08 Robert Millan <rmh@aybabtu.com>
33088
33089 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
33090 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
33091 members. Update all users.
33092 * util/console.c (grub_ncurses_term): Split in ...
33093 (grub_ncurses_term_input): ... this, and ...
33094 (grub_ncurses_term_output): ... this. Update all users.
33095 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
33096
33097 2008-11-08 Robert Millan <rmh@aybabtu.com>
33098
33099 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
33100 (PKGDATA): Add $(pkgdata_SRCDIR).
33101 (pkglib_BUILDDIR): New variable.
33102 (pkgdata_SRCDIR): New variable.
33103 (build_env.mk): New target.
33104 (include_DATA): New variable.
33105 (install-local): Install $(include_DATA) files in $(includedir).
33106
33107 2008-11-07 Pavel Roskin <proski@gnu.org>
33108
33109 * gendistlist.sh: Use C locale for sorting to ensure consistent
33110 output on all systems.
33111
33112 * util/grub.d/00_header.in: Remove incorrect space before
33113 "serial".
33114
33115 2008-11-07 Robert Millan <rmh@aybabtu.com>
33116
33117 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
33118 per specification.
33119 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
33120 * loader/multiboot_loader.c (find_multi_boot2_header): New function
33121 (based on find_multi_boot1_header).
33122 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
33123 using find_multi_boot2_header(), and abort if neither Multiboot or
33124 Multiboot headers were found.
33125
33126 2008-11-07 Robert Millan <rmh@aybabtu.com>
33127
33128 Modularize at_keyboard.mod:
33129
33130 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
33131 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
33132 (at_keyboard_mod_LDFLAGS): New variables.
33133
33134 Actual terminal split:
33135
33136 * include/grub/term.h (struct grub_term): Split in ...
33137 (struct grub_term_input): ... this, and ...
33138 (struct grub_term_output): ... this. Update all users.
33139 (grub_term_set_current): Split in ...
33140 (grub_term_set_current_input): ... this, and ...
33141 (grub_term_set_current_output): ... this.
33142 (grub_term_get_current): Split in ...
33143 (grub_term_get_current_input): ... this, and ...
33144 (grub_term_get_current_output): ... this.
33145 (grub_term_register): Split in ...
33146 (grub_term_register_input): ... this, and ...
33147 (grub_term_register_output): ... this.
33148 (grub_term_unregister): Split in ...
33149 (grub_term_unregister_input): ... this, and ...
33150 (grub_term_unregister_output): ... this.
33151 (grub_term_iterate): Split in ...
33152 (grub_term_iterate_input): ... this, and ...
33153 (grub_term_iterate_output): ... this.
33154
33155 * kern/term.c (grub_term_list): Split in ...
33156 (grub_term_list_input): ... this, and ...
33157 (grub_term_list_output): ... this. Update all users.
33158 (grub_cur_term): Split in ...
33159 (grub_cur_term_input): ... this, and ...
33160 (grub_cur_term_output): ... this. Update all users.
33161 (grub_term_set_current): Split in ...
33162 (grub_term_set_current_input): ... this, and ...
33163 (grub_term_set_current_output): ... this.
33164 (grub_term_get_current): Split in ...
33165 (grub_term_get_current_input): ... this, and ...
33166 (grub_term_get_current_output): ... this.
33167 (grub_term_register): Split in ...
33168 (grub_term_register_input): ... this, and ...
33169 (grub_term_register_output): ... this.
33170 (grub_term_unregister): Split in ...
33171 (grub_term_unregister_input): ... this, and ...
33172 (grub_term_unregister_output): ... this.
33173 (grub_term_iterate): Split in ...
33174 (grub_term_iterate_input): ... this, and ...
33175 (grub_term_iterate_output): ... this.
33176
33177 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
33178 a check for input and one for output (and only attempt to get keys
33179 from user when input works).
33180
33181 * util/grub-probe.c (grub_term_get_current): Split in ...
33182 (grub_term_get_current_input): ... this, and ...
33183 (grub_term_get_current_output): ... this.
33184 * util/grub-fstest.c: Likewise.
33185 * util/i386/pc/grub-setup.c: Likewise.
33186 * util/grub-editenv.c: Likewise.
33187
33188 Portability adjustments:
33189
33190 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
33191 `term/i386/pc/at_keyboard.c'.
33192 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
33193 grub_keyboard_controller_init() (now handled by terminal .init).
33194 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
33195 grub_at_keyboard_init().
33196 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
33197 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
33198 at_keyboard.mod via input terminal interface).
33199 * include/grub/i386/coreboot/console.h: Convert into a stub for
33200 `<grub/i386/pc/console.h>'.
33201
33202 Migrate full terminals to new API:
33203
33204 * term/efi/console.c (grub_console_term): Split into ...
33205 (grub_console_term_input): ... this, and ...
33206 (grub_console_term_output): ... this. Update all users.
33207 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
33208 (grub_ofconsole_init): Split into ...
33209 (grub_ofconsole_init_input): ... this, and ...
33210 (grub_ofconsole_init_output): ... this.
33211 (grub_ofconsole_term): Split into ...
33212 (grub_ofconsole_term_input): ... this, and ...
33213 (grub_ofconsole_term_output): ... this. Update all users.
33214 * term/i386/pc/serial.c (grub_serial_term): Split into ...
33215 (grub_serial_term_input): ... this, and ...
33216 (grub_serial_term_output): ... this. Update all users.
33217 * term/i386/pc/console.c (grub_console_term): Split into ...
33218 (grub_console_term_input): ... this, and ...
33219 (grub_console_term_output): ... this. Update all users.
33220 (grub_console_term_input): Only enable it on PC/BIOS platform.
33221 (grub_console_init): Remove grub_keyboard_controller_init() call.
33222
33223 Migrate input terminals to new API:
33224
33225 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
33226 `i386' and `i386/pc' to enable build on x86_64 (this driver is
33227 i386-specific anyway).
33228 (grub_console_checkkey): Rename to ...
33229 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
33230 users.
33231 (grub_keyboard_controller_orig): New variable.
33232 (grub_console_getkey): Rename to ...
33233 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
33234 users.
33235 (grub_keyboard_controller_init): Static-ize. Save original
33236 controller value so that it can be restored ...
33237 (grub_keyboard_controller_fini): ... here (new function).
33238 (grub_at_keyboard_term): New structure.
33239 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
33240 functions.
33241
33242 Migrate output terminals to new API:
33243
33244 * term/i386/pc/vga.c (grub_vga_term): Change type to
33245 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
33246 members. Update all users.
33247 * term/gfxterm.c (grub_video_term): Change type to
33248 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
33249 members. Update all users.
33250 * include/grub/i386/pc/console.h (grub_console_checkkey)
33251 (grub_console_getkey): Do not export (no longer needed by gfxterm,
33252 etc).
33253
33254 Migrate `terminal' command and userland tools to new API:
33255
33256 * commands/terminal.c (grub_cmd_terminal): Split into ...
33257 (grub_cmd_terminal_input): ... this, and ...
33258 (grub_cmd_terminal_output): ... this.
33259 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
33260 `terminal_input' and `terminal_output'.
33261 * util/grub.d/00_header.in: Adjust `terminal' calls to new
33262 `terminal_input' / `terminal_output' API.
33263 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
33264 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
33265 provided ${GRUB_TERMINAL}, convert it).
33266
33267 2008-11-04 Robert Millan <rmh@aybabtu.com>
33268
33269 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
33270 for FreeBSD.
33271 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
33272
33273 2008-11-03 Bean <bean123ch@gmail.com>
33274
33275 * kern/elf.c (grub_elf32_load): Revert to previous code.
33276 (grub_elf64_load): Likewise.
33277
33278 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
33279
33280 2008-11-01 Robert Millan <rmh@aybabtu.com>
33281
33282 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
33283 (TARGET_CPPFLAGS): Likewise.
33284 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
33285
33286 2008-11-01 Carles Pina i Estany <carles@pina.cat>
33287
33288 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
33289
33290 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
33291
33292 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
33293 addition of objects until the code is not going to be able to fail.
33294
33295 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
33296
33297 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
33298 (add a missing NULL check, and correct them by moving the pointer
33299 operations after the actual check).
33300
33301 2008-10-29 Robert Millan <rmh@aybabtu.com>
33302
33303 * util/i386/pc/grub-install.in: Handle empty string as output from
33304 make_system_path_relative_to_its_root().
33305
33306 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
33307
33308 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
33309 circular metadata worst case scenario. If the metadata is circular
33310 then copy the wrap in place.
33311 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
33312 project lib/format_text/layout.h
33313 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
33314
33315 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
33316
33317 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
33318
33319 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
33320
33321 * util/update-grub_lib.in: Mention filename in warning message.
33322
33323 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
33324
33325 * NEWS: Update for rename of update-grub to grub-mkconfig.
33326
33327 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
33328
33329 * util/update-grub_lib.in: Copy to ...
33330 * util/grub-mkconfig_lib.in: ... this. Update all users.
33331 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
33332 * util/update-grub.in: Rename to ...
33333 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
33334 option. Add `--output' option to allow users to specify the generated
33335 configuration file. Default to stdout.
33336 (update_grub_dir): Rename to ...
33337 (grub_mkconfig_dir): ... this.
33338 (grub_cfg): Default to an empty string.
33339 * conf/common.rmk (update-grub): Rename to ...
33340 (grub-mkconfig): ... this.
33341 (update-grub_lib): Copy to ...
33342 (grub-mkconfig_lib): ... this.
33343 (update-grub_SCRIPTS): Copy to ...
33344 (grub-mkconfig_SCRIPTS): ... this. Update all users.
33345 (update-grub_DATA): Rename to ...
33346 (grub-mkconfig_DATA): ... this.
33347
33348 2008-09-28 Robert Millan <rmh@aybabtu.com>
33349
33350 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
33351 to `modified'. Add the real `created' field.
33352 (grub_iso9660_uuid): Use `modified' rather than `created' for
33353 constructing the UUID.
33354
33355 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
33356
33357 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
33358 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
33359
33360 2008-09-28 Bean <bean123ch@gmail.com>
33361
33362 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
33363 Thanks to Christian Franke for finding this bug.
33364
33365 2008-09-25 Robert Millan <rmh@aybabtu.com>
33366
33367 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
33368 instances of grub_util_get_disk_name() (see previous commit).
33369
33370 2008-09-25 Robert Millan <rmh@aybabtu.com>
33371
33372 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
33373 `util/i386/get_disk_name.c'.
33374 * conf/i386-efi.rmk: Likewise.
33375 * conf/x86_64-efi.rmk: Likewise.
33376 * conf/i386-coreboot.rmk: Likewise.
33377 * conf/i386-ieee1275.rmk: Likewise.
33378 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
33379 `util/ieee1275/get_disk_name.c'.
33380 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
33381 * util/ieee1275/get_disk_name.c: Remove file.
33382 * util/i386/get_disk_name.c: Remove file.
33383 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
33384 "hd%d" for device.map entries, rather than using
33385 grub_util_get_disk_name().
33386
33387 2008-09-24 Carles Pina i Estany <carles@pina.cat>
33388
33389 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
33390 warning.
33391 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
33392
33393 2008-09-24 Carles Pina i Estany <carles@pina.cat>
33394
33395 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
33396 Changed to 0x5100.
33397 (GRUB_TERM_PPAGE): Changed to 0x4900.
33398
33399 2008-09-24 Robert Millan <rmh@aybabtu.com>
33400
33401 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
33402 macros (they were i386-pc specific).
33403 * include/grub/sparc64/ieee1275/console.h: Likewise.
33404 * include/grub/efi/console.h: Likewise.
33405
33406 2008-09-22 Bean <bean123ch@gmail.com>
33407
33408 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
33409 resident and in attribute list.
33410
33411 * include/grub/ntfs.h (BMP_LEN): Removed.
33412
33413 2008-09-22 Bean <bean123ch@gmail.com>
33414
33415 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
33416 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
33417
33418 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
33419 error occurs, as grub_disk_open will call grub_disk_close, which will
33420 call p->close (scsi).
33421
33422 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
33423
33424 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
33425 (AC_PREREQ): Bumped to 2.59.
33426 (AC_TRY_COMPILE): Replace obsolete macro with ...
33427 (AC_COMPILE_IFELSE): ... this.
33428 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
33429 (AC_LINK_IFELSE): ... this.
33430
33431 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
33432
33433 * autogen.sh: Add a call to `gendistlist.sh'.
33434
33435 2008-09-19 Christian Franke <franke@computer.org>
33436
33437 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
33438 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
33439 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
33440 Export __enable_execute_stack() to modules.
33441 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
33442 New function.
33443
33444 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
33445
33446 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
33447 Sort the list.
33448
33449 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
33450
33451 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
33452 #include <grub/util/hostdisk.h>.
33453
33454 2008-09-08 Robert Millan <rmh@aybabtu.com>
33455
33456 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
33457 segments when their filesz is zero (grub_file_read() interprets
33458 zero-size as "read until EOF", which results in memory corruption).
33459 Use `lowest_segment' rather than 0 for calculating the current
33460 segment load address.
33461
33462 2008-09-08 Robert Millan <rmh@aybabtu.com>
33463
33464 * util/hostdisk.c (open_device): Replace a grub_util_info() call
33465 with grub_dprintf("hostdisk", ...), as it was so verbose that it
33466 clobbered useful information.
33467
33468 2008-09-08 Robert Millan <rmh@aybabtu.com>
33469
33470 * include/grub/util/biosdisk.h: Move to ...
33471 * include/grub/util/hostdisk.h: ... here. Update all users.
33472 * util/biosdisk.c: Move to ...
33473 * util/hostdisk.c: ... here. Update all users.
33474
33475 2008-09-07 Robert Millan <rmh@aybabtu.com>
33476
33477 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
33478 variables.
33479 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
33480 and length can be stored directly in the `mbi->mmap_addr' and
33481 `mbi->mmap_length' struct fields.
33482
33483 2008-09-07 Robert Millan <rmh@aybabtu.com>
33484
33485 * conf/i386.rmk: New file. Provides declaration for building
33486 `cpuid.mod'.
33487 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
33488 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
33489 variables.
33490 Include `conf/i386.mk'.
33491 * conf/i386-efi.rmk: Likewise.
33492 * conf/x86_64-efi.rmk: Likewise.
33493 * conf/i386-coreboot.rmk: Likewise.
33494 * conf/i386-ieee1275.rmk: Likewise.
33495
33496 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
33497
33498 Based on patch created by Colin D Bennett <colin@gibibit.com>.
33499 Adds optimization support for BGR based modes.
33500
33501 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
33502 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
33503 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
33504 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
33505 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
33506 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
33507 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
33508 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
33509 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
33510 (grub_video_i386_vbeblit_index_index): Likewise.
33511 (grub_video_i386_vbeblit_replace_directN): Added.
33512 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
33513 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
33514 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
33515 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
33516 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
33517 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
33518 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
33519 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
33520 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
33521 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
33522 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
33523 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
33524 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
33525
33526 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
33527 (grub_video_i386_vbefill_R8G8B8): Likewise.
33528 (grub_video_i386_vbefill_index): Likewise.
33529 (grub_video_i386_vbefill_direct32): Added.
33530 (grub_video_i386_vbefill_direct24): Likewise.
33531 (grub_video_i386_vbefill_direct16): Likewise.
33532 (grub_video_i386_vbefill_direct8): Likewise.
33533
33534 * include/grub/video.h (grub_video_blit_format): Removed
33535 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
33536 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
33537 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
33538 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
33539 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
33540
33541 * video/video.c (grub_video_get_blit_format): Updated to use new
33542 blit formats. Added handling for 16 bit color modes.
33543
33544 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
33545 fillers.
33546 (common_blitter): Updated to use new blitters.
33547
33548 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
33549 Removed.
33550 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
33551 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
33552 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
33553 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
33554 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
33555 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
33556 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
33557 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
33558 (grub_video_i386_vbeblit_index_index): Likewise.
33559 (grub_video_i386_vbeblit_replace_directN): Added.
33560 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
33561 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
33562 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
33563 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
33564 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
33565 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
33566 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
33567 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
33568 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
33569 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
33570 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
33571 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
33572 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
33573
33574 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
33575 (grub_video_i386_vbefill_R8G8B8): Likewise.
33576 (grub_video_i386_vbefill_index): Likewise.
33577 (grub_video_i386_vbefill_direct32): Added.
33578 (grub_video_i386_vbefill_direct24): Likewise.
33579 (grub_video_i386_vbefill_direct16): Likewise.
33580 (grub_video_i386_vbefill_direct8): Likewise.
33581
33582 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
33583 types.
33584
33585 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
33586 types.
33587
33588 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
33589 blitter types.
33590
33591 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
33592 types.
33593
33594 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
33595
33596 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
33597 RAID level 1.
33598
33599 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
33600
33601 * fs/iso9660.c (grub_iso9660_date): New structure.
33602 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
33603 (grub_iso9660_uuid): New function.
33604
33605 2008-09-05 Bean <bean123ch@gmail.com>
33606
33607 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
33608
33609 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
33610 insensitive bit for names in Win32 and Win32 & DOS namespace.
33611
33612 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
33613
33614 * include/grub/types.h (LONG_MAX): Likewise.
33615
33616 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
33617
33618 * util/getroot.c: Include <config.h>.
33619 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
33620 add support for /dev/md/N devices and handle LVM double dash escaping.
33621
33622 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
33623
33624 * config.guess: Update to latest version from config git.
33625 * config.sub: Likewise.
33626
33627 2008-09-03 Robert Millan <rmh@aybabtu.com>
33628
33629 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
33630 `disk->total_sectors'.
33631
33632 2008-09-01 Colin D Bennett <colin@gibibit.com>
33633
33634 * include/grub/normal.h: Fixed incorrect comment for
33635 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
33636
33637 2008-09-01 Colin D Bennett <colin@gibibit.com>
33638
33639 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
33640 values with defines.
33641
33642 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
33643 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
33644 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
33645 (GRUB_VBE_MODEATTR_COLOR): Likewise.
33646 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
33647 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
33648 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
33649 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
33650 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
33651 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
33652 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
33653 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
33654 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
33655 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
33656 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
33657 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
33658 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
33659 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
33660 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
33661
33662 2008-08-31 Robert Millan <rmh@aybabtu.com>
33663
33664 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
33665 declaration.
33666 (grub_multiboot): Fix a few warnings.
33667
33668 2008-08-31 Robert Millan <rmh@aybabtu.com>
33669
33670 * loader/i386/pc/multiboot.c: Update comment not to say that
33671 boot_device support is unimplemented.
33672
33673 2008-08-31 Robert Millan <rmh@aybabtu.com>
33674
33675 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
33676 or memory map support are unimplemented.
33677
33678 2008-08-31 Colin D Bennett <colin@gibibit.com>
33679
33680 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
33681
33682 2008-08-31 Colin D Bennett <colin@gibibit.com>
33683
33684 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
33685 total video memory in 'vbeinfo' output; show color format details for
33686 each video mode.
33687
33688 2008-08-30 Pavel Roskin <proski@gnu.org>
33689
33690 * util/genmoddep.c: Remove for real this time.
33691 * DISTLIST: Remove util/genmoddep.c.
33692
33693 2008-08-30 Robert Millan <rmh@aybabtu.com>
33694
33695 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
33696 as required by Multiboot spec (it was already 4-byte aligned, but
33697 only by chance).
33698
33699 2008-08-29 Pavel Roskin <proski@gnu.org>
33700
33701 * kern/powerpc/ieee1275/crt0.S: Rename to ...
33702 * kern/powerpc/ieee1275/startup.S: ... this.
33703 * conf/powerpc-ieee1275.rmk: Adjust for the above.
33704 * DISTLIST: Likewise.
33705
33706 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
33707 grub/cpu/kernel.h. Add start label for consistency with other
33708 platforms. Add grub_prefix immediately after start. Add jump
33709 to the code after grub_prefix.
33710 * include/grub/powerpc/kernel.h: Provide valid values for
33711 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
33712
33713 2008-08-29 Bean <bean123ch@gmail.com>
33714
33715 * configure.ac: Change host_os to cygwin for mingw.
33716 (asprintf): New check for function.
33717
33718 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
33719 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
33720
33721 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
33722 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
33723 sync, sleep and grub_util_get_disk_size for mingw.
33724
33725 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
33726 to get size in mingw.
33727 (open_device): Use flag O_BINARY if it's defined.
33728 (find_root_device): Add dummy code for mingw.
33729
33730 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
33731 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
33732 (get_scsi_disk_name): Return 0 for mingw.
33733
33734 * util/hostfs.c: #include <grub/util/misc.h>.
33735 (grub_hostfs_open): Use "rb" flag to open file, use
33736 grub_util_get_disk_size to get disk size for mingw.
33737
33738 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
33739 (asprintf): New function if HAVE_ASPRINTF is not set.
33740 (sync): New function for mingw.
33741 (sleep): Likewise.
33742 (grub_util_get_disk_size): Likewise.
33743
33744 2008-08-28 Pavel Roskin <proski@gnu.org>
33745
33746 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
33747 kern/time.c.
33748
33749 2008-08-28 Robert Millan <rmh@aybabtu.com>
33750
33751 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
33752
33753 2008-08-28 Robert Millan <rmh@aybabtu.com>
33754
33755 Change find_grub_drive() syntax so it doesn't prevent it from
33756 detecting NULL names as errors.
33757
33758 * util/biosdisk.c (find_grub_drive): Move free slot search code
33759 from here ...
33760 (find_free_slot): ... to here.
33761 (read_device_map): Use find_free_slot() to search for free slots.
33762
33763 2008-08-27 Marco Gerards <marco@gnu.org>
33764
33765 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
33766 (scsi_mod_SOURCES): New variable.
33767 (scsi_mod_CFLAGS): Likewise
33768 (scsi_mod_LDFLAGS): Likewise.
33769
33770 * disk/scsi.c: New file.
33771
33772 * include/grub/scsi.h: Likewise.
33773
33774 * include/grub/scsicmd.h: Likewise.
33775
33776 * disk/ata.c: Include <grub/scsi.h>.
33777 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
33778 instead.
33779 (grub_ata_iterate): Skip ATAPI devices.
33780 (grub_ata_open): Only handle ATAPI devices.
33781 (struct grub_atapi_read): Removed.
33782 (grub_atapi_readsector): Likewise.
33783 (grub_ata_read): No longer handle ATAPI devices.
33784 (grub_ata_write): Likewise.
33785 (grub_atapi_iterate): New function.
33786 (grub_atapi_read): Likewise.
33787 (grub_atapi_write): Likewise.
33788 (grub_atapi_open): Likewise.
33789 (grub_atapi_close): Likewise.
33790 (grub_atapi_dev): New variable.
33791 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
33792 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
33793
33794 * include/grub/disk.h (enum grub_disk_dev_id): Add
33795 `GRUB_DISK_DEVICE_SCSI_ID'.
33796
33797 2008-08-26 Robert Millan <rmh@aybabtu.com>
33798
33799 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
33800 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
33801 descriptive.
33802
33803 2008-08-23 Bean <bean123ch@gmail.com>
33804
33805 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
33806 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
33807 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
33808 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
33809 dm_nv.mod.
33810 (raid5rec_mod_SOURCES): New macro.
33811 (raid5rec_mod_CFLAGS): Likewise.
33812 (raid5rec_mod_LDFLAGS): Likewise.
33813 (raid6rec_mod_SOURCES): Likewise.
33814 (raid6rec_mod_CFLAGS): Likewise.
33815 (raid6rec_mod_LDFLAGS): Likewise.
33816 (mdraid_mod_SOURCES): Likewise.
33817 (mdraid_mod_CFLAGS): Likewise.
33818 (mdraid_mod_LDFLAGS): Likewise.
33819 (dm_nv_mod_SOURCES): Likewise.
33820 (dm_nv_mod_CFLAGS): Likewise.
33821 (dm_nv_mod_LDFLAGS): Likewise.
33822
33823 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
33824 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
33825 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
33826
33827 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
33828 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
33829
33830 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33831
33832 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33833
33834 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33835
33836 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33837
33838 * disk/raid5_recover.c: New file.
33839
33840 * disk/raid6_recover.c: Likewise.
33841
33842 * disk/mdraid_linux.c: Likewise.
33843
33844 * disk/dmraid_nvidia.c: Likewise.
33845
33846 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
33847 ULONG_MAX.
33848
33849 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
33850 calculate the size of raid device.
33851 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
33852 different layout of raid5.
33853 (grub_raid_scan_device): Remove code specific to mdraid.
33854 (grub_raid_list): New variable.
33855 (free_array): New function.
33856 (grub_raid_register): Likewise.
33857 (grub_raid_unregister): Likewise.
33858 (grub_raid_rescan): Likewise.
33859 (GRUB_MOD_INIT): Don't iterate device here.
33860 (GRUB_MOD_FINI): Use free_array to release resource.
33861
33862 * include/grub/raid.h: Remove macro and structure specific to mdraid.
33863 (grub_raid5_recover_func_t): New function variable type.
33864 (grub_raid6_recover_func_t): Likewise.
33865 (grub_raid5_recover_func): New variable.
33866 (grub_raid6_recover_func): Likewise.
33867 (grub_raid_register): New function.
33868 (grub_raid_unregister): Likewise.
33869 (grub_raid_rescan): Likewise.
33870 (grub_raid_block_xor): Likewise.
33871
33872 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
33873 (CMD_CRC): New macro.
33874 (part): Removed.
33875 (read_file): Handle device as well as file.
33876 (cmd_crc): New function.
33877 (fstest): Handle multiple disks.
33878 (options): Remove part, raw and long, add root and diskcount.
33879 (usage): Add crc, remove -p, -r, -l, add -r and -c.
33880 (main): Find the first non option entry and ignore subsequent options,
33881 add handling for the new options, support multiple disks.
33882
33883 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
33884
33885 2008-08-23 Bean <bean123ch@gmail.com>
33886
33887 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
33888
33889 * genfslist.sh: Ignore kernel.mod.
33890
33891 * genpartmaplist.sh: Likewise.
33892
33893 2008-08-23 Robert Millan <rmh@aybabtu.com>
33894
33895 * util/getroot.c (find_root_device): Skip anything that starts with
33896 a dot, not just directories. This avoids things like /dev/.tmp.md0.
33897
33898 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
33899
33900 * util/update-grub.in (GRUB_GFXMODE): Export variable.
33901 * util/grub.d/00_header.in: Allow the administrator to change default
33902 gfxmode via ${GRUB_GFXMODE}.
33903
33904 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
33905
33906 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
33907
33908 2008-08-21 Robert Millan <rmh@aybabtu.com>
33909
33910 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
33911 loader.
33912 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
33913 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
33914
33915 2008-08-20 Carles Pina i Estany <carles@pina.cat>
33916
33917 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
33918 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
33919
33920 2008-08-19 Robert Millan <rmh@aybabtu.com>
33921
33922 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
33923 (struct grub_virtual_screen): Remove `cursor_color'.
33924 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
33925 initialization.
33926 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
33927
33928 2008-08-18 Robert Millan <rmh@aybabtu.com>
33929
33930 Unify (identical) linux_normal.c files.
33931 * loader/i386/efi/linux_normal.c: Move from here ...
33932 * loader/linux_normal.c: ... to here. Update all users.
33933 * loader/i386/pc/linux_normal.c: Delete. Update all users.
33934 * loader/i386/ieee1275/linux_normal.c: Likewise.
33935
33936 2008-08-18 Robert Millan <rmh@aybabtu.com>
33937
33938 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
33939 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
33940 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
33941 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
33942 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
33943 New macros.
33944 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
33945 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
33946 (GRUB_LINUX_CL_END_OFFSET): ... to here.
33947 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
33948 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
33949 (GRUB_EFI_CL_END_OFFSET): Rename to ...
33950 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
33951 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
33952 Initialize `params->video_cursor_x' and `params->video_cursor_y'
33953 portably using grub_getxy().
33954 Replace `-EFI' with `-bzImage' in boot message.
33955
33956 2008-08-17 Robert Millan <rmh@aybabtu.com>
33957
33958 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
33959
33960 2008-08-17 Robert Millan <rmh@aybabtu.com>
33961
33962 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
33963
33964 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
33965 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
33966 (grub_machine_mmap_iterate): New function declaration.
33967 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
33968 structure.
33969 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
33970 macros.
33971
33972 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
33973 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
33974 Move e820 parsing from here ...
33975 * kern/i386/pc/mmap.c: New file.
33976 (grub_machine_mmap_iterate): ... to here.
33977
33978 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
33979 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
33980 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
33981 (grub_available_iterate): Redeclare to return `void', and redeclare
33982 its hook to use grub_uint64_t as addr and size parameters, and rename
33983 to ...
33984 (grub_machine_mmap_iterate): ... this. Update all users.
33985
33986 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
33987 to make it more readable. Rename to ...
33988 (grub_machine_mmap_iterate): ... this.
33989
33990 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
33991 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
33992 (grub_multiboot): Allocate an extra region after the payload, and fill
33993 it with a Multiboot memory map. Adjust a.out loader to calculate size
33994 with the extra space.
33995 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
33996 with the extra space.
33997
33998 2008-08-17 Carles Pina i Estany <carles@pina.cat>
33999
34000 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
34001
34002 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
34003
34004 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
34005 mdate-sh to the list `find' searches for.
34006 * DISTLIST: Regenerated.
34007
34008 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
34009
34010 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
34011 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
34012 genmoddep.awk, gensymlist.sh.in.
34013 (DISTDIRS): Add bus, docs, hook, lib.
34014 * DISTLIST: Regenerated.
34015 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
34016
34017 2008-08-16 Robert Millan <rmh@aybabtu.com>
34018
34019 * disk/raid.c (grub_raid_init): Handle/report errors set by
34020 grub_device_iterate().
34021 * disk/lvm.c (grub_lvm_init): Likewise.
34022
34023 2008-08-15 Bean <bean123ch@gmail.com>
34024
34025 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34026 and datehook.mod.
34027 (datetime_mod_SOURCES): New macro.
34028 (datetime_mod_CFLAGS): Likewise.
34029 (datetime_mod_LDFLAGS): Likewise.
34030 (date_mod_SOURCES): Likewise.
34031 (date_mod_CFLAGS): Likewise.
34032 (date_mod_LDFLAGS): Likewise.
34033 (datehook_mod_SOURCES): Likewise.
34034 (datehook_mod_CFLAGS): Likewise.
34035 (datehook_mod_LDFLAGS): Likewise.
34036
34037 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34038 and datehook.mod.
34039 (datetime_mod_SOURCES): New macro.
34040 (datetime_mod_CFLAGS): Likewise.
34041 (datetime_mod_LDFLAGS): Likewise.
34042 (date_mod_SOURCES): Likewise.
34043 (date_mod_CFLAGS): Likewise.
34044 (date_mod_LDFLAGS): Likewise.
34045 (datehook_mod_SOURCES): Likewise.
34046 (datehook_mod_CFLAGS): Likewise.
34047 (datehook_mod_LDFLAGS): Likewise.
34048
34049 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34050 and datehook.mod.
34051 (datetime_mod_SOURCES): New macro.
34052 (datetime_mod_CFLAGS): Likewise.
34053 (datetime_mod_LDFLAGS): Likewise.
34054 (date_mod_SOURCES): Likewise.
34055 (date_mod_CFLAGS): Likewise.
34056 (date_mod_LDFLAGS): Likewise.
34057 (datehook_mod_SOURCES): Likewise.
34058 (datehook_mod_CFLAGS): Likewise.
34059 (datehook_mod_LDFLAGS): Likewise.
34060
34061 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34062 and datehook.mod.
34063 (datetime_mod_SOURCES): New macro.
34064 (datetime_mod_CFLAGS): Likewise.
34065 (datetime_mod_LDFLAGS): Likewise.
34066 (date_mod_SOURCES): Likewise.
34067 (date_mod_CFLAGS): Likewise.
34068 (date_mod_LDFLAGS): Likewise.
34069 (datehook_mod_SOURCES): Likewise.
34070 (datehook_mod_CFLAGS): Likewise.
34071 (datehook_mod_LDFLAGS): Likewise.
34072
34073 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34074 and datehook.mod.
34075 (datetime_mod_SOURCES): New macro.
34076 (datetime_mod_CFLAGS): Likewise.
34077 (datetime_mod_LDFLAGS): Likewise.
34078 (date_mod_SOURCES): Likewise.
34079 (date_mod_CFLAGS): Likewise.
34080 (date_mod_LDFLAGS): Likewise.
34081 (datehook_mod_SOURCES): Likewise.
34082 (datehook_mod_CFLAGS): Likewise.
34083 (datehook_mod_LDFLAGS): Likewise.
34084
34085 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
34086
34087 * commands/date.c: New file.
34088
34089 * hook/datehook.c: Likewise.
34090
34091 * include/grub/lib/datetime.h: Likewise.
34092
34093 * include/grub/i386/cmos.h: Likewise.
34094
34095 * lib/datetime.c: Likewise.
34096
34097 * lib/i386/datetime.c: Likewise.
34098
34099 * lib/efi/datetime.c: Likewise.
34100
34101 2008-08-14 Robert Millan <rmh@aybabtu.com>
34102
34103 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
34104 (grub_mkelfimage_SOURCES): New variable.
34105 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
34106
34107 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
34108 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
34109 * conf/powerpc-ieee1275.rmk: Likewise.
34110 * conf/i386-ieee1275.rmk: Likewise.
34111
34112 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
34113 * kern/i386/coreboot/init.c: Likewise.
34114
34115 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
34116 with `<grub/cpu/kernel.h>'.
34117 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
34118 to ...
34119 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
34120 * kern/i386/coreboot/startup.S: Likewise.
34121
34122 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
34123 (GRUB_MOD_GAP): Remove.
34124 * include/grub/powerpc/kernel.h: New file.
34125 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
34126 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
34127 * include/grub/i386/kernel.h: New file.
34128 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
34129 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
34130 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
34131
34132 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
34133 `grub-mkelfimage'.
34134 Use --directory when invoking grub_mkimage.
34135
34136 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
34137 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
34138 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
34139 and GRUB_KERNEL_CPU_PREFIX.
34140
34141 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
34142
34143 * include/grub/err.h (grub_err_printf): New function prototype.
34144 * util/misc.c (grub_err_printf): New function.
34145 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
34146 grub_printf.
34147 * kern/err.c (grub_print_error): Use grub_err_printf.
34148
34149 2008-08-13 Robert Millan <rmh@aybabtu.com>
34150
34151 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
34152
34153 2008-08-13 Robert Millan <rmh@aybabtu.com>
34154
34155 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
34156 boot entry.
34157
34158 2008-08-12 Robert Millan <rmh@aybabtu.com>
34159
34160 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
34161 of the relocation code from here ...
34162 (grub_multiboot): ... to here.
34163 (forward_relocator, backward_relocator): Move from here ...
34164 * kern/i386/loader.S (grub_multiboot_forward_relocator)
34165 (grub_multiboot_backward_relocator): ... to here.
34166 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
34167 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
34168 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
34169 (grub_multiboot_forward_relocator_end)
34170 (grub_multiboot_backward_relocator)
34171 (grub_multiboot_backward_relocator_end): New variables.
34172
34173 2008-08-12 Bean <bean123ch@gmail.com>
34174
34175 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
34176
34177 2008-08-11 Robert Millan <rmh@aybabtu.com>
34178
34179 * kern/i386/linuxbios/startup.S: Move from here ...
34180 * kern/i386/coreboot/startup.S: ... to here.
34181
34182 * kern/i386/linuxbios/init.c: Move from here ...
34183 * kern/i386/coreboot/init.c: ... to here.
34184
34185 * kern/i386/linuxbios/table.c: Move from here ...
34186 * kern/i386/coreboot/mmap.c: ... to here.
34187
34188 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
34189
34190 2008-08-11 Robert Millan <rmh@aybabtu.com>
34191
34192 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
34193 errors. Leave it to the upper layer to handle them.
34194
34195 2008-08-09 Christian Franke <franke@computer.org>
34196
34197 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
34198 * conf/common.rmk: Install `grub-pe2elf' only if requested.
34199 Install `grub.d/10_windows' only on Cygwin.
34200 * configure.ac: Add subst of `target_os'.
34201 Check `target_os' also before setting TARGET_OBJ2ELF.
34202 Add `--enable-grub-pe2elf'.
34203
34204 2008-08-08 Robert Millan <rmh@aybabtu.com>
34205
34206 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
34207 (grub_last_time): Change type to grub_uint64_t.
34208 (grub_disk_open): Migrate code from to using grub_get_time_ms().
34209 (grub_disk_close): Likewise.
34210
34211 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
34212 (run_menu): Migrate code from to using grub_get_time_ms().
34213
34214 * util/misc.c (grub_get_time_ms): New function.
34215
34216 2008-08-08 Marco Gerards <marco@gnu.org>
34217
34218 * disk/ata.c (grub_ata_regget): Change return type to
34219 `grub_uint8_t'.
34220 (grub_ata_regget2): Likewise.
34221 (grub_ata_wait_status): New function.
34222 (grub_ata_wait_busy): Removed function, updated all users to use
34223 `grub_ata_wait_status'.
34224 (grub_ata_wait_drq): Likewise.
34225 (grub_ata_cmd): New function.
34226 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
34227 error handling.
34228 (grub_ata_pio_write): Add error handling.
34229 (grub_atapi_identify): Likewise.
34230 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
34231 handling.
34232 (grub_ata_identify): Use `grub_ata_cmd' and improve error
34233 handling. Actually use the detected registers. Reorder the
34234 detection logic such that it is easier to read.
34235 (grub_ata_pciinit): Do not assign the same ID to each controller.
34236 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
34237 handling.
34238 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
34239
34240 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
34241
34242 2008-08-08 Marco Gerards <marco@gnu.org>
34243
34244 * NEWS: Update.
34245
34246 2008-08-07 Bean <bean123ch@gmail.com>
34247
34248 * include/grub/x86_64/pci.h: New file.
34249
34250 2008-08-07 Christian Franke <franke@computer.org>
34251
34252 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
34253 (TIMER2_GATE): Likewise.
34254 (grub_pit_wait): Add enable/disable of the timer2 gate
34255 bit of port 0x61. This fixes a possible infinite loop.
34256
34257 2008-08-07 Bean <bean123ch@gmail.com>
34258
34259 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
34260 kern/i386/tsc.c and kern/i386/pit.c.
34261
34262 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
34263 x86_64 platform.
34264
34265 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
34266 <grub/i386/tsc.h>.
34267
34268 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
34269
34270 2008-08-07 Bean <bean123ch@gmail.com>
34271
34272 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
34273
34274 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
34275
34276 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
34277 multiple inclusion. Add #include <grub/types.h>.
34278
34279 2008-08-06 Christian Franke <franke@computer.org>
34280
34281 * conf/common.rmk: Build and install `10_windows'.
34282 * util/grub.d/10_windows.in: New script.
34283
34284 2008-08-06 Pavel Roskin <proski@gnu.org>
34285
34286 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
34287
34288 2008-08-06 Robert Millan <rmh@aybabtu.com>
34289
34290 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
34291 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
34292
34293 2008-08-06 Bean <bean123ch@gmail.com>
34294
34295 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
34296 (grub_pxefs_fs_int): Remove dummy definition.
34297 (grub_pxefs_open): Use data->block_size to store the current block
34298 size setting.
34299 (grub_pxefs_read): Use block size stored in data->block_size. As the
34300 value of grub_pxe_blksize can be changed after the file is opened.
34301
34302 2008-08-06 Bean <bean123ch@gmail.com>
34303
34304 * fs/i386/pc/pxe.c (curr_file): new variable.
34305 (grub_pxefs_open): Simply the handling of pxe file system. Don't
34306 require the dummy internal file system anymore.
34307 (grub_pxefs_read): Removed.
34308 (grub_pxefs_close): Likewise.
34309 (grub_pxefs_fs_int): Likewise.
34310 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
34311 connection when we switch file.
34312 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
34313
34314 2008-08-06 Robert Millan <rmh@aybabtu.com>
34315
34316 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
34317 `halt.mod'.
34318 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
34319 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
34320
34321 * kern/i386/halt.c: New file.
34322 * kern/i386/reboot.c: Likewise.
34323 * include/grub/i386/reboot.h: Likewise.
34324 * include/grub/i386/halt.h: Likewise.
34325
34326 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
34327 Include `<grub/cpu/halt.h>'.
34328 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
34329 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
34330
34331 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
34332 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
34333 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
34334 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
34335 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
34336 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
34337 from here ...
34338 * include/grub/i386/at_keyboard.h: ... to here.
34339
34340 2008-08-05 Robert Millan <rmh@aybabtu.com>
34341
34342 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
34343 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
34344 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
34345 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
34346 `kern/generic/millisleep.c'.
34347
34348 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
34349 instead of grub_get_rtc().
34350 (grub_tsc_init): Initialize `tsc_boot_time'.
34351
34352 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
34353 (grub_machine_init): Use grub_tsc_init() rather than
34354 installing an RTC-based handler via grub_install_get_time_ms().
34355
34356 * kern/i386/pit.c: New file.
34357 * include/grub/i386/pit.h: Likewise.
34358
34359 2008-08-05 Bean <bean123ch@gmail.com>
34360
34361 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
34362
34363 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
34364 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
34365 (pxe_mod_SOURCES): New macro.
34366 (pxe_mod_CFLAGS): Likewise.
34367 (pxe_mod_LDFLAGS): Likewise.
34368 (pxecmd_mod_SOURCES): Likewise.
34369 (pxecmd_mod_CFLAGS): Likewise.
34370 (pxecmd_mod_LDFLAGS): Likewise.
34371
34372 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
34373 (grub_pxe_call): Likewise.
34374
34375 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
34376
34377 * commands/i386/pc/pxecmd.c: New file.
34378
34379 * fs/i386/pc/pxe.c: Likewise.
34380
34381 * include/grub/i386/pc/pxe.h: Likewise.
34382
34383 2008-08-05 Bean <bean123ch@gmail.com>
34384
34385 * util/console.c (grub_console_cur_color): New variable.
34386 (grub_console_standard_color): Likewise.
34387 (grub_console_normal_color): Likewise.
34388 (grub_console_highlight_color): Likewise.
34389 (color_map): Likewise.
34390 (use_color): Likewise.
34391 (NUM_COLORS): New macro.
34392 (grub_ncurses_setcolorstate): Handle color properly.
34393 (grub_ncurses_setcolor): Don't change color here, just remember the
34394 settings, color will be set in grub_ncurses_setcolorstate.
34395 (grub_ncurses_getcolor): New function.
34396 (grub_ncurses_init): Initialize color pairs.
34397 (grub_ncurses_term): New member grub_ncurses_getcolor.
34398
34399 2008-08-05 Colin D Bennett <colin@gibibit.com>
34400
34401 High resolution timer support. Implemented for x86 CPUs using TSC.
34402 Extracted generic grub_millisleep() so it's linked in only as needed.
34403 This requires a Pentium compatible CPU; if the RDTSC instruction is
34404 not supported, then it falls back on the generic grub_get_time_ms()
34405 implementation that uses the machine's RTC.
34406
34407 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
34408 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
34409 `kern/generic/millisleep.c'.
34410
34411 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
34412 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
34413
34414 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
34415 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
34416
34417 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
34418
34419 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
34420 `kern/generic/millisleep.c'.
34421
34422 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
34423
34424 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
34425
34426 * kern/generic/rtc_get_time_ms.c: New file.
34427
34428 * kern/generic/millisleep.c: New file.
34429
34430 * kern/misc.c: Don't include
34431 <kern/time.h> anymore.
34432 (grub_millisleep_generic): Removed.
34433
34434 * commands/sleep.c (grub_interruptible_millisleep): Uses
34435 grub_get_time_ms() instead of grub_get_rtc().
34436
34437 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
34438 function.
34439 (grub_cpu_is_cpuid_supported): New inline function.
34440 (grub_cpu_is_tsc_supported): New inline function.
34441 (grub_tsc_init): New function prototype.
34442 (grub_tsc_get_time_ms): New function prototype.
34443
34444 * kern/i386/tsc.c (grub_get_time_ms): New file.
34445
34446 * include/grub/time.h: Include <grub/types.h.
34447 (grub_millisleep_generic): Removed.
34448 (grub_get_time_ms): New prototype.
34449 (grub_install_get_time_ms): New prototype.
34450 (grub_rtc_get_time_ms): New prototype.
34451
34452 * kern/time.c (grub_get_time_ms): New function.
34453 (grub_install_get_time_ms): New function.
34454
34455 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
34456 <grub/time.h> anymore.
34457 (grub_millisleep): Removed.
34458 (grub_machine_init): Call grub_tsc_init.
34459
34460 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
34461 get_time_ms() implementation.
34462
34463 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
34464 (ieee1275_get_time_ms): New function.
34465 (grub_machine_init): Install get_time_ms() implementation.
34466
34467 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
34468 (grub_machine_init): Call grub_tsc_init().
34469 (grub_millisleep): Removed.
34470
34471 * kern/ieee1275/init.c (grub_millisleep): Removed.
34472 (grub_machine_init): Install ieee1275_get_time_ms()
34473 implementation.
34474 (ieee1275_get_time_ms): New function.
34475 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
34476 real work.
34477
34478 2008-08-05 Marco Gerards <marco@gnu.org>
34479
34480 * disk/ata.c: Include <grub/pci.h>.
34481 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
34482 (grub_ata_initialize): Rewritten.
34483 (grub_ata_device_initialize): New function.
34484
34485 2008-08-04 Pavel Roskin <proski@gnu.org>
34486
34487 * kern/main.c: Include grub/mm.h.
34488
34489 2008-08-04 Robert Millan <rmh@aybabtu.com>
34490
34491 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
34492 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
34493 corruption problem).
34494
34495 2008-08-04 Robert Millan <rmh@aybabtu.com>
34496
34497 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
34498 warnings introduced in my last commit.
34499
34500 2008-08-03 Robert Millan <rmh@aybabtu.com>
34501
34502 Make PCI available on all i386 architectures.
34503
34504 * include/grub/i386/pc/pci.h: Move from here ...
34505 * include/grub/i386/pci.h: ... to here.
34506
34507 * include/grub/i386/pc/pci.h: Remove.
34508 * include/grub/i386/efi/pci.h: Remove.
34509 * include/grub/x86_64/efi/pci.h: Remove.
34510
34511 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
34512 `<grub/cpu/pci.h>'.
34513
34514 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
34515 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
34516 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
34517
34518 * conf/i386-ieee1275.rmk: Likewise.
34519
34520 2008-08-03 Robert Millan <rmh@aybabtu.com>
34521
34522 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
34523 (grub_console_setcursor): Make it possible to set cursor off.
34524
34525 2008-08-03 Robert Millan <rmh@aybabtu.com>
34526
34527 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
34528 of modules instead of assuming which platform provides what.
34529 * util/update-grub.in: Likewise.
34530
34531 2008-08-03 Robert Millan <rmh@aybabtu.com>
34532
34533 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
34534 instead of `grub_install_dos_part' to determine whether a drive needs
34535 to be prepended to prefix (`grub_install_dos_part' is not reliable,
34536 because it can be overridden when loading GRUB via Multiboot).
34537
34538 2008-08-02 Robert Millan <rmh@aybabtu.com>
34539
34540 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
34541
34542 2008-08-02 Robert Millan <rmh@aybabtu.com>
34543
34544 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
34545 of informational grub_dprintf() calls.
34546
34547 2008-08-02 Robert Millan <rmh@aybabtu.com>
34548
34549 * disk/memdisk.c (memdisk_size): Don't initialize.
34550 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
34551
34552 * include/grub/i386/pc/kernel.h
34553 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
34554 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
34555 (grub_memdisk_image_size, grub_arch_memdisk_addr)
34556 (grub_arch_memdisk_size): Remove.
34557
34558 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
34559 field (was only used to transfer a constant). Add `type' field to
34560 support multiple module types.
34561 (grub_module_iterate): New function.
34562
34563 * kern/device.c (grub_device_open): Do not hide error messages
34564 when grub_disk_open() fails. Use grub_print_error() instead.
34565
34566 * kern/i386/pc/init.c (grub_arch_modules_addr)
34567 (grub_arch_memdisk_size): Remove functions.
34568 (grub_arch_modules_addr): Return the module address in high memory
34569 (now that it isn't copied anymore).
34570
34571 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
34572 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
34573 decompression routine (grub_total_module_size already includes that
34574 now). Don't copy modules back to low memory.
34575
34576 * kern/main.c: Include `<grub/mm.h>'.
34577 (grub_load_modules): Split out (and use) ...
34578 (grub_module_iterate): ... this function, which iterates through
34579 module objects and runs a hook.
34580 Comment out grub_mm_init_region() call, as it would cause non-ELF
34581 modules to be overwritten.
34582
34583 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
34584 the memdisk image in its own region, make it part of the module list.
34585 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
34586 (main): Parse --memdisk|-m option, and pass user-provided path as
34587 parameter to generate_image().
34588 (add_segments): Pass `memdisk_path' down to load_modules().
34589 (load_modules): Embed memdisk image in module section when requested.
34590 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
34591 `header.type' instead of `header.offset'.
34592
34593 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
34594 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
34595 (memdisk_mod_LDFLAGS): New variables.
34596 * conf/i386-coreboot.rmk: Likewise.
34597 * conf/i386-ieee1275.rmk: Likewise.
34598
34599 2008-08-02 Robert Millan <rmh@aybabtu.com>
34600
34601 * loader/i386/pc/multiboot.c (playground, forward_relocator)
34602 (backward_relocator): New variables. Used to allocate and relocate
34603 the payload, respectively.
34604 (grub_multiboot_load_elf32): Load into heap instead of requested
34605 address, install the appropriate relocator code in each bound of
34606 the payload, and set the entry point such that
34607 grub_multiboot_real_boot() will jump to one of them.
34608
34609 * kern/i386/loader.S (grub_multiboot_payload_size)
34610 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
34611 (grub_multiboot_payload_entry_offset): New variables.
34612 (grub_multiboot_real_boot): Set cpu context to what the relocator
34613 expects, and jump to the relocator instead of the payload.
34614
34615 * include/grub/i386/loader.h (grub_multiboot_payload_size)
34616 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
34617 (grub_multiboot_payload_entry_offset): Export.
34618
34619 2008-08-01 Bean <bean123ch@gmail.com>
34620
34621 * normal/menu_entry.c (editor_getline): Don't return the original
34622 string as result, as it will be released by lexer once it has done
34623 using it.
34624
34625 2008-08-01 Robert Millan <rmh@aybabtu.com>
34626
34627 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
34628 within menuentries, not before them.
34629 util/grub.d/10_hurd.in: Likewise.
34630
34631 2008-08-01 Bean <bean123ch@gmail.com>
34632
34633 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
34634 (bufio_mod_SOURCES): New macro.
34635 (bufio_mod_CFLAGS): Likewise.
34636 (bufio_mod_LDFLAGS): Likewise.
34637
34638 * include/grub/bufio.h: New file.
34639
34640 * io/bufio.c: Likewise.
34641
34642 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
34643 (grub_video_reader_png): Use grub_buffile_open to open file.
34644
34645 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
34646 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
34647
34648 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
34649 (grub_video_reader_tga): Use grub_buffile_open to open file.
34650
34651 * font/manager.c: Include <grub/bufio.h>.
34652 (add_font): Use grub_buffile_open to open file.
34653
34654 2008-07-31 Robert Millan <rmh@aybabtu.com>
34655
34656 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
34657 ELF segments, use a macro for arbitrarily accessing any of them instead
34658 of preparing a pointer that allows access to one at a time.
34659 (grub_multiboot_load_elf64): Likewise.
34660
34661 2008-07-31 Bean <bean123ch@gmail.com>
34662
34663 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
34664 GRUB_KERNEL_MACHINE_DATA_END.
34665
34666 2008-07-30 Robert Millan <rmh@aybabtu.com>
34667
34668 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
34669 Increase from 0x50 to 0x60.
34670 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
34671 use UUIDs to identify the root drive for them. If that's not
34672 possible, abort.
34673 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
34674 check, for cross-disk installs.
34675
34676 2008-07-30 Robert Millan <rmh@aybabtu.com>
34677
34678 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
34679 is non-empty, use it to set the `prefix' environment variable instead
34680 of the usual approach.
34681 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
34682 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
34683 environment variable instead of dummy make_install_device().
34684
34685 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
34686 (start): Insert a data section, with `grub_prefix' variable.
34687 * kern/i386/linuxbios/startup.S: Likewise.
34688
34689 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
34690 New variable reference.
34691 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
34692 New macro. Defines offset of `grub_prefix' within startup.S (relative
34693 to `start').
34694 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
34695 section within startup.S (relative to `start').
34696 * include/grub/i386/coreboot/kernel.h: Likewise.
34697
34698 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
34699 Overwrite grub_prefix with its contents, at the beginning of the
34700 first segment.
34701 (main): Understand -p|--prefix.
34702
34703 2008-07-30 Robert Millan <rmh@aybabtu.com>
34704
34705 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
34706
34707 2008-07-30 Robert Millan <rmh@aybabtu.com>
34708
34709 * term/i386/pc/vga_text.c (grub_console_cls): Use
34710 grub_console_gotoxy() to go back to beginning of the screen.
34711 Found by Patrick Georgi <patrick.georgi@coresystems.de>
34712
34713 2008-07-29 Christian Franke <franke@computer.org>
34714
34715 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
34716 Add conversion of emulated mount points on Cygwin.
34717
34718 2008-07-29 Christian Franke <franke@computer.org>
34719
34720 * util/update-grub.in: Add a check for admin
34721 group on Cygwin.
34722 Remove old `grub.cfg.new' before creation.
34723 Add `-f' to `mv' to handle the different filesystem
34724 semantics of Windows.
34725
34726 2008-07-29 Bean <bean123ch@gmail.com>
34727
34728 * normal/main.c (get_line): Fix buffer overflow bug.
34729
34730 2008-07-28 Robert Millan <rmh@aybabtu.com>
34731
34732 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
34733 (struct grub_apple_header): New struct. Describes the layout of
34734 the partmap header.
34735 (apple_partition_map_iterate): Check the header magic as well as the
34736 partition magic (which was already being checked).
34737
34738 2008-07-28 Pavel Roskin <proski@gnu.org>
34739
34740 * genmk.rb: Add a warning to the beginning of the output that
34741 it's a generated file and should not be edited.
34742
34743 2008-07-28 Robert Millan <rmh@aybabtu.com>
34744
34745 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
34746 with the same number are found, just use issue a warning with
34747 grub_dprintf(), as this error has been reported to be non-fatal.
34748
34749 2008-07-27 Robert Millan <rmh@aybabtu.com>
34750
34751 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
34752 information.
34753
34754 2008-07-27 Bean <bean123ch@gmail.com>
34755
34756 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
34757 (grub_fat_find_dir): Ignore case when comparing filename.
34758
34759 2008-07-27 Bean <bean123ch@gmail.com>
34760
34761 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
34762 smallino, as it's more descriptive, and i8count can be confused with
34763 the other field count.
34764 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
34765 inode type.
34766
34767 2008-07-27 Bean <bean123ch@gmail.com>
34768
34769 * commands/crc.c: New file.
34770
34771 * lib/crc.c: Likewise.
34772
34773 * include/grub/lib/crc.h: Likewise.
34774
34775 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
34776
34777 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
34778 (hexdump): Move this function to ...
34779
34780 * lib/hexdump.c: ... here.
34781
34782 * include/grub/hexdump.h: Renamed to ...
34783
34784 * include/grub/lib/hexdump.h: ... this.
34785
34786 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
34787
34788 * util/grub-editenv.c: Likewise.
34789
34790 * include/envblk.h: Renamed to ...
34791
34792 * include/lib/envblk.h: ... this.
34793
34794 * util/envblk.c: Renamed to ...
34795
34796 * lib/envblk.c: ... this.
34797
34798 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
34799 lib/hexdump.c.
34800 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
34801 (pkglib_MODULES): Add crc.mod.
34802 (hexdump_mod_SOURCES): Add lib/hexdump.c.
34803 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
34804 (crc_mod_SOURCES): New macro.
34805 (crc_mod_CFLAGS): Likewise.
34806 (crc_mod_LDFLAGS): Likewise.
34807
34808 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
34809
34810 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34811
34812 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34813
34814 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34815
34816 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34817
34818 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
34819
34820 * commands/help.c: Include <grub/term.h>.
34821 (TERM_WIDTH): Removed. Updated all users.
34822
34823 2008-07-27 Pavel Roskin <proski@gnu.org>
34824
34825 * util/getroot.c (find_root_device): Rephrase a comment to avoid
34826 spurious warnings about a comment within a comment.
34827
34828 2008-07-25 Robert Millan <rmh@aybabtu.com>
34829
34830 * util/getroot.c (find_root_device): Skip devices that match
34831 /dev/dm-[0-9]. This lets the real device be found for any type of
34832 abstraction (LVM, EVMS, RAID..).
34833 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
34834 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
34835 device is found first, find_root_device() will now skip it.
34836
34837 2008-07-24 Pavel Roskin <proski@gnu.org>
34838
34839 * include/grub/types.h: Use __builtin_bswap32() and
34840 __builtin_bswap64() with gcc 4.3 and newer.
34841
34842 2008-07-24 Christian Franke <franke@computer.org>
34843
34844 * util/i386/pc/grub-install.in: If `--debug' is specified,
34845 pass `--verbose' to grub-setup.
34846 Abort script if make_system_path_relative_to_its_root() fails.
34847
34848 2008-07-24 Bean <bean123ch@gmail.com>
34849
34850 * configure.ac: Fixed a bug caused by the previous cygwin patch,
34851 variable `target_platform' should be `platform'.
34852
34853 2008-07-24 Bean <bean123ch@gmail.com>
34854
34855 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
34856 (grub_png_init_fixed_block): New function.
34857 (grub_png_decode_image_data): Handle fixed huffman code compression.
34858
34859 2008-07-24 Bean <bean123ch@gmail.com>
34860
34861 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
34862 (grub_pe2elf_SOURCES): New macro.
34863 (CLEANFILES): Add grub-pe2elf.
34864
34865 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
34866 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
34867 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
34868 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
34869 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
34870 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
34871 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
34872 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
34873 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
34874 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
34875 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
34876 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
34877 (GRUB_PE32_DT_FUNCTION): Likewise.
34878 (GRUB_PE32_REL_I386_DIR32): Likewise.
34879 (GRUB_PE32_REL_I386_REL32): Likewise.
34880 (grub_pe32_symbol): New structure.
34881 (grub_pe32_reloc): Likewise.
34882
34883 * util/grub-pe2elf.c: New file.
34884
34885 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
34886 start symbol in non pc platform.
34887
34888 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
34889
34890 The following patches are from Christian Franke.
34891
34892 * include/grub/dl.h: Remove .previous, gas supports this only
34893 for ELF format.
34894
34895 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
34896 Remove .type, gas supports this only for ELF format.
34897
34898 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
34899 nullbytes in symbol table. This fixes an infinite loop if table is
34900 zero filled.
34901
34902 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
34903 TARGET_IMG_LDFLAGS and EXEEXT.
34904
34905 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
34906 TARGET_IMG_LDFLAGS_AC.
34907 (grub_CHECK_STACK_ARG_PROBE): New function.
34908
34909 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
34910
34911 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
34912
34913 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
34914 to set TARGET_IMG_LD* accordingly.
34915 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
34916 Add call to grub_CHECK_STACK_ARG_PROBE.
34917 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
34918
34919 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
34920
34921 * genmk.rb: Add EXEEXT to CLEANFILES.
34922
34923 2008-07-23 Robert Millan <rmh@aybabtu.com>
34924
34925 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
34926 define the codes for arrows and lines used for the menu).
34927 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
34928 as well.
34929
34930 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
34931 fonts, because the latter are too slow.
34932
34933 2008-07-21 Bean <bean123ch@gmail.com>
34934
34935 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
34936 a20. Run keyboard test last, as it will cause macbook to halt.
34937
34938 2008-07-18 Pavel Roskin <proski@gnu.org>
34939
34940 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
34941 load foreign architecture modules correctly anyway. Keep
34942 support for loading host architecture modules, whether we
34943 compile them or not.
34944
34945 2008-07-17 Pavel Roskin <proski@gnu.org>
34946
34947 * configure.ac: Use -m32 or -m64 regardless of whether we had to
34948 change target_cpu. The compiler default can mismatch target_cpu
34949 in any case.
34950
34951 * disk/efi/efidisk.c: Fix format warnings on x86_64.
34952 * kern/efi/efi.c: Likewise.
34953
34954 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
34955 target compiler is functional.
34956 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
34957 are set up.
34958
34959 * configure.ac: Default to efi platform for x86_64-apple. Allow
34960 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
34961 adjustments from the rest, only do them if target is not
34962 explicitly given. Merge other adjustments with the final sanity
34963 check. Remove an extraneous check for supported CPU. Be
34964 specific which CPU and which platform is not supported.
34965
34966 * configure.ac: Default to pc platform for x86_64.
34967
34968 2008-07-17 Robert Millan <rmh@aybabtu.com>
34969
34970 Partial LinuxBIOS -> Coreboot rename.
34971
34972 * conf/i386-linuxbios.rmk: Renamed to ...
34973 * conf/i386-coreboot.rmk: ... this.
34974 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
34975 * configure.ac: Accept "coreboot" as input platform (but maintain
34976 compatibility with "linuxbios").
34977 * include/grub/i386/linuxbios: Renamed to ...
34978 * include/grub/i386/coreboot: ... this.
34979
34980 2008-07-17 Bean <bean123ch@gmail.com>
34981
34982 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
34983 (appleldr_mod_SOURCE): New variable.
34984 (appleldr_mod_CFLAGS): Likewise.
34985 (appleldr_mod_LDFLAGS): Likewise.
34986 (pci_mod_SOURCES): Likewise.
34987 (pci_mod_CFLAGS): Likewise.
34988 (pci_mod_LDFLAGS): Likewise.
34989 (lspci_mod_SOURCES): Likewise.
34990 (lspci_mod_CFLAGS): Likewise.
34991 (lspci_mod_LDFLAGS): Likewise.
34992
34993 * conf/x86_64-efi.rmk: New file.
34994
34995 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
34996 macro.
34997 (grub_efidisk_write): Likewise.
34998
34999 * include/efi/api.h (efi_call_0): New macro.
35000 (efi_call_1): Likewise.
35001 (efi_call_2): Likewise.
35002 (efi_call_3): Likewise.
35003 (efi_call_4): Likewise.
35004 (efi_call_5): Likewise.
35005 (efi_call_6): Likewise.
35006
35007 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
35008 grub_rescue_cmd_chainloader.
35009
35010 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
35011 (grub_pe32_optional_header): Change some fields based on i386 or
35012 x86_64 platform.
35013 (GRUB_PE32_PE32_MAGIC): Likewise.
35014
35015 * include/grub/efi/uga_draw.h: New file.
35016
35017 * include/grub/elf.h (STN_ABS): New constant.
35018 (R_X86_64_NONE): Relocation constant for x86_64.
35019 (R_X86_64_64): Likewise.
35020 (R_X86_64_PC32): Likewise.
35021 (R_X86_64_GOT32): Likewise.
35022 (R_X86_64_PLT32): Likewise.
35023 (R_X86_64_COPY): Likewise.
35024 (R_X86_64_GLOB_DAT): Likewise.
35025 (R_X86_64_JUMP_SLOT): Likewise.
35026 (R_X86_64_RELATIVE): Likewise.
35027 (R_X86_64_GOTPCREL): Likewise.
35028 (R_X86_64_32): Likewise.
35029 (R_X86_64_32S): Likewise.
35030 (R_X86_64_16): Likewise.
35031 (R_X86_64_PC16): Likewise.
35032 (R_X86_64_8): Likewise.
35033 (R_X86_64_PC8): Likewise.
35034
35035 * include/grub/i386/efi/pci.h: New file.
35036
35037 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
35038 Change it value based on platform.
35039 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
35040 (GRUB_E820_RAM): Likewise.
35041 (GRUB_E820_RESERVED): Likewise.
35042 (GRUB_E820_ACPI): Likewise.
35043 (GRUB_E820_NVS): Likewise.
35044 (GRUB_E820_EXEC_CODE): Likewise.
35045 (GRUB_E820_MAX_ENTRY): Likewise.
35046 (grub_e820_mmap): New structure.
35047 (linux_kernel_header): Change the efi field according to different
35048 kernel version, also field from linux_kernel_header.
35049
35050 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
35051
35052 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
35053 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
35054 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
35055 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
35056 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
35057 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
35058 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
35059 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
35060 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
35061 (GRUB_PCI_ADDR_IO_MASK): Likewise.
35062
35063 * include/grub/x86_64/efi/kernel.h: New file.
35064
35065 * include/grub/x86_64/efi/loader.h: Likewise.
35066
35067 * include/grub/x86_64/efi/machine.h: Likewise.
35068
35069 * include/grub/x86_64/efi/pci.h: Likewise.
35070
35071 * include/grub/x86_64/efi/time.h: Likewise.
35072
35073 * include/grub/x86_64/linux.h: Likewise.
35074
35075 * include/grub/x86_64/setjmp.h: Likewise.
35076
35077 * include/grub/x86_64/time.h: Likewise.
35078
35079 * include/grub/x86_64/types.h: Likewise.
35080
35081 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
35082 GRUB_TARGET_SIZEOF_VOID_P.
35083
35084 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
35085 (grub_efi_locate_handle): Likewise.
35086 (grub_efi_open_protocol): Likewise.
35087 (grub_efi_set_text_mode): Likewise.
35088 (grub_efi_stall): Likewise.
35089 (grub_exit): Likewise.
35090 (grub_reboot): Likewise.
35091 (grub_halt): Likewise.
35092 (grub_efi_exit_boot_services): Likewise.
35093 (grub_get_rtc): Likewise.
35094
35095 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
35096 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
35097 (grub_efi_allocate_pages): Wrap efi calls.
35098 (grub_efi_free_pages): Wrap efi calls.
35099 (grub_efi_get_memory_map): Wrap efi calls.
35100
35101 * kern/x86_64/dl.c: New file.
35102
35103 * kern/x86_64/efi/callwrap.S: Likewise.
35104
35105 * kern/x86_64/efi/startup.S: Likewise.
35106
35107 * loader/efi/appleloader.c: Likewise.
35108
35109 * loader/efi/chainloader.c (cmdline): New variable.
35110 (grub_chainloader_unload): Wrap efi calls.
35111 (grub_chainloader_boot): Likewise.
35112 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
35113 command line.
35114
35115 * loader/efi/chainloader_normal.c (chainloader_command):
35116 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
35117 command line.
35118
35119 * loader/i386/efi/linux.c (allocate_pages): Change allocation
35120 method.
35121 (grub_e820_add_region): New function.
35122 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
35123 booting.
35124 (grub_find_video_card): New function.
35125 (grub_linux_setup_video): New function.
35126 (grub_rescue_cmd_linux): Probe for video information.
35127
35128 * normal/x86_64/setjmp.S: New file.
35129
35130 * term/efi/console.c (map_char): New function.
35131 (grub_console_putchar): Map unicode char.
35132 (grub_console_checkkey): Wrap efi calls.
35133 (grub_console_getkey): Likewise.
35134 (grub_console_getwh): Likewise.
35135 (grub_console_gotoxy): Likewise.
35136 (grub_console_cls): Likewise.
35137 (grub_console_setcolorstate): Likewise.
35138 (grub_console_setcursor): Likewise.
35139
35140 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
35141
35142 2008-07-16 Pavel Roskin <proski@gnu.org>
35143
35144 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
35145 format strings.
35146
35147 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
35148 pointer, not an integer. This fixes a warning and prevents
35149 precision loss on 64-bit systems.
35150 (relocate_addresses): Remove unneeded cast.
35151
35152 2008-07-15 Pavel Roskin <proski@gnu.org>
35153
35154 * kern/i386/ieee1275/init.c: Include grub/cache.h.
35155
35156 * term/ieee1275/ofconsole.c: Disable code unused on i386.
35157
35158 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
35159 Fix comparison between signed and unsigned.
35160
35161 * include/grub/i386/ieee1275/console.h: Declare
35162 grub_console_init() and grub_console_fini().
35163
35164 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
35165 It's empty and unused.
35166
35167 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
35168 beginning to avoid warnings with some compilers.
35169
35170 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
35171 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
35172
35173 2008-07-14 Pavel Roskin <proski@gnu.org>
35174
35175 * kern/env.c (grub_register_variable_hook): Don't copy empty
35176 string, it leaks memory. Pass "" to grub_env_set(), it should
35177 handle constant strings.
35178
35179 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
35180 * commands/cmp.c (grub_cmd_cmp): Likewise.
35181 * kern/dl.c (grub_dl_flush_cache): Likewise.
35182 (grub_dl_load_core): Likewise.
35183 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
35184 (grub_elf64_load_phdrs): Likewise.
35185
35186 2008-07-13 Pavel Roskin <proski@gnu.org>
35187
35188 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
35189 between signed and unsigned.
35190 (LzmaEnc_Finish): Fix warning about an unused parameter.
35191
35192 2008-07-13 Bean <bean123ch@gmail.com>
35193
35194 * Makefile.in (enable_lzo): New rule.
35195
35196 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
35197
35198 * configure.ac (ENABLE_LZO): New option --enable-lzo.
35199
35200 * boot/i386/pc/lnxboot.S: #include <config.h>.
35201
35202 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
35203 its value according to the compression algorithm used, lzo or lzma.
35204
35205 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
35206 compression algorithm according to configure macro.
35207
35208 * kern/i386/pc/startup.S (codestart): Likewise.
35209
35210 * kern/i386/pc/lzma_decode.S: New file.
35211
35212 * include/grub/lib/LzFind.h: Likewise.
35213
35214 * include/grub/lib/LzHash.h: Likewise.
35215
35216 * include/grub/lib/LzmaDec.h: Likewise.
35217
35218 * include/grub/lib/LzmaEnc.h: Likewise.
35219
35220 * include/grub/lib/LzmaTypes.h: Likewise.
35221
35222 * lib/LzFind.c: Likewise.
35223
35224 * lib/LzmaDec.c: Likewise.
35225
35226 * lib/LzmaEnc.c: Likewise.
35227
35228 2008-07-13 Bean <bean123ch@gmail.com>
35229
35230 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
35231 (grub_ext4_extent_header): New structure.
35232 (grub_ext4_extent): Likewise.
35233 (grub_ext4_extent_idx): Likewise.
35234 (grub_ext4_find_leaf): New function.
35235 (grub_ext2_read_block): Handle extents.
35236
35237 2008-07-12 Robert Millan <rmh@aybabtu.com>
35238
35239 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
35240
35241 2008-07-11 Robert Millan <rmh@aybabtu.com>
35242
35243 * util/grub.d/40_custom.in: New file. Example on how to add custom
35244 entries to /etc/grub.d.
35245 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
35246 40_custom (implicitly, by merging all the grub.d rules).
35247
35248 2008-07-11 Pavel Roskin <proski@gnu.org>
35249
35250 * commands/read.c (grub_getline): Fix invalid memory access.
35251 Don't add newline to the variable value.
35252
35253 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
35254 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
35255 (serial_hw_get_port): Check validity of the port number.
35256 (grub_cmd_serial): Check return value of serial_hw_get_port().
35257
35258 2008-07-07 Pavel Roskin <proski@gnu.org>
35259
35260 * boot/i386/pc/diskboot.S (notification_string): Replace
35261 "Loading kernel" with just "loading". This is shorter, less
35262 confusing and saves a few bytes for possible future changes.
35263
35264 2008-07-05 Pavel Roskin <proski@gnu.org>
35265
35266 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
35267 size for ATAPI devices, they are undefined. Output sector
35268 number in decimal form.
35269
35270 * disk/ata.c: Use named constants for status bits.
35271
35272 2008-07-04 Pavel Roskin <proski@gnu.org>
35273
35274 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
35275 grub_addr_t before casting it to the void pointer to fix a
35276 warning. Non-addressable regions are discarded earlier.
35277 (grub_arch_modules_addr): Cast _end to grub_addr_t.
35278 * kern/i386/linuxbios/table.c: Include grub/misc.h.
35279 (check_signature): Don't shadow table_header.
35280 (grub_linuxbios_table_iterate): Cast numeric constants to
35281 grub_linuxbios_table_header_t.
35282 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
35283 grub_stop().
35284
35285 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
35286 prevent warnings.
35287
35288 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
35289 pointer, which can cause warnings. Support 64-bit addresses.
35290
35291 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
35292 of sizeof(long). This fixes PowerPC image generation on x86_64.
35293
35294 2008-07-04 Robert Millan <rmh@aybabtu.com>
35295
35296 This fixes a performance issue when pc & gpt partmap iterators
35297 didn't abort iteration even after our hook found what it was
35298 looking for (often causing expensive probes of non-existent drives).
35299
35300 Some callers relied on previous buggy behaviour, since they would
35301 raise an error when their own hooks caused early abortion of its
35302 iteration.
35303
35304 * kern/device.c (grub_device_open): Improve error message.
35305 * disk/lvm.c (grub_lvm_open): Likewise.
35306 * disk/raid.c (grub_raid_open): Likewise.
35307
35308 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
35309 when hook requests it, independently of grub_errno.
35310 (pc_partition_map_probe): Do not fail when find_func() caused
35311 early abortion of pc_partition_map_iterate().
35312
35313 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
35314 when hook requests it, independently of grub_errno.
35315 (gpt_partition_map_probe): Do not fail when find_func() caused
35316 early abortion of gpt_partition_map_iterate().
35317
35318 * kern/partition.c (grub_partition_iterate): Abort parent iteration
35319 when hook requests it, independently of grub_errno. Do not fail when
35320 part_map_iterate_hook() caused early abortion of p->iterate().
35321
35322 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
35323 when grub_partition_iterate() returned with non-zero.
35324
35325 2008-07-03 Pavel Roskin <proski@gnu.org>
35326
35327 * disk/ata.c (grub_ata_pio_write): Check status before writing,
35328 like we do in grub_ata_pio_read().
35329 (grub_ata_readwrite): Always write individual sectors. Fix the
35330 sector count for the remainder.
35331 (grub_ata_write): Enable writing to ATA devices. Correctly
35332 report error for ATAPI devices.
35333
35334 2008-07-02 Pavel Roskin <proski@gnu.org>
35335
35336 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
35337 warning.
35338
35339 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
35340 for every read sector, we already increment it for the whole
35341 batch. This fixes reading more than 256 sectors at once.
35342
35343 * util/grub-editenv.c (cmd_info): Cast argument to long
35344 explicitly. ptrdiff_t reduces to int on i386.
35345
35346 * util/grub-editenv.c (main): Be specific which parameter is
35347 missing.
35348
35349 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
35350 (memdisk): Make memdisk_orig_addr a pointer.
35351
35352 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
35353 for file offsets, use grub_off_t instead. Fix printf format
35354 warnings.
35355
35356 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
35357 there. Real unexpected warnings should not drown in the noise
35358 about known problems.
35359
35360 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
35361 grub_disk_addr_t for memory addresses.
35362
35363 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
35364 explicitly to fix a warning.
35365
35366 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
35367
35368 * Makefile.in (MODULE_LDFLAGS): New variable.
35369 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
35370 the linker accepts --build-id=none.
35371 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
35372 MODULE_LDFLAGS.
35373 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
35374
35375 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
35376 those in Linux XFS code. Provide a way to access 64-bit parent
35377 inode.
35378 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
35379 the end of struct grub_xfs_dir_header.
35380
35381 2008-07-02 Bean <bean123ch@gmail.com>
35382
35383 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
35384 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
35385 and GRUB_IEEE1275_FLAG_NO_ANSI.
35386
35387 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
35388 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
35389 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
35390
35391 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
35392 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
35393
35394 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
35395 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
35396
35397 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
35398 esc sequence on non ANSI terminal.
35399 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
35400
35401 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
35402 beginning of file.
35403
35404 2008-07-02 Bean <bean123ch@gmail.com>
35405
35406 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
35407 (grub_editenv_SOURCES): New variable.
35408 (pkglib_MODULES): Add loadenv.mod.
35409 (loadenv_mod_SOURCES): New variable.
35410 (loadenv_mod_CFLAGS): Likewise.
35411 (loadenv_mod_LDFLAGS): Likewise.
35412
35413 * include/grub/envblk.h: New file.
35414
35415 * util/envblk.c: New file.
35416
35417 * util/grub-editenv.c: New file.
35418
35419 * commands/loadenv.c: New file.
35420
35421 2008-07-01 Pavel Roskin <proski@gnu.org>
35422
35423 * include/multiboot2.h (struct multiboot_tag_module): Use char,
35424 not unsigned char. This fixes warnings and is consistent with
35425 other tags.
35426
35427 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
35428
35429 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
35430
35431 * term/tparm.c (analyze): Always set *popcount.
35432
35433 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
35434 cast to fix a warning.
35435
35436 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
35437 cast to suppress a warning.
35438
35439 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
35440 grub_fshelp_read_file() expects.
35441
35442 * fs/fat.c: Fix UUID calculation on big-endian systems. We
35443 write uuid as a 32-bit value in CPU byte order, so declare and
35444 use it as such.
35445
35446 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
35447 long if the format specifier expects it.
35448 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
35449 * partmap/pc.c (pc_partition_map_iterate): Likewise.
35450 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
35451 long to fix a warning.
35452 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
35453 grub_dprintf() arguments to fix warnings.
35454
35455 2008-06-30 Pavel Roskin <proski@gnu.org>
35456
35457 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
35458 install_bsd_part immediately before core.img is embedded or
35459 modified on disk. This fixes core.img verification if core.img
35460 cannot be embedded.
35461
35462 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
35463 core_path to calculate the blocklist.
35464 Patch from Javier Martín <lordhabbit@gmail.com>
35465
35466 2008-06-29 Robert Millan <rmh@aybabtu.com>
35467
35468 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
35469 block to disk block.
35470 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
35471 Patch from Niels Böhm <bitbucket@arcor.de>
35472
35473 2008-06-29 Robert Millan <rmh@aybabtu.com>
35474
35475 * util/update-grub_lib.in (font_path): Search for fonts in
35476 /boot/grub first, which is more likely to be readable (we aren't
35477 deciding where fonts live, just looking for them).
35478
35479 2008-06-26 Pavel Roskin <proski@gnu.org>
35480
35481 * util/biosdisk.c (read_device_map): Don't leave dead map
35482 entries for devices failing stat() check.
35483
35484 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
35485 core_path_dev for the core.img path on the target device.
35486
35487 2008-06-26 Robert Millan <rmh@aybabtu.com>
35488
35489 * disk/fs_uuid.c: New file.
35490 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
35491 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
35492 (fs_uuid_mod_LDFLAGS): New variables.
35493 * include/grub/disk.h (grub_disk_dev_id): Add
35494 `GRUB_DISK_DEVICE_UUID_ID'.
35495 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
35496 implement iterate().
35497
35498 2008-06-26 Robert Millan <rmh@aybabtu.com>
35499
35500 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
35501 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
35502 Linux image includes no initrd.
35503
35504 2008-06-21 Javier Martín <lordhabbit@gmail.com>
35505
35506 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
35507 call to resolve the core image location that effectively appended the
35508 name twice.
35509
35510 2008-06-21 Robert Millan <rmh@aybabtu.com>
35511
35512 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
35513 call from here ...
35514
35515 * util/grub.d/10_hurd.in: ... to here ...
35516 * util/grub.d/10_linux.in: ... and here.
35517
35518 2008-06-19 Robert Millan <rmh@aybabtu.com>
35519
35520 * kern/main.c (grub_main): Export `prefix' variable immediately
35521 after it has been set by grub_machine_set_prefix().
35522
35523 2008-06-19 Robert Millan <rmh@aybabtu.com>
35524
35525 * commands/search.c (search_label, search_fs_uuid, search_file): Print
35526 search result when not saving to variable, not the other way around.
35527 When saving to variable, abort iteration as soon as a match is found.
35528
35529 2008-06-19 Robert Millan <rmh@aybabtu.com>
35530
35531 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
35532 check for partition that provides /boot/grub. Its logic is flawed,
35533 as it prevents prepare_grub_to_access_device() from being called
35534 multiple times.
35535
35536 2008-06-19 Robert Millan <rmh@aybabtu.com>
35537
35538 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
35539 "insmod" command directly when abstraction modules are needed,
35540 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
35541 since it had already been processed).
35542
35543 2008-06-19 Pavel Roskin <proski@gnu.org>
35544
35545 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
35546 changed. This is needed in case GRUB_LIBDIR changes.
35547 * conf/i386-ieee1275.rmk: Likewise.
35548 * conf/i386-linuxbios.rmk: Likewise.
35549 * conf/i386-pc.rmk: Likewise.
35550 * conf/powerpc-ieee1275.rmk: Likewise.
35551
35552 2008-06-18 Pavel Roskin <proski@gnu.org>
35553
35554 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
35555 kernel_elf_symlist.c to symlist.c for consistency with other
35556 architectures. Update all users.
35557 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
35558
35559 2008-06-18 Robert Millan <rmh@aybabtu.com>
35560
35561 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
35562 it in prefix.
35563
35564 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
35565 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
35566 a RAID device, run setup() for all members independently on whether
35567 LVM abstraction is being used.
35568 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
35569 If grub-mkimage has set `*install_dos_part == -2', don't override this
35570 value.
35571 Perform *install_dos_part adjustments independently on whether
35572 we're embedding or not.
35573 Clarify error message when image is too big for embedding.
35574 Remove duplicate *install_dos_part stanza.
35575
35576 2008-06-17 Robert Millan <rmh@aybabtu.com>
35577
35578 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
35579 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
35580 variables.
35581 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
35582 values in grub_ofconsole_normal_color and
35583 grub_ofconsole_highlight_color (they're not directly related to
35584 background and foreground).
35585 (grub_ofconsole_setcolorstate): Extract background and foreground
35586 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
35587
35588 2008-06-17 Robert Millan <rmh@aybabtu.com>
35589
35590 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
35591 /boot/grub for the check in last commit, not /boot (they could be
35592 different partitions).
35593
35594 2008-06-16 Robert Millan <rmh@aybabtu.com>
35595
35596 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
35597 asked to setup access for the same partition that provides /boot,
35598 don't bother using UUIDs since our root already has the value we
35599 want.
35600
35601 2008-06-16 Robert Millan <rmh@aybabtu.com>
35602
35603 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
35604 I2O devices.
35605 Patch from Sven Mueller <sven@debian.org>.
35606
35607 2008-06-16 Robert Millan <rmh@aybabtu.com>
35608
35609 * util/update-grub.in: Check for $EUID instead of $UID.
35610 Reported by Vincent Zweije.
35611
35612 2008-06-16 Bean <bean123ch@gmail.com>
35613
35614 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
35615 (grub_ext2_read_block): Likewise.
35616 (grub_ext2_read_inode): Likewise.
35617 (grub_ext2_mount): Likewise.
35618 (grub_ext2_close): Likewise.
35619 (grub_ext3_get_journal): Removed.
35620
35621 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
35622 (grub_reiserfs_read_symlink): Likewise.
35623 (grub_reiserfs_mount): Likewise.
35624 (grub_reiserfs_open): Likewise.
35625 (grub_reiserfs_read): Likewise.
35626 (grub_reiserfs_close): Likewise.
35627 (grub_reiserfs_get_journal): Removed.
35628
35629 * fs/fshelp.c (grub_fshelp_read): Removed.
35630 (grub_fshelp_map_block): Likewise.
35631
35632 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
35633 (grub_fshelp_journal): Likewise.
35634 (grub_fshelp_read): Likewise.
35635 (grub_fshelp_map_block): Likewise.
35636
35637 2008-06-16 Pavel Roskin <proski@gnu.org>
35638
35639 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
35640 floating point anymore.
35641 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
35642
35643 2008-06-15 Pavel Roskin <proski@gnu.org>
35644
35645 * commands/ls.c (grub_ls_list_files): Use integer calculations
35646 for human readable format, avoid floating point use.
35647 * kern/misc.c (grub_ftoa): Remove.
35648 (grub_vsprintf): Remove floating point support.
35649
35650 2008-06-15 Robert Millan <rmh@aybabtu.com>
35651
35652 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
35653 devices.
35654 Reported by Max Vozeler.
35655
35656 2008-06-15 Robert Millan <rmh@aybabtu.com>
35657
35658 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
35659 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
35660 skipped later.
35661 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
35662 the beginning of the prefix.
35663
35664 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
35665 It is assumed that if we have a memdisk, grub-mkimage has set
35666 grub_prefix to include the "(memdisk)" drive in it.
35667
35668 2008-06-15 Robert Millan <rmh@aybabtu.com>
35669
35670 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
35671 Initialize keyboard controller after registering the terminal, so that
35672 grub_printf() can be called from grub_keyboard_controller_init().
35673
35674 2008-06-15 Robert Millan <rmh@aybabtu.com>
35675
35676 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
35677 extent-btree which is written as big endian on disk.
35678 Reported by Alain Greppin <al@chilibi.org>.
35679
35680 2008-06-14 Robert Millan <rmh@aybabtu.com>
35681
35682 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
35683 * util/i386/pc/grub-install.in (modules): Likewise.
35684
35685 2008-06-13 Pavel Roskin <proski@gnu.org>
35686
35687 * commands/ls.c (grub_ls_list_files): Fix format warnings.
35688
35689 2008-06-13 Bean <bean123ch@gmail.com>
35690
35691 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
35692
35693 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
35694
35695 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
35696 to indicate sparse block.
35697
35698 2008-06-12 Pavel Roskin <proski@gnu.org>
35699
35700 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
35701 number, grub_fshelp_read() does it for us.
35702
35703 * fs/fshelp.c (grub_fshelp_read): New function. Implement
35704 linear disk read with journal translation.
35705 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
35706 * include/grub/fshelp.h: Declare grub_fshelp_read().
35707
35708 2008-06-09 Pavel Roskin <proski@gnu.org>
35709
35710 * fs/minix.c (grub_minix_mount): Handle error reading
35711 superblock.
35712
35713 2008-06-08 Robert Millan <rmh@aybabtu.com>
35714
35715 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
35716 don't append the RAID prefix afterwards.
35717 Reported by Clint Adams.
35718
35719 2008-06-08 Robert Millan <rmh@aybabtu.com>
35720
35721 Based on description from Pavel:
35722 * kern/disk.c (grub_disk_check_range): Rename to ...
35723 (grub_disk_adjust_range): ... this. Add a comment explaining the
35724 tasks performed by this function.
35725
35726 2008-06-08 Robert Millan <rmh@aybabtu.com>
35727
35728 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
35729 `num_serial' (for consistency with other variables).
35730 (struct grub_ntfs_data): Add `uuid' member.
35731 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
35732 (grub_ntfs_uuid): New function.
35733 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
35734
35735 2008-06-07 Pavel Roskin <proski@gnu.org>
35736
35737 * util/biosdisk.c (open_device): Revert last change to the
35738 function, it broke installation. The sector needs to be
35739 different dependent on which device is opened.
35740
35741 2008-06-06 Robert Millan <rmh@aybabtu.com>
35742
35743 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
35744 rest of GRUB, and breakage doesn't happen if its value were modified.
35745
35746 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
35747 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
35748 a constant (same value).
35749 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
35750 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
35751
35752 2008-06-06 Robert Millan <rmh@aybabtu.com>
35753
35754 * util/biosdisk.c (open_device): Do not modify sector offset when
35755 accessing a partition. kern/disk.c already handles this for us.
35756
35757 2008-06-06 Robert Millan <rmh@aybabtu.com>
35758
35759 * util/grub-emu.c (grub_machine_init): Move code in this function from
35760 here ...
35761 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
35762 segfault in case grub_printf() is called).
35763
35764 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
35765 grub_probe. Update all users not to explicitly add it again.
35766 (grub_device): New variable; contains corresponding device for grubdir.
35767 (fs_module, partmap_module, devabstraction_module): Pass
35768 `--device ${grub_device}' to grub_probe to avoid traversing /dev
35769 every time.
35770
35771 2008-06-05 Robert Millan <rmh@aybabtu.com>
35772
35773 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
35774 is found, print it (same layout as with labels).
35775
35776 2008-06-04 Robert Millan <rmh@aybabtu.com>
35777
35778 * util/biosdisk.c (get_drive): Rename to ...
35779 (find_grub_drive): ... this. Update all users.
35780
35781 (get_os_disk): Rename to ...
35782 (convert_system_partition_to_system_disk): ... this. Update all users.
35783
35784 (find_drive): Rename to ...
35785 (find_system_device): ... this. Update all users.
35786
35787 2008-06-04 Robert Millan <rmh@aybabtu.com>
35788
35789 * util/biosdisk.c (get_os_disk): Handle IDA devices.
35790 * util/grub-mkdevicemap.c (get_mmc_disk_name)
35791 (make_device_map): Likewise.
35792
35793 2008-06-01 Robert Millan <rmh@aybabtu.com>
35794
35795 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
35796 before dereferencing it.
35797
35798 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
35799 union with fat12/fat16-specific ones. Add some new fields, including
35800 `num_serial' for both versions.
35801 (struct grub_fat_data): Add `uuid' member.
35802 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
35803 names. Initialize `data->uuid' using `num_serial'.
35804 (grub_fat_uuid): New function.
35805 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
35806
35807 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
35808 (grub_reiserfs_uuid): New function.
35809 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
35810 member.
35811
35812 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
35813 (grub_xfs_uuid): New function.
35814 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
35815
35816 2008-06-01 Robert Millan <rmh@aybabtu.com>
35817
35818 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
35819 code that is backward compatible with pre-uuid search command.
35820
35821 2008-05-31 Robert Millan <rmh@aybabtu.com>
35822
35823 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
35824 floppies after everything else, to ensure floppy drive isn't accessed
35825 unnecessarily (patch from Bean).
35826
35827 2008-05-31 Robert Millan <rmh@aybabtu.com>
35828
35829 * commands/search.c (search_label, search_fs_uuid, search_file): Do
35830 not print device names when we were asked to set a variable.
35831
35832 2008-05-31 Robert Millan <rmh@aybabtu.com>
35833
35834 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
35835 using "cursor-on" and "cursor-off" commands (understood at least by
35836 the Open Firmware flavour on OLPC).
35837
35838 2008-05-31 Michael Gorven <michael@gorven.za.net>
35839
35840 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
35841 on and off sequences.
35842
35843 2008-05-31 Robert Millan <rmh@aybabtu.com>
35844
35845 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
35846 * util/update-grub.in: Likewise.
35847
35848 2008-05-30 Pavel Roskin <proski@gnu.org>
35849
35850 * util/biosdisk.c (linux_find_partition): Simplify logic and
35851 make the code more universal. Keep special processing for
35852 devfs, but use a simple rule for all other devices. If the
35853 device ends with a number, append 'p' and the partition number.
35854 Otherwise, append only the partition number.
35855
35856 2008-05-30 Robert Millan <rmh@aybabtu.com>
35857
35858 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
35859 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
35860 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
35861 the `root' parameter to Linux.
35862
35863 2008-05-30 Robert Millan <rmh@aybabtu.com>
35864
35865 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
35866 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
35867 --fs_uuid with --fs-uuid.
35868 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
35869 all filesystems support them).
35870
35871 2008-05-30 Robert Millan <rmh@aybabtu.com>
35872
35873 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
35874 grub_printf() flags, since we're printing in units of 2 bytes.
35875
35876 2008-05-30 Robert Millan <rmh@aybabtu.com>
35877
35878 * util/grub.d/00_header.in: Remove obsolete comment referencing
35879 convert_system_path_to_grub_path().
35880 * util/update-grub.in: Likewise.
35881 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
35882 (convert_system_path_to_grub_path): Add a warning message explaining
35883 that this function is deprecated. Rely on is_path_readable_by_grub()
35884 for the readability checks.
35885 (font_path): Use is_path_readable_by_grub() for the readability
35886 check rather than convert_system_path_to_grub_path().
35887
35888 2008-05-30 Robert Millan <rmh@aybabtu.com>
35889
35890 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
35891 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
35892 converting it first.
35893 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
35894 grub.cfg for access to font file, and afterwards call it again to set
35895 the root device.
35896
35897 2008-05-30 Robert Millan <rmh@aybabtu.com>
35898
35899 * commands/search.c (options): Add --fs_uuid option.
35900 (search_fs_uuid): New function.
35901 (grub_cmd_search): Fix --set argument passing.
35902 Use search_fs_uuid() when requested via --fs_uuid.
35903 (grub_search_init): Update help message.
35904 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
35905 and redeclare it as an array of 16-bit words.
35906 (grub_ext2_uuid): New function.
35907 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
35908 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
35909 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
35910 (GRUB_DEVICE_BOOT_UUID): New variables.
35911 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
35912 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
35913 whenever possible.
35914 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
35915 just assume `root' variable has the right value.
35916 * util/grub.d/10_linux.in: Likewise.
35917 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
35918 via PRINT_FS_UUID.
35919 (main): Recognise `-t fs_uuid' argument.
35920
35921 2008-05-30 Robert Millan <rmh@aybabtu.com>
35922
35923 * util/biosdisk.c (map): Redefine structure to hold information
35924 about GRUB drive name.
35925 (get_drive): Reimplement without assuming (and verifying) BIOS-like
35926 drive names.
35927 (call_hook): Remove.
35928 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
35929 member. Assume drive has partitions.
35930 (grub_util_biosdisk_open): Access device names via `.device' struct
35931 member.
35932 (open_device): Likewise.
35933 (find_drive): Likewise.
35934 (read_device_map): Adjust map[] usage to match the new struct
35935 definition. Don't check for duplicates (still possible, but not cheap
35936 anymore).
35937 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
35938 (make_device_name): Remove assumption of BIOS-like drive names.
35939
35940 2008-05-30 Pavel Roskin <proski@gnu.org>
35941
35942 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
35943 compiling execute.c doesn't need grub_script.tab.h anymore.
35944 (normal/command.c_DEPENDENCIES): Likewise.
35945 (normal/function.c_DEPENDENCIES): Likewise.
35946 * conf/i386-ieee1275.rmk: Likewise.
35947 * conf/i386-linuxbios.rmk: Likewise.
35948 * conf/i386-pc.rmk: Likewise.
35949 * conf/powerpc-ieee1275.rmk: Likewise.
35950 * conf/sparc64-ieee1275.rmk: Likewise.
35951
35952 2008-05-29 Pavel Roskin <proski@gnu.org>
35953
35954 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
35955 when scanning metadata for volume group name.
35956
35957 * include/grub/script.h: Don't include grub_script.tab.h. It's
35958 a generated file, which may only be included from the files with
35959 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
35960 use union YYSTYPE, as the later allows forward declaration.
35961 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
35962
35963 2008-05-29 Robert Millan <rmh@aybabtu.com>
35964
35965 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
35966 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
35967 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
35968 (grub_console_checkkey): Add grub_dprintf() call to report unknown
35969 scan codes.
35970
35971 2008-05-29 Robert Millan <rmh@aybabtu.com>
35972
35973 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
35974 control key combinations.
35975
35976 2008-05-29 Robert Millan <rmh@aybabtu.com>
35977
35978 * util/powerpc/ieee1275/grub-install.in: Move from here ...
35979 * util/ieee1275/grub-install.in: ... to here.
35980 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
35981 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
35982 (grub_install_SOURCES): Likewise.
35983
35984 2008-05-29 Robert Millan <rmh@aybabtu.com>
35985
35986 * fs/affs.c: Update copyright year.
35987 * fs/ext2.c: Likewise.
35988 * fs/fshelp.c: Likewise.
35989 * fs/hfsplus.c: Likewise.
35990 * fs/ntfs.c: Likewise.
35991 * fs/xfs.c: Likewise.
35992 * include/grub/fshelp.h: Likewise.
35993 * util/grub-mkdevicemap.c: Likewise.
35994
35995 2008-05-28 Robert Millan <rmh@aybabtu.com>
35996
35997 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
35998 might need to be fatfs to support some firmware implementations
35999 (e.g. OFW or EFI).
36000
36001 2008-05-28 Robert Millan <rmh@aybabtu.com>
36002
36003 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
36004 devices.
36005 * util/grub-mkdevicemap.c (get_mmc_disk_name)
36006 (make_device_map): Likewise.
36007
36008 2008-05-20 Bean <bean123ch@gmail.com>
36009
36010 * fs/fshelp.c (grub_fshelp_map_block): New function.
36011 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
36012 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
36013
36014 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
36015 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
36016 (grub_fshelp_journal): New structure.
36017 (grub_fshelp_map_block): New function prototype.
36018 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
36019 (grub_fshelp_map_block): Likewise.
36020
36021 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
36022 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
36023 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
36024 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
36025 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
36026 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
36027 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
36028 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
36029 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
36030 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
36031 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
36032 (grub_ext2_sblock): New members for journal support.
36033 (grub_ext3_journal_header): New structure.
36034 (grub_ext3_journal_revoke_header): Likewise.
36035 (grub_ext3_journal_block_tag): Likewise.
36036 (grub_ext3_journal_sblock): Likewise.
36037 (grub_fshelp_node): New members logfile and journal.
36038 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
36039 grub_fshelp_map_block to get real block number.
36040 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
36041 number.
36042 (grub_ext2_read_inode): Likewise.
36043 (grub_ext3_get_journal): New function.
36044 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
36045 (grub_ext2_close): Release memory used by journal.
36046
36047 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
36048 (REISERFS_MAGIC_DESC_BLOCK): New macro.
36049 (grub_reiserfs_transaction_header): Renamed to
36050 grub_reiserfs_description_block, replace field data with real_blocks.
36051 (grub_reiserfs_commit_block): New structure.
36052 (grub_reiserfs_data): New member journal.
36053 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
36054 number.
36055 (grub_reiserfs_read_symlink): Likewise.
36056 (grub_reiserfs_iterate_dir): Likewise.
36057 (grub_reiserfs_open): Likewise.
36058 (grub_reiserfs_read): Likewise.
36059 (grub_reiserfs_get_journal): New function.
36060 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
36061 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
36062 using grub_reiserfs_get_journal.
36063 (grub_reiserfs_close): Release memory used by journal.
36064
36065 * fs/affs.c (grub_affs_read_block): Change block type to
36066 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
36067
36068 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
36069
36070 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
36071
36072 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
36073
36074 * fs/udf.c (grub_udf_read_block): Change block type to
36075 grub_disk_addr_t. Use type cast to avoid warning.
36076
36077 * fs/xfs.c (grub_xfs_read_block): Likewise.
36078
36079 2008-05-16 Christian Franke <franke@computer.org>
36080
36081 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
36082 to ensure that break with ESC will always work.
36083 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
36084 Remove ESC from keyboard queue.
36085
36086 2008-05-16 Christian Franke <franke@computer.org>
36087
36088 * util/biosdisk.c: [__CYGWIN__] Add includes.
36089 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
36090 (get_os_disk): Move variable declarations to OS specific
36091 parts to avoid warning.
36092 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
36093 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
36094 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
36095 Cygwin.
36096 * util/getroot.c: [__CYGWIN__] Add includes.
36097 (strip_extra_slashes): Fix "/" case.
36098 [__CYGWIN__] (get_win32_path): New function.
36099 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
36100 [__CYGWIN__] (find_root_device): Disable.
36101 [__CYGWIN__] (get_bootsec_serial): New function.
36102 [__CYGWIN__] (find_cygwin_root_device): Likewise.
36103 [__linux__] (grub_guess_root_device): Add early returns to simplify
36104 structure.
36105 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
36106 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
36107 check for Linux only.
36108
36109 2008-05-15 Bean <bean123ch@gmail.com>
36110
36111 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
36112 keyboard hang problem in apple's intel mac.
36113
36114 2008-05-09 Robert Millan <rmh@aybabtu.com>
36115
36116 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
36117 devices.
36118 * util/grub-mkdevicemap.c (get_virtio_disk_name)
36119 (make_device_map): Likewise.
36120 Reported by Aurelien Jarno <aurel32@debian.org>
36121
36122 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
36123
36124 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
36125 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
36126 (make_device_map): Output entries for xvd type disks.
36127
36128 2008-05-07 Robert Millan <rmh@aybabtu.com>
36129
36130 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
36131 devices.
36132 * util/grub-mkdevicemap.c (get_cciss_disk_name)
36133 (make_device_map): Likewise.
36134 Reported by Roland Dreier <rdreier@cisco.com>
36135
36136 2008-05-07 Robert Millan <rmh@aybabtu.com>
36137
36138 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
36139 grub_strstr() call. Correct a few mistakes in failure path handling.
36140
36141 2008-05-06 Robert Millan <rmh@aybabtu.com>
36142
36143 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
36144 Do not print a trailing slash (therefore, the root directory is an
36145 empty string).
36146 (convert_system_path_to_grub_path): Do not remove trailing slash
36147 from make_system_path_relative_to_its_root() output.
36148
36149 * util/i386/pc/grub-install.in: Add trailing slash to output from
36150 make_system_path_relative_to_its_root().
36151
36152 2008-05-06 Robert Millan <rmh@aybabtu.com>
36153
36154 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
36155 ensures that output lines aren't intermangled with those sent to
36156 stderr (via grub_util_info()).
36157 * util/grub-probe.c (grub_refresh): Likewise.
36158 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
36159
36160 2008-05-05 Christian Franke <franke@computer.org>
36161
36162 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
36163 Add Cygwin device names.
36164 (get_ide_disk_name) [__CYGWIN__]: Likewise.
36165 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
36166 (check_device): Return error instead of success on empty name.
36167 (make_device_map): Move label inside linux specific code to
36168 prevent compiler warning.
36169
36170 2008-04-30 Robert Millan <rmh@aybabtu.com>
36171
36172 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
36173 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
36174 first boot option.
36175 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
36176
36177 2008-04-29 Robert Millan <rmh@aybabtu.com>
36178
36179 * docs/grub.cfg: New file (example GRUB configuration).
36180
36181 2008-04-26 Robert Millan <rmh@aybabtu.com>
36182
36183 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
36184 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
36185 and `disk/ieee1275/nand.c'.
36186
36187 2008-04-25 Bean <bean123ch@gmail.com>
36188
36189 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
36190 i386-linuxbios.
36191
36192 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
36193 change the buffer size to 4096 for cdrom device.
36194
36195 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
36196 and nand.mod.
36197 (_linux_mod_SOURCES): New variable.
36198 (_linux_mod_CFLAGS): Likewise.
36199 (_linux_mod_LDFLAGS): Likewise.
36200 (linux_mod_SOURCES): Likewise.
36201 (linux_mod_CFLAGS): Likewise.
36202 (linux_mod_LDFLAGS): Likewise.
36203 (nand_mod_SOURCES): Likewise.
36204 (nand_mod_CFLAGS): Likewise.
36205 (nand_mod_LDFLAGS): Likewise.
36206
36207 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
36208 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
36209 type property. (nand device in olpc don't have this property)
36210
36211 * include/grub/disk.h (grub_disk_dev_id): New macro
36212 GRUB_DISK_DEVICE_NAND_ID.
36213
36214 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
36215 function prototype.
36216 (grub_rescue_cmd_initrd): Likewise.
36217
36218 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
36219 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
36220 ofw_cif_handler and ofw_idt, adjust padding number.
36221
36222 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
36223 GRUB_MACHINE_IEEE1275 is defined.
36224
36225 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
36226 Use NESTED_FUNC_ATTR attribute on the hook parameter.
36227
36228 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
36229 on nested function heap_init.
36230 (grub_upper_mem): New variable for i386-ieee1275.
36231 (grub_get_extended_memory): New function for i386-ieee1275.
36232 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
36233
36234 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
36235 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
36236 property.
36237
36238 * loader/i386/ieee1275/linux.c: New file.
36239
36240 * loader/i386/ieee1275/linux_normal.c: New file.
36241
36242 * disk/ieee1275/nand.c: New file.
36243
36244 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
36245
36246 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
36247 value.
36248 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
36249
36250 2008-04-18 Robert Millan <rmh@aybabtu.com>
36251
36252 Restructures early code path on ieee1275 to unify grub_main() as
36253 the first C function that is executed in every platform.
36254
36255 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
36256 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
36257 cmain().
36258 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
36259 * kern/ieee1275/cmain.c (cmain): Rename to ...
36260 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
36261 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
36262 at the beginning.
36263
36264 2008-04-18 Robert Millan <rmh@aybabtu.com>
36265
36266 * util/update-grub.in: Fix syntax error when setting
36267 `GRUB_PRELOAD_MODULES'.
36268 Reported by Stephane Chazelas <stephane@artesyncp.com>
36269
36270 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
36271
36272 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
36273 section into account, newer toolchains generate unique build ids
36274 * configure.ac: remove the test for --build-id=none acceptance,
36275 we want build ids to be preserved
36276 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
36277 far from other sections don't cause the raw binary images grow
36278 size
36279
36280 2008-04-15 Robert Millan <rmh@aybabtu.com>
36281
36282 * disk/lvm.c: Update copyright year.
36283 * kern/misc.c: Likewise.
36284
36285 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
36286
36287 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
36288 there is no memory left for physical volume name.
36289
36290 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
36291
36292 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
36293 volume name mapping to support bigger than 9 character names properly.
36294
36295 2008-04-13 Robert Millan <rmh@aybabtu.com>
36296
36297 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
36298 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
36299
36300 2008-04-13 Christian Franke <franke@computer.org>
36301
36302 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
36303 to create a floppy emulation boot CD when non emulation mode
36304 does not work.
36305 Enable Joliet CD filesystem extension.
36306
36307 2008-04-13 Robert Millan <rmh@aybabtu.com>
36308
36309 * kern/misc.c (grub_strncat): Fix off-by-one error.
36310 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
36311
36312 * kern/env.c (grub_env_context_close): Clear current context, not
36313 previous one.
36314 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
36315
36316 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
36317
36318 2008-04-13 Robert Millan <rmh@aybabtu.com>
36319
36320 Improve robustness when handling LVM.
36321
36322 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
36323 (and leave `*p' unmodified).
36324 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
36325 through it.
36326 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
36327 iterating through it.
36328 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
36329 through it.
36330 (grub_lvm_scan_device): Check the return value (and fail gracefully
36331 when due) on each grub_lvm_getvalue() or grub_strstr() call.
36332 Don't assume `vg->pvs != NULL' when iterating through it.
36333
36334 2008-04-13 Robert Millan <rmh@aybabtu.com>
36335
36336 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
36337 * genmk.rb (partmap): New variable.
36338 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
36339 (#{partmap}): New target rule.
36340 * genpartmaplist.sh: New file.
36341 * Makefile.in (pkglib_DATA): Add partmap.lst.
36342 (partmap.lst): New target rule.
36343 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
36344 modules (including all partition maps), instead of preloading them.
36345
36346 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
36347
36348 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
36349 `linux-boot-prober' (if installed) to detect other operating
36350 systems which are installed on the computer and add them to
36351 the boot menu.
36352 * conf/common.rmk: Build and install 30_os-prober.
36353
36354 2008-04-12 Robert Millan <rmh@aybabtu.com>
36355
36356 * kern/powerpc/ieee1275/init.c: Move from here ...
36357 * kern/ieee1275/init.c: ... to here. Update all users.
36358
36359 * kern/powerpc/ieee1275/cmain.c: Move from here ...
36360 * kern/ieee1275/cmain.c: ... to here. Update all users.
36361
36362 * kern/powerpc/ieee1275/openfw.c: Move from here ...
36363 * kern/ieee1275/openfw.c: ... to here. Update all users.
36364
36365 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
36366 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
36367
36368 2008-04-10 Pavel Roskin <proski@gnu.org>
36369
36370 * configure.ac: Always use "_cv_" in cache variables for
36371 compatibility with Autoconf 2.62.
36372
36373 2008-04-07 Robert Millan <rmh@aybabtu.com>
36374
36375 Revert grub/machine/init.h addition by Pavel (since it breaks on
36376 i386-ieee1275 and others):
36377 * util/i386/pc/misc.c: Remove grub/machine/init.h.
36378 * util/powerpc/ieee1275/misc.c: Likewise.
36379
36380 2008-04-07 Robert Millan <rmh@aybabtu.com>
36381
36382 * util/grub-probe.c (probe): Improve error message.
36383
36384 2008-04-07 Robert Millan <rmh@aybabtu.com>
36385
36386 * util/biosdisk.c (read_device_map): Skip devices that don't exist
36387 (this prevents the presence of a bogus entry from ruining the whole
36388 thing).
36389
36390 2008-04-06 Pavel Roskin <proski@gnu.org>
36391
36392 * util/biosdisk.c: Include grub/util/biosdisk.h.
36393 * util/grub-fstest.c (execute_command): Make static.
36394 * util/grub-mkdevicemap.c (check_device): Likewise.
36395 * util/i386/pc/misc.c: Include grub/machine/init.h.
36396 * util/powerpc/ieee1275/misc.c: Likewise.
36397 * util/lvm.c: Include grub/util/lvm.h.
36398 * util/misc.c: Include grub/kernel.h, grub/misc.h and
36399 grub/cache.h.
36400 * util/raid.c: Include grub/util/raid.h.
36401 (grub_util_getdiskname): Make static.
36402
36403 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
36404 grub_hostfs_fini(), as they are called from grub_init_all() and
36405 grub_fini_all() respectively. This fixes an infinite loop in
36406 grub-fstest due to double registration of hostfs.
36407 Reported by Christian Franke <Christian.Franke@t-online.de>
36408
36409 2008-04-05 Pavel Roskin <proski@gnu.org>
36410
36411 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
36412 all 8 functions. Otherwise, probe function 0 only.
36413
36414 2008-04-04 Pavel Roskin <proski@gnu.org>
36415
36416 * commands/lspci.c (grub_lspci_iter): Print the bus number
36417 correctly.
36418
36419 * commands/lspci.c (grub_pci_classes): Fix typos.
36420 (grub_lspci_iter): Don't print func twice. Print vendor ID
36421 before device ID, as it's normally done.
36422
36423 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
36424 Fix signedness warnings.
36425 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
36426 Likewise.
36427 * util/ieee1275/get_disk_name.c: Include config.h so that
36428 _GNU_SOURCE is defined and getline() is declared. Mark an
36429 unused argument as such. Fix a signedness warning.
36430
36431 2008-04-02 Pavel Roskin <proski@gnu.org>
36432
36433 * genkernsyms.sh.in: Use more robust assignments for CC and
36434 srcdir. Quote srcdir.
36435 * gensymlist.sh.in: Likewise. Assert at the compile time that
36436 the symbol table is not empty.
36437
36438 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
36439 * fs/cpio.c (grub_cpio_read): Likewise.
36440
36441 2008-04-01 Pavel Roskin <proski@gnu.org>
36442
36443 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
36444 * disk/host.c (grub_host_open): Likewise.
36445 * disk/loopback.c (grub_loopback_open): Likewise.
36446 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
36447 disk->id as in disk/host.c, not a multi-character constant.
36448
36449 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
36450 later is obsolete, potentially dangerous and sets a bad example.
36451 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
36452 * util/misc.c (grub_util_get_image_size): Likewise.
36453
36454 * disk/loopback.c (options): Improve help for "--partitions".
36455
36456 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
36457 options to align them with the short options, e.g. "echo -e".
36458
36459 2008-03-31 Bean <bean123ch@gmail.com>
36460
36461 * video/reader/png.c (grub_png_data): New member is_16bit and
36462 image_data.
36463 (grub_png_decode_image_header): Detect 16 bit png image.
36464 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
36465 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
36466 (grub_video_reader_png): Release memory occupied by image_data.
36467
36468 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
36469 4096 bytes.
36470 (grub_nfs_mount): Skip the test for sector per cluster.
36471
36472 * include/grub/ntfs.h (MAX_SPC): Removed.
36473
36474 2008-03-31 Bean <bean123ch@gmail.com>
36475
36476 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
36477 (grub_probe_SOURCES): Add fs/afs.c.
36478 (grub_fstest_SOURCES): Likewise.
36479 (afs_mod_SOURCES): New variable.
36480 (afs_mod_CFLAGS): Likewise.
36481 (afs_mod_LDFLAGS): Likewise.
36482
36483 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
36484 (grub_emu_SOURCES): Likewise.
36485
36486 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36487
36488 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36489
36490 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
36491
36492 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36493
36494 * fs/afs.c: New file.
36495
36496 2008-03-30 Pavel Roskin <proski@gnu.org>
36497
36498 * disk/host.c: Include grub/misc.h to fix a warning.
36499 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
36500 warnings about implicit declarations.
36501
36502 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
36503 variable.
36504 * include/grub/i386/loader.h: Change declaration of
36505 grub_linux_boot() to match what grub_loader_set() expects.
36506 * util/getroot.c (grub_guess_root_device): Return const char* to
36507 fix a warning.
36508 * util/grub-probe.c (probe): Fix a warning about uninitialized
36509 abstraction_name variable.
36510 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
36511 second argument as unused to fix a warning.
36512
36513 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
36514 missing grub_error() call.
36515
36516 * util/update-grub_lib.in: Define datarootdir, since Autoconf
36517 2.60 and newer uses it to define datadir.
36518
36519 * commands/sleep.c: Fix warning about implicit declaration.
36520 * disk/memdisk.c: Likewise.
36521 * loader/aout.c: Likewise.
36522 * loader/i386/bsd_normal.c: Likewise.
36523 * util/grub-probe.c: Likewise.
36524
36525 * commands/i386/cpuid.c (has_longmode): Make static.
36526 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
36527 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
36528
36529 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
36530 GDT. This is more robust, as %ds can change.
36531 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
36532 calling real_to_prot().
36533 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
36534
36535 2008-03-28 Pavel Roskin <proski@gnu.org>
36536
36537 * kern/i386/pc/startup.S: Assert that uncompressed functions
36538 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
36539 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
36540 code, as they push parts of the code (error handlers) beyond
36541 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
36542 code as correctness and size.
36543
36544 2008-03-28 Pavel Roskin <proski@gnu.org>
36545
36546 * kern/i386/pc/startup.S
36547 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
36548 data block address to the real mode, keep offset minimal. This
36549 works around a bug in AWARD BIOS on old Athlon systems, which
36550 makes CD detection hang.
36551
36552 2008-03-26 Pavel Roskin <proski@gnu.org>
36553
36554 * normal/color.c (grub_parse_color_name_pair): Make `name' a
36555 const.
36556 * include/grub/normal.h: Add grub_parse_color_name_pair()
36557 declaration.
36558
36559 2008-03-24 Bean <bean123ch@gmail.com>
36560
36561 * disk/i386/pc/biosdisk.c (cd_start): Removed.
36562 (cd_count): Removed.
36563 (cd_drive): New variable.
36564 (grub_biosdisk_get_drive): Don't check for (cdN) device.
36565 (grub_biosdisk_call_hook): Likewise.
36566 (grub_biosdisk_iterate): Change cdrom detection method.
36567 (grub_biosdisk_open): Replace cd_start with cd_drive.
36568 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
36569 detect cdrom device.
36570
36571 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
36572 Removed.
36573 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
36574 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
36575 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
36576 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
36577 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
36578 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
36579 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
36580 (grub_biosdisk_cdrp): New structure.
36581 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
36582
36583 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
36584
36585 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
36586 device.
36587
36588 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
36589 New function.
36590
36591 2008-03-20 Robert Millan <rmh@aybabtu.com>
36592
36593 Remove 2 TiB limit in ata.mod.
36594 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
36595 (grub_ata_dumpinfo): Print sector count with 0x%llx.
36596 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
36597 grub_uint64_t instead of grub_uint32_t.
36598
36599 2008-03-05 Bean <bean123ch@gmail.com>
36600
36601 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
36602 (grub_multiboot): Set boot device.
36603
36604 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
36605
36606 2008-03-02 Bean <bean123ch@gmail.com>
36607
36608 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
36609 symlink_buffer.
36610
36611 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
36612
36613 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
36614 texinfo.tex.
36615
36616 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
36617 modified.
36618
36619 * docs/fdl.texi: New file.
36620
36621 * docs/mdate-sh: New file. Copied from gnulib.
36622 * docs/texinfo.tex: Likewise.
36623
36624 * config.guess: Updated from gnulib.
36625 * install-sh: Likewise.
36626
36627 2008-02-28 Robert Millan <rmh@aybabtu.com>
36628
36629 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
36630 (aout_mod_SOURCES): New variable.
36631 (aout_mod_CFLAGS): Likewise.
36632 (aout_mod_LDFLAGS): Likewise.
36633
36634 * conf/i386-ieee1275.rmk: Likewise.
36635
36636 2008-02-28 Robert Millan <rmh@aybabtu.com>
36637
36638 * util/update-grub.in: Reorganise terminal validity check. Accept
36639 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
36640 Based on suggestion by Franklin PIAT.
36641
36642 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
36643
36644 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
36645 function.
36646 * util/getroot.c (grub_util_check_block_device): New function that
36647 returns the given argument if it is a block device and returns NULL else.
36648 * util/grub-probe.c (argument_is_device): New variable.
36649 (probe): Promote device_name from a variable to an argument. Receive
36650 device_name from grub_util_check_block_device() if path is NULL and from
36651 grub_guess_root_device() else. Do not free() device_name anymore.
36652 (options): Introduce new parameter '-d, --device'.
36653 (main): Add description of the new parameter to the help screen.
36654 Rename path variable to argument. Set argument_is_device if the '-d'
36655 option is given. Pass argument to probe() depending on
36656 argument_is_device.
36657
36658 2008-02-24 Bean <bean123ch@gmail.com>
36659
36660 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
36661 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
36662 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
36663 (GRUB_ISO9660_VOLDESC_PART): Likewise.
36664 (GRUB_ISO9660_VOLDESC_END): Likewise.
36665 (grub_iso9660_primary_voldesc): New member escape.
36666 (grub_iso9660_data): New member joliet.
36667 (grub_iso9660_convert_string): New function.
36668 (grub_iso9660_mount): Detect joliet extension.
36669 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
36670 (grub_iso9660_iso9660_label): Likewise.
36671
36672 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
36673 (grub_setup_SOURCES): Add fs/udf.c.
36674 (grub_fstest_SOURCES): Likewise.
36675 (udf_mod_SOURCES): New variable.
36676 (udf_mod_CFLAGS): Likewise.
36677 (udf_mod_LDFLAGS): Likewise.
36678
36679 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
36680 (grub_emu_SOURCES): Likewise.
36681
36682 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36683
36684 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36685
36686 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
36687
36688 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36689
36690 * fs/udf.c: New file.
36691
36692 2008-02-24 Robert Millan <rmh@aybabtu.com>
36693
36694 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
36695 (normal/lexer.c_DEPENDENCIES): New variables.
36696 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
36697 (normal/lexer.c_DEPENDENCIES): Likewise.
36698 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
36699 (normal/lexer.c_DEPENDENCIES): Likewise.
36700 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
36701 (normal/lexer.c_DEPENDENCIES): Likewise.
36702 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
36703 (normal/lexer.c_DEPENDENCIES): Likewise.
36704 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
36705 (normal/lexer.c_DEPENDENCIES): Likewise.
36706
36707 2008-02-23 Robert Millan <rmh@aybabtu.com>
36708
36709 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
36710 since they were intended to be in hex. This didn't break previously
36711 because of a bug in gpt_partition_map_iterate() (see below).
36712
36713 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
36714 when checking the validity of GPT header.
36715 Remove `partno', since it always provides the same information as `i'.
36716
36717 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
36718
36719 * include/grub/efi/time.h: Fix a wrong comment.
36720
36721 2008-02-19 Pavel Roskin <proski@gnu.org>
36722
36723 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
36724 message.
36725
36726 2008-02-19 Bean <bean123ch@gmail.com>
36727
36728 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
36729 (aout_mod_SOURCES): New variable.
36730 (aout_mod_CFLAGS): Likewise.
36731 (aout_mod_LDFLAGS): Likewise.
36732 (_bsd_mod_SOURCES): New variable.
36733 (_bsd_mod_CFLAGS): Likewise.
36734 (_bsd_mod_LDFLAGS): Likewise.
36735 (bsd_mod_SOURCES): New variable.
36736 (bsd_mod_CFLAGS): Likewise.
36737 (bsd_mod_LDFLAGS): Likewise.
36738
36739 * include/grub/aout.h: New file.
36740
36741 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
36742
36743 * include/grub/i386/bsd.h: New file.
36744
36745 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
36746 to make it public.
36747
36748 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
36749 function is called, so that it's possible to change it inside the hook.
36750 (grub_elf64_load): Likewise.
36751 (grub_elf_file): Don't close the file if elf header is not found.
36752 (grub_elf_close): Close the file if grub_elf_file fails (The new
36753 grub_elf_file won't close it).
36754 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
36755 (grub_elf64_size): Likewise.
36756
36757 * kern/i386/loader.S (grub_unix_real_boot): New function.
36758
36759 * loader/aout.c: New file.
36760
36761 * loader/i386/bsd.c: New file.
36762
36763 * loader/i386/bsd_normal.c: New file.
36764
36765 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
36766
36767 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
36768 can test other formats.
36769
36770 2008-02-19 Robert Millan <rmh@aybabtu.com>
36771
36772 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
36773 (grub_gpt_partition_type_empty): Redefine with macro from
36774 `<grub/gpt_partition.h>'.
36775 (gpt_partition_map_iterate): Adjust partition type comparison.
36776
36777 Export `entry' as partmap-specific `part.data' struct.
36778 (grub_gpt_header, grub_gpt_partentry): Move from here ...
36779
36780 * include/grub/gpt_partition.h (grub_gpt_header)
36781 (grub_gpt_partentry): ... to here (new file).
36782
36783 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
36784
36785 (grub_gpt_partition_type_bios_boot): New const variable, defined
36786 with macro from `<grub/gpt_partition.h>'.
36787
36788 (setup): Replace `first_start' with `embed_region', which keeps
36789 track of the embed region (and is partmap-agnostic).
36790
36791 Replace find_first_partition_start() with find_usable_region(),
36792 which finds a usable region for embedding using partmap-specific
36793 knowledge (supports PC/MSDOS and GPT).
36794
36795 Fix all assumptions that the embed region start at sector 1, using
36796 `embed_region.start' from now on. Similarly, use `embed_region.end'
36797 rather than `first_start' to calculate available size.
36798
36799 In grub_util_info() message, replace "into after the MBR" with an
36800 indication of the specific sector our embed region starts at.
36801
36802 2008-02-19 Robert Millan <rmh@aybabtu.com>
36803
36804 * DISTLIST: Replace `commands/ieee1275/halt.c' and
36805 `commands/ieee1275/reboot.c' with `commands/halt.c' and
36806 `commands/reboot.c'.
36807 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
36808 (halt_mod_SOURCES): Likewise.
36809 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
36810 (halt_mod_SOURCES): Likewise.
36811
36812 2008-02-17 Christian Franke <franke@computer.org>
36813
36814 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
36815
36816 2008-02-17 Robert Millan <rmh@aybabtu.com>
36817
36818 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
36819 set `first_start' to 0 for non-PC/MSDOS partition maps.
36820
36821 2008-02-16 Robert Millan <rmh@aybabtu.com>
36822
36823 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
36824 do not assume partition map is PC/MSDOS before performing checks that
36825 are specific to that layout.
36826
36827 2008-02-13 Robert Millan <rmh@aybabtu.com>
36828
36829 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
36830 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
36831 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
36832
36833 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
36834
36835 * configure.ac: Only a cosmetic change on the handling of
36836 -fno-stack-protector.
36837
36838 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
36839
36840 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
36841 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
36842 reboot.c.
36843 (grub_install_SOURCES): Add halt.mod and reboot.mod.
36844 (halt_mod_SOURCES): New variable.
36845 (halt_mod_CFLAGS): Likewise.
36846 (halt_mod_LDFLAGS): Likewise.
36847 (reboot_mod_SOURCES): Likewise.
36848 (reboot_mod_CFLAGS): Likewise.
36849 (reboot_mod_LDFLAGS): Likewise.
36850
36851 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
36852 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
36853 reboot.c.
36854 (halt_mod_SOURCES): Likewise.
36855 (reboot_mod_SOURCES): Likewise.
36856
36857 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
36858 commands/i386/pc/reboot.c by commands/reboot.c.
36859 (reboot_mod_SOURCES): Likewise.
36860
36861 * commands/i386/pc/reboot.c: merge this file ...
36862
36863 * commands/ieee1275/reboot.c: ... and this file ...
36864
36865 * commands/reboot.c: ... to this file.
36866 Add some precompiler directive to include the correct header for
36867 each machine.
36868
36869 * commands/ieee1275/halt.c: move this file ...
36870
36871 * commands/halt.c: ... to here.
36872 Add some precompiler directive to include the correct header for
36873 each machine.
36874
36875 * include/grub/efi/efi.h (grub_reboot): New function declaration.
36876 (grub_halt): Likewise.
36877
36878 * kern/efi/efi.c (grub_reboot): New function.
36879 (grub_halt): Likewise.
36880
36881 2008-02-12 Robert Millan <rmh@aybabtu.com>
36882
36883 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
36884 /dev (like it is done for /dev/mapper). This doesn't provide support
36885 for EVMS, but at least it is now easy to identify the problem when it
36886 arises.
36887
36888 2008-02-11 Robert Millan <rmh@aybabtu.com>
36889
36890 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
36891 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
36892 comparing it with -1, not 0.
36893
36894 2008-02-10 Robert Millan <rmh@aybabtu.com>
36895
36896 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
36897 `disk/lvm.c'.
36898 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36899 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
36900
36901 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
36902 `disk/lvm.c' to the end of the list.
36903 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
36904 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36905
36906 2008-02-10 Robert Millan <rmh@aybabtu.com>
36907
36908 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
36909 grub_print_error() instead. This will let user know why we're entering
36910 rescue mode.
36911 Based on suggestions from Sam Morris.
36912
36913 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
36914
36915 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
36916 on remaining N args, instead of "--" arg N times.
36917
36918 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
36919
36920 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
36921 (fill_with_default_glyph): Changed to use unknown_glyph for fill
36922 pattern for unknown glyphs.
36923
36924 2008-02-09 Robert Millan <rmh@aybabtu.com>
36925
36926 * configure.ac: Probe for `help2man'.
36927 * Makefile.in (builddir): New variable.
36928 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
36929 or otherwise add a few flags/options to it.
36930 (install-local): For every executable utility or script that is
36931 installed, invoke $(HELP2MAN) to install a manpage based on --help
36932 output.
36933
36934 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
36935 that it doesn't prevent --help from working in build tree.
36936
36937 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
36938 with `bug-grub@gnu.org'.
36939 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
36940 * util/update-grub.in (usage): New function.
36941 Implement proper argument check, with support for --help and --version
36942 (as well as existing -y).
36943
36944 2008-02-09 Christian Franke <franke@computer.org>
36945
36946 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
36947 avoid overwriting previous output.
36948 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
36949
36950 2008-02-09 Robert Millan <rmh@aybabtu.com>
36951
36952 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
36953 drawing the menu.
36954
36955 2008-02-09 Robert Millan <rmh@aybabtu.com>
36956
36957 * commands/sleep.c: New file.
36958 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
36959 (sleep_mod_SOURCES): New variable.
36960 (sleep_mod_CFLAGS): Likewise.
36961 (sleep_mod_LDFLAGS): Likewise.
36962
36963 2008-02-09 Robert Millan <rmh@aybabtu.com>
36964
36965 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
36966 situations in which we can deduce the RAID size and the superblock
36967 doesn't match it.
36968
36969 2008-02-09 Robert Millan <rmh@aybabtu.com>
36970
36971 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
36972 and return a grub_diskmemberlist_t composed of LVM physical volumes.
36973 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
36974
36975 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
36976 and return a grub_diskmemberlist_t composed of physical array members.
36977 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
36978
36979 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
36980 prototype.
36981 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
36982 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
36983 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
36984
36985 * util/grub-probe.c (probe): Move partmap probing code from here ...
36986 (probe_partmap): ... to here.
36987 (probe): Use probe_partmap() once for the disk we're probing, and
36988 additionally, when such disk contains a memberlist() struct member,
36989 once for each disk that is contained in the structure returned by
36990 memberlist().
36991
36992 2008-02-09 Robert Millan <rmh@aybabtu.com>
36993
36994 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
36995 environment variable to 'all' in order to obtain debug output from
36996 non-util/ code.
36997 * util/i386/pc/grub-setup.c (main): Likewise.
36998
36999 2008-02-08 Robert Millan <rmh@aybabtu.com>
37000
37001 * disk/raid.c (grub_raid_scan_device): Check for
37002 `array->device[sb.this_disk.number]' rather than for
37003 `array->device[sb.this_disk.number]->name', since the latter is not
37004 guaranteed to be accessible.
37005
37006 2008-02-08 Robert Millan <rmh@aybabtu.com>
37007
37008 * disk/raid.c: Update copyright.
37009 * fs/cpio.c: Likewise.
37010 * include/grub/raid.h: Likewise.
37011 * loader/i386/pc/multiboot.c: Likewise.
37012 * util/hostfs.c: Likewise.
37013
37014 2008-02-08 Robert Millan <rmh@aybabtu.com>
37015
37016 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
37017 to a grub_disk_t array.
37018 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
37019 `device[x]'.
37020 (grub_raid_scan_device): Replace `device[x].name' accesses with
37021 `device[x]->name'. Simplify initialization of `array->device[x]'.
37022
37023 2008-02-08 Robert Millan <rmh@aybabtu.com>
37024
37025 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
37026 grub_dprintf() calls.
37027 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
37028 error message.
37029
37030 2008-02-07 Christian Franke <franke@computer.org>
37031
37032 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
37033 instead of fseek and ftell to support large files.
37034 (grub_hostfs_read): Likewise.
37035
37036 2008-02-07 Robert Millan <rmh@aybabtu.com>
37037
37038 Patch from Jeroen Dekkers.
37039 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
37040 failure, since successfully reading all array members might not be
37041 required.
37042
37043 2008-02-06 Robert Millan <rmh@aybabtu.com>
37044
37045 * util/grub-probe.c (probe): Simplify partmap probing (with the
37046 assumption that the first word up to the underscore equals to
37047 the module name).
37048
37049 2008-02-06 Christian Franke <franke@computer.org>
37050
37051 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
37052 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
37053 last block of a cpio or tar stream.
37054 Check for "TRAILER!!!" instead of any empty data
37055 block to detect last block of a cpio stream.
37056 (grub_cpio_dir): Fix constness of variable np.
37057 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
37058 cpio or tar trailer is detected. This fixes a crash
37059 on open of a non existing file.
37060
37061 2008-02-05 Bean <bean123ch@gmail.com>
37062
37063 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
37064 address of entry.
37065 (grub_multiboot_load_elf64): Likewise.
37066 (grub_multiboot): Initialize mbi structure.
37067
37068 * util/grub-fstest.c: Don't include unused header file script.h.
37069
37070 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
37071 of file.
37072 (grub_fstest_SOURCES): Likewise.
37073
37074 2008-02-05 Robert Millan <rmh@aybabtu.com>
37075
37076 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
37077 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
37078 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
37079 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
37080
37081 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
37082 (translation_table): Replace hardcoded values with macros
37083 provided by `<grub/term.h>'.
37084
37085 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
37086 (keyboard_map): Correct/add a few values, with macros provided
37087 by `<grub/term.h>'.
37088 (keyboard_map_shift): Zero values that don't differ from their
37089 `keyboard_map' equivalents.
37090 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
37091 Discard the second scan code that is always sent by Caps lock.
37092 Only use `keyboard_map_shift' when it provides a non-zero value,
37093 otherwise fallback to `keyboard_map'.
37094
37095 2008-02-04 Bean <bean123ch@gmail.com>
37096
37097 * Makefile.in (enable_grub_fstest): New variable.
37098
37099 * conf/common.rmk (grub_fstest_init.lst): New rule.
37100 (grub_fstest_init.h): Likewise.
37101 (grub_fstest_init.c): Likewise.
37102 (util/grub-fstest.c_DEPENDENCIES): New variable.
37103 (grub_fstest_SOURCES): Likewise.
37104
37105 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
37106
37107 * util/grub-fstest.c: New file.
37108
37109 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
37110
37111 Make grub-setup handle a separate root device.
37112
37113 * util/i386/pc/grub-setup.c (setup): Always open the root device,
37114 so that the root device can be compared with the destination
37115 device.
37116 When embedding the core image, if the root and destination devices
37117 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
37118 0xFF.
37119 When not embedding, set ROOT_DRIVE to 0xFF.
37120
37121 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
37122
37123 Add support for having a grub directory in a different drive. This
37124 is still only the data handling part.
37125
37126 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
37127 (codestart): Save %dh in GRUB_ROOT_DRIVE.
37128 (grub_root_drive): New variable.
37129
37130 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
37131 instead of GRUB_BOOT_DRIVE to construct a device name. Set
37132 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
37133 as it was.
37134
37135 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
37136
37137 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
37138 macro.
37139 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
37140
37141 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
37142 is bogus, because PXE booting does not specify any drive
37143 correctly.
37144
37145 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
37146 am not sure if this is really correct.
37147
37148 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
37149 is always identical to the boot drive when booting from a CD.
37150
37151 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
37152 longer.
37153 (root_drive): New variable.
37154 (real_start): Unconditionally set %dh to ROOT_DRIVE.
37155 (setup_sectors): Push %dx right after popping it, because %dh will
37156 be modified later.
37157 (copy_buffer): Restore %dx.
37158
37159 2008-02-03 Robert Millan <rmh@aybabtu.com>
37160
37161 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
37162 use `cdboot.img' for cdrom images.
37163
37164 2008-02-03 Robert Millan <rmh@aybabtu.com>
37165
37166 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
37167 only setup gfxterm when `font' command has succeeded.
37168
37169 2008-02-03 Robert Millan <rmh@aybabtu.com>
37170
37171 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
37172 (grub_rescue_cmd_multiboot_loader)
37173 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
37174
37175 2008-02-03 Pavel Roskin <proski@gnu.org>
37176
37177 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
37178 %edx and %esi from stack only after grub_gate_a20() is called.
37179 grub_gate_a20() clobbers %edx.
37180
37181 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
37182
37183 * configure.ac (AC_INIT): Bumped to 1.96.
37184
37185 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
37186 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
37187 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
37188 video/readers/png.c.
37189
37190 2008-02-03 Bean <bean123ch@gmail.com>
37191
37192 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
37193 (cdboot_img_SOURCES): New variable.
37194 (cdboot_img_ASFLAGS): New variable.
37195 (cdboot_img_LDFLAGS): New variable.
37196
37197 * boot/i386/pc/cdboot.S: New file.
37198
37199 * disk/i386/pc/biosdisk.c (cd_start): New variable.
37200 (cd_count): Likewise.
37201 (grub_biosdisk_get_drive): Add support for cd device.
37202 (grub_biosdisk_call_hook): Likewise.
37203 (grub_biosdisk_iterate): Likewise.
37204 (grub_biosdisk_open): Likewise.
37205 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
37206 (grub_biosdisk_rw): Support reading from cd device.
37207 (GRUB_MOD_INIT): Iterate cd devices.
37208
37209 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
37210 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
37211 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
37212
37213 * kern/i386/pc/init.c (make_install_device): Check for cd device.
37214
37215 2008-02-02 Robert Millan <rmh@aybabtu.com>
37216
37217 * commands/read.c: New file.
37218 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
37219 (read_mod_SOURCES): New variable.
37220 (read_mod_CFLAGS): Likewise.
37221 (read_mod_LDFLAGS): Likewise.
37222
37223 2008-02-02 Robert Millan <rmh@aybabtu.com>
37224
37225 * normal/main.c (grub_normal_execute): Check for `menu->size' when
37226 determining whether menu has to be displayed.
37227
37228 2008-02-02 Marco Gerards <marco@gnu.org>
37229
37230 * bus/pci.c: New file.
37231
37232 * include/grub/pci.h: Likewise.
37233
37234 * include/grub/i386/pc/pci.h: Likewise.
37235
37236 * commands/lspci.c: Likewise.
37237
37238 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
37239 `lspci.mod'.
37240 (pci_mod_SOURCES): New variable.
37241 (pci_mod_CFLAGS): Likewise.
37242 (pci_mod_LDFLAGS): Likewise.
37243 (lspci_mod_SOURCES): Likewise.
37244 (lspci_mod_CFLAGS): Likewise.
37245 (lspci_mod_LDFLAGS): Likewise.
37246
37247 2008-02-02 Bean <bean123ch@gmail.com>
37248
37249 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
37250 (grub_ufs_get_file_block): Fix indirect block calculation problem.
37251
37252 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
37253 (grub_xfs_btree_node): New structure.
37254 (grub_xfs_btree_root): New structure.
37255 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
37256 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
37257 (GRUB_XFS_EXTENT_BLOCK): Likewise.
37258 (GRUB_XFS_EXTENT_SIZE): Likewise.
37259 (grub_xfs_read_block): Support btree format type.
37260 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
37261 Use directory block as basic unit.
37262
37263 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
37264
37265 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
37266 __attribute__ ((__regparm__ (1))).
37267
37268 2008-02-01 Robert Millan <rmh@aybabtu.com>
37269
37270 Correct a mistake in previous commit.
37271
37272 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
37273 top.
37274 (normal/command.c_DEPENDENCIES): New variable.
37275
37276 2008-02-01 Robert Millan <rmh@aybabtu.com>
37277
37278 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
37279 top.
37280 (normal/command.c_DEPENDENCIES): New variable.
37281 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
37282 * conf/i386-ieee1275.rmk: Likewise.
37283 * conf/i386-linuxbios.rmk: Likewise.
37284 * conf/i386-pc.rmk: Likewise.
37285 * conf/sparc64-ieee1275.rmk: Likewise.
37286 * conf/powerpc-ieee1275.rmk: Likewise.
37287 (grub_emu_SOURCES): Add `fs/fshelp.c'.
37288
37289 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
37290
37291 2008-02-01 Robert Millan <rmh@aybabtu.com>
37292
37293 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
37294 call at beginning of function.
37295
37296 2008-01-31 Pavel Roskin <proski@gnu.org>
37297
37298 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
37299 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
37300 (grub_mkrescue_SOURCES): Likewise.
37301 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
37302
37303 2008-01-30 Robert Millan <rmh@aybabtu.com>
37304
37305 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
37306 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
37307 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
37308 (grub_probe_SOURCES): ... to here.
37309
37310 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
37311 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
37312 * conf/i386-ieee1275.rmk: Likewise.
37313 * conf/i386-linuxbios.rmk: Likewise.
37314 * conf/powerpc-ieee1275.rmk: Likewise.
37315
37316 2008-01-30 Tristan Gingold <gingold@free.fr>
37317
37318 * kern/rescue.c: Silently accept empty lines.
37319
37320 2008-01-29 Bean <bean123ch@gmail.com>
37321
37322 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
37323 (real_code_2): Code cleanup and change comment style.
37324 (move_memory): Avoid using 32-bit address mode.
37325
37326 2008-01-29 Bean <bean123ch@gmail.com>
37327
37328 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
37329 (png_mod_SOURCES): New variable.
37330 (png_mod_CFLAGS): Likewise.
37331 (png_mod_LDFLAGS): Likewise.
37332
37333 * video/readers/png.c: New file.
37334
37335 2008-01-28 Robert Millan <rmh@aybabtu.com>
37336
37337 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
37338 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
37339 `ifndef GRUB_MOD_GAP' hack.
37340 * util/elf/grub-mkimage.c (add_segments): Likewise.
37341
37342 2008-01-27 Robert Millan <rmh@aybabtu.com>
37343
37344 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
37345 `GRUB_MOD_GAP' for platforms in which it's not defined.
37346 * util/elf/grub-mkimage.c (add_segments): Likewise.
37347
37348 2008-01-27 Robert Millan <rmh@aybabtu.com>
37349
37350 Get grub-emu to build again (including parallel builds).
37351
37352 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
37353 Split into ...
37354 (util/grub-emu.c_DEPENDENCIES): ... this, ...
37355 (normal/execute.c_DEPENDENCIES): ... this, ...
37356 (grub-emu_DEPENDENCIES): ... and this.
37357
37358 * conf/i386-efi.rmk: Likewise.
37359 * conf/i386-linuxbios.rmk: Likewise.
37360 * conf/i386-ieee1275.rmk: Likewise.
37361 * conf/powerpc-ieee1275.rmk: Likewise.
37362 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
37363
37364 2008-01-27 Robert Millan <rmh@aybabtu.com>
37365
37366 * NEWS: Add a few items.
37367
37368 2008-01-27 Robert Millan <rmh@aybabtu.com>
37369
37370 Fix parallel builds with grub-emu. Based on earlier commit for
37371 grub-probe and grub-setup.
37372
37373 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37374 (util/grub-emu.c_DEPENDENCIES): ... this.
37375 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37376 (util/grub-emu.c_DEPENDENCIES): ... this.
37377 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37378 (util/grub-emu.c_DEPENDENCIES): ... this.
37379 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37380 (util/grub-emu.c_DEPENDENCIES): ... this.
37381 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37382 (util/grub-emu.c_DEPENDENCIES): ... this.
37383
37384 2008-01-27 Pavel Roskin <proski@gnu.org>
37385
37386 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
37387 to create a gap between _end and the modules added to the image
37388 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
37389 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
37390 * util/elf/grub-mkimage.c (add_segments): Likewise.
37391
37392 2008-01-26 Pavel Roskin <proski@gnu.org>
37393
37394 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
37395 just return an error.
37396
37397 2008-01-26 Bean <bean123ch@gmail.com>
37398
37399 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
37400 (grub_reiserfs_get_item): Save offset of the next item.
37401 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
37402
37403 2008-01-25 Robert Millan <rmh@aybabtu.com>
37404
37405 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
37406 make all filesystem sources appear together (possibly fixing omissions
37407 while at it).
37408 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37409 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37410 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37411 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37412
37413 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
37414 add `kern/file.c'.
37415 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
37416 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
37417 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
37418 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
37419
37420 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
37421 (probe): Add a sanity check to make sure of our ability to read
37422 requested files when probing for filesystem type.
37423
37424 * genmk.rb: Update copyright year (2007).
37425
37426 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
37427 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
37428 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
37429 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
37430 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
37431 : Remove function prototypes.
37432
37433 2008-01-25 Robert Millan <rmh@aybabtu.com>
37434
37435 Revert my previous commits (based on wrong assumption of how grub_errno
37436 works).
37437
37438 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
37439 * kern/file.c (grub_file_open): Likewise.
37440
37441 2008-01-24 Pavel Roskin <proski@gnu.org>
37442
37443 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
37444 that hang if GRUB tries to setup colors.
37445 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
37446 colors for firmwares that don't support it.
37447 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
37448 Recognize Open Hack'Ware, set flags to work around its
37449 limitations.
37450
37451 2008-01-24 Robert Millan <rmh@aybabtu.com>
37452
37453 * kern/file.c (grub_file_open): Do not account previous failures of
37454 unrelated functions when grub_errno is checked for.
37455 Reported by Oleg Strikov.
37456
37457 2008-01-24 Bean <bean123ch@gmail.com>
37458
37459 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
37460 (grub_ufs_sblock): New member volume name.
37461 (grub_ufs_find_file): Fix string copy bug.
37462 (grub_ufs_label): Implement this function properly.
37463
37464 * fs/hfs.c (grub_hfs_cnid_type): New enum.
37465 (grub_hfs_iterate_records): Use the correct file number for extents
37466 and catalog file. Fix problem in next index calculation.
37467 (grub_hfs_find_node): Replace recursive function call with loop.
37468 (grub_hfs_iterate_dir): Replace recursive function call with loop.
37469
37470 2008-01-23 Robert Millan <rmh@aybabtu.com>
37471
37472 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
37473 `<grub/symbol.h>' and `<grub/multiboot.h>'.
37474 (grub_multiboot2_real_boot): New function prototype.
37475
37476 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
37477 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
37478
37479 * kern/i386/ieee1275/init.c (grub_os_area_addr)
37480 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
37481
37482 2008-01-23 Robert Millan <rmh@aybabtu.com>
37483
37484 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
37485 #ifdef'ed out grub_printf().
37486
37487 2008-01-23 Robert Millan <rmh@aybabtu.com>
37488
37489 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
37490 grub_dprintf calls, since they make "debug=all" mode unusable.
37491 (grub_console_checkkey): Likewise.
37492
37493 2008-01-23 Robert Millan <rmh@aybabtu.com>
37494
37495 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
37496 `term/i386/pc/at_keyboard.c'.
37497 (pkglib_MODULES): Add `serial.mod'.
37498 (serial_mod_SOURCES): New variable.
37499 (serial_mod_CFLAGS): Likewise.
37500 (serial_mod_LDFLAGS): Likewise.
37501
37502 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
37503 `<grub/powerpc/ieee1275/console.h>'.
37504 (grub_keyboard_controller_init): New function prototype.
37505 (grub_console_checkkey): Likewise.
37506 (grub_console_getkey): Likewise.
37507
37508 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
37509 keyboard on i386.
37510
37511 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
37512 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
37513
37514 2008-01-23 Robert Millan <rmh@aybabtu.com>
37515
37516 * kern/i386/pc/init.c (make_install_device): When memdisk image is
37517 present, "(memdisk)/boot/grub" becomes the default prefix.
37518
37519 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
37520 a memdisk tarball with all the modules. Add --overlay=DIR option that
37521 allows users to overlay additional files into the image.
37522
37523 2008-01-23 Robert Millan <rmh@aybabtu.com>
37524
37525 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
37526 and `machine/memory.h'.
37527 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
37528 (_multiboot_mod_SOURCES): New variable.
37529 (_multiboot_mod_CFLAGS): Likewise.
37530 (_multiboot_mod_LDFLAGS): Likewise.
37531 (multiboot_mod_SOURCES): Likewise.
37532 (multiboot_mod_CFLAGS): Likewise.
37533 (multiboot_mod_LDFLAGS): Likewise.
37534
37535 * include/grub/i386/ieee1275/loader.h: New file.
37536
37537 * include/grub/i386/ieee1275/machine.h: Likewise.
37538
37539 * include/grub/i386/ieee1275/memory.h: Likewise.
37540
37541 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
37542 variable declaration.
37543 (grub_os_area_size): Likewise.
37544
37545 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
37546 (grub_lower_mem, grub_upper_mem): New variables.
37547 (grub_stop_floppy): New function (just to make
37548 grub_multiboot2_real_boot() happy).
37549
37550 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
37551 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
37552 (grub_stop): New function.
37553 Include `"../realmode.S"' and `"../loader.S"'.
37554
37555 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
37556 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
37557
37558 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
37559 rely on grub_multiboot2_real_boot() for final boot.
37560
37561 2008-01-22 Robert Millan <rmh@aybabtu.com>
37562
37563 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
37564 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
37565 device that doesn't look like an SD card.
37566 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
37567 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
37568 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
37569 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
37570 found.
37571
37572 2008-01-22 Robert Millan <rmh@aybabtu.com>
37573
37574 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
37575 avoid claiming over our own code.
37576
37577 2008-01-22 Bean <bean123ch@gmail.com>
37578
37579 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
37580 (jpeg_mod_SOURCES): New variable.
37581 (jpeg_mod_CFLAGS): Likewise.
37582 (jpeg_mod_LDFLAGS): Likewise.
37583
37584 * video/readers/jpeg.c : New file.
37585
37586 2008-01-22 Bean <bean123ch@gmail.com>
37587
37588 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
37589 there are no more items.
37590
37591 2008-01-21 Robert Millan <rmh@aybabtu.com>
37592
37593 * kern/mm.c (grub_mm_init_region): Improve debug message.
37594
37595 2008-01-21 Robert Millan <rmh@aybabtu.com>
37596
37597 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
37598 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
37599 address.
37600 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
37601 a C macro.
37602 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
37603 Indicates start of upper memory.
37604 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
37605 (generate_image): Abort when image size is big enough to corrupt
37606 upper memory.
37607
37608 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
37609 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
37610 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
37611 instead of hardcoding 0xA0000.
37612 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
37613 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
37614 instead of hardcoding 0xA0000.
37615
37616 2008-01-21 Robert Millan <rmh@aybabtu.com>
37617
37618 * disk/memdisk.c (memdisk_size): New variable.
37619 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
37620 `memdisk_size'.
37621 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
37622 image to dynamic memory.
37623 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
37624 `memdisk_size'. Free memdisk block.
37625
37626 2008-01-21 Robert Millan <rmh@aybabtu.com>
37627
37628 Fix detection of very small filesystems (like tar).
37629
37630 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
37631 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
37632 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
37633 a problem with this disk).
37634
37635 2008-01-21 Robert Millan <rmh@aybabtu.com>
37636
37637 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
37638 on grub_biosdisk_rw_standard() error.
37639
37640 2008-01-21 Robert Millan <rmh@aybabtu.com>
37641
37642 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
37643 recent changes.
37644 * kern/elf.c: Likewise.
37645 * kern/ieee1275/ieee1275.c: Likewise.
37646 * kern/powerpc/ieee1275/openfw.c: Likewise.
37647 * term/ieee1275/ofconsole.c: Likewise.
37648
37649 2008-01-21 Robert Millan <rmh@aybabtu.com>
37650
37651 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
37652
37653 * include/grub/kernel.h (grub_arch_memdisk_addr)
37654 (grub_arch_memdisk_size): Moved from here ...
37655
37656 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
37657 (grub_arch_memdisk_size): ... to here.
37658
37659 2008-01-21 Robert Millan <rmh@aybabtu.com>
37660
37661 Mostly based on bugfix from Bean.
37662
37663 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
37664 attribute with hook() parameter.
37665 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
37666 declaration.
37667 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
37668 attribute with hook() parameter.
37669 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
37670 declaration.
37671
37672 2008-01-21 Robert Millan <rmh@aybabtu.com>
37673
37674 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
37675 (pkglib_MODULES): Add `memdisk.mod'.
37676 (memdisk_mod_SOURCES): New variable.
37677 (memdisk_mod_CFLAGS): Likewise.
37678 (memdisk_mod_LDFLAGS): Likewise.
37679
37680 * disk/memdisk.c: New file.
37681
37682 * include/grub/disk.h (grub_disk_dev_id): Add
37683 `GRUB_DISK_DEVICE_MEMDISK_ID'.
37684
37685 * include/grub/i386/pc/kernel.h
37686 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
37687 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
37688 (grub_kernel_image_size): New variable declaration.
37689 (grub_total_module_size): Likewise.
37690 (grub_memdisk_image_size): Likewise.
37691
37692 * include/grub/i386/pc/memory.h
37693 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
37694
37695 * include/grub/kernel.h: Include `<grub/symbol.h>'.
37696 (grub_arch_memdisk_addr): New variable declaration.
37697 (grub_arch_memdisk_size): Likewise.
37698
37699 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
37700 (grub_arch_memdisk_size): Likewise.
37701
37702 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
37703 (codestart): Replace hardcoded `0x100000' with
37704 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
37705
37706 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
37707 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
37708 not NULL, append the contents of the file it refers to, at the end of
37709 the compressed kernel image. Initialize `grub_memdisk_image_size'
37710 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
37711 (options): Add "memdisk"|'m' option.
37712 (main): Parse --memdisk|-m option, and pass user-provided path as
37713 parameter to generate_image().
37714
37715 2008-01-20 Robert Millan <rmh@aybabtu.com>
37716
37717 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
37718 grub_dprintf() calls from here ...
37719 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
37720
37721 2008-01-20 Robert Millan <rmh@aybabtu.com>
37722
37723 Fix detection of "real mode" when /options/real-mode? doesn't exist.
37724
37725 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
37726 declaration.
37727 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
37728 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
37729 `GRUB_IEEE1275_FLAG_REAL_MODE'.
37730 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
37731 property).
37732 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
37733 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
37734
37735 2008-01-19 Robert Millan <rmh@aybabtu.com>
37736
37737 Get rid of confusing function (superseded by
37738 `grub_ieee1275_get_integer_property')
37739 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
37740 prototype.
37741 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
37742 function.
37743 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
37744 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
37745 in native endianness from grub_ieee1275_get_integer_property().
37746
37747 2008-01-19 Robert Millan <rmh@aybabtu.com>
37748
37749 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
37750 command after "shut-down", since implementations differ on which
37751 the command for halt is.
37752
37753 2008-01-19 Robert Millan <rmh@aybabtu.com>
37754
37755 * include/grub/i386/linuxbios/console.h: Add header protection.
37756 (grub_keyboard_controller_init): New function prototype.
37757 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
37758 (KEYBOARD_COMMAND_READ): Likewise.
37759 (KEYBOARD_COMMAND_WRITE): Likewise.
37760 (KEYBOARD_SCANCODE_SET1): Likewise.
37761 (grub_keyboard_controller_write): New function.
37762 (grub_keyboard_controller_read): Likewise.
37763 (grub_keyboard_controller_init): Likewise.
37764
37765 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
37766 (grub_console_init): On coreboot/LinuxBIOS, call
37767 grub_keyboard_controller_init().
37768
37769 2008-01-19 Robert Millan <rmh@aybabtu.com>
37770
37771 PowerPC changes provided by Pavel Roskin.
37772
37773 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
37774 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
37775 don't rely on cmain() doing it.
37776 * kern/i386/ieee1275/startup.S (_start): Store %eax in
37777 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
37778
37779 2008-01-16 Robert Millan <rmh@aybabtu.com>
37780
37781 * include/grub/i386/linuxbios/memory.h
37782 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
37783 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
37784 receive `table_header' as argument. Instead, probe for it in the
37785 known memory ranges where it can be present.
37786 (grub_available_iterate): Do not pass a fixed `table_header' address
37787 to grub_linuxbios_table_iterate().
37788
37789 2008-01-15 Robert Millan <rmh@aybabtu.com>
37790
37791 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
37792 * conf/i386-ieee1275.rmk: New file.
37793 * include/grub/i386/ieee1275/console.h: Likewise.
37794 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
37795 * include/grub/i386/ieee1275/kernel.h: Likewise.
37796 * include/grub/i386/ieee1275/time.h: Likewise.
37797 * kern/i386/ieee1275/init.c: Likewise.
37798 * kern/i386/ieee1275/startup.S: Likewise.
37799
37800 2008-01-15 Robert Millan <rmh@aybabtu.com>
37801
37802 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
37803 when pointers are 32-bit (but still do set it to one when they are
37804 64-bit).
37805
37806 2008-01-15 Robert Millan <rmh@aybabtu.com>
37807
37808 * include/grub/ieee1275/ieee1275.h
37809 (grub_ieee1275_get_integer_property): New function prototype.
37810
37811 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
37812 (grub_ieee1275_get_integer_property): New function. Wraps around
37813 grub_ieee1275_get_property() to handle endianness.
37814
37815 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
37816 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
37817 where appropriate.
37818 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
37819 (grub_map): Likewise.
37820 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
37821
37822 2008-01-15 Bean <bean123ch@gmail.com>
37823
37824 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
37825 (grub_script_execute_cmdline): Reset grub_errno.
37826
37827 * normal/main.c (read_config_file): Reset grub_errno.
37828
37829 * normal/parse.y (script_init): New.
37830 (script): Move function and menuentry here.
37831 (delimiter): New.
37832 (command): Add delimiter at the end of command.
37833 (commands): Adjust to match the new command.
37834 (commandblock): Remove grub_script_lexer_record_start.
37835 (menuentry): Add grub_script_lexer_record_start, use the new commands.
37836 (if): Use the new commands.
37837
37838 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
37839
37840 2008-01-15 Robert Millan <rmh@aybabtu.com>
37841
37842 * normal/menu.c (run_menu): Move timeout message from here ...
37843 (print_timeout): ... to here.
37844 (run_menu): Use print_timeout() once during initial draw to print
37845 the whole message, and again in every clock tick to update only
37846 the number of seconds.
37847
37848 2008-01-15 Robert Millan <rmh@aybabtu.com>
37849
37850 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
37851 actual size of `available' from grub_ieee1275_get_property(), and
37852 restrict parsing to that bound.
37853
37854 2008-01-15 Christian Franke <franke@computer.org>
37855
37856 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
37857 (argp_program_version): Remove variable.
37858 (argp_program_bug_address): Likewise.
37859 (options): Convert from struct argp_option to struct option.
37860 (struct arguments): Remove.
37861 (parse_opt): Remove.
37862 (usage): New function.
37863 (main): Replace struct args members by simple variables.
37864 Replace argp_parse() by getopt_long().
37865 Add switch to evaluate options.
37866 Add missing "(...)" around root_dev in prefix string.
37867
37868 2008-01-14 Robert Millan <rmh@aybabtu.com>
37869
37870 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
37871 for grub_ieee1275_exit(), in order to improve portability.
37872
37873 2008-01-14 Robert Millan <rmh@aybabtu.com>
37874
37875 * util/grub.d/10_linux.in (prefix): Define.
37876 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
37877
37878 2008-01-13 Pavel Roskin <proski@gnu.org>
37879
37880 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
37881 grub_errno if no errors have been detected.
37882
37883 2008-01-12 Robert Millan <rmh@aybabtu.com>
37884
37885 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
37886 (grub_util_get_dev_abstraction): New function prototype.
37887
37888 * util/getroot.c: Include `<grub/util/getroot.h>'
37889 (grub_util_get_grub_dev): Move detection of abstraction type to ...
37890 (grub_util_get_dev_abstraction): ... here (new function).
37891
37892 * util/grub-probe.c: Convert PRINT_* to an enum. Add
37893 `PRINT_ABSTRACTION'.
37894 (probe): Probe for abstraction type when requested.
37895 (main): Understand `--target=abstraction'.
37896
37897 * util/i386/efi/grub-install.in: Add abstraction module to core
37898 image when it is found to be necessary.
37899 * util/i386/pc/grub-install.in: Likewise.
37900 * util/powerpc/ieee1275/grub-install.in: Likewise.
37901
37902 * util/update-grub_lib.in (font_path): Return system path without
37903 converting to GRUB path.
37904 * util/update-grub.in: Convert system path returned by font_path()
37905 to a GRUB path. Use `grub-probe -t abstraction' to determine what
37906 abstraction module is needed for loading fonts (if any). Export
37907 that as `GRUB_PRELOAD_MODULES'.
37908 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
37909 insmod commands).
37910
37911 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
37912
37913 Remove some unused code from reiserfs.
37914
37915 * fs/reiserfs.c (struct grub_reiserfs_key)
37916 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
37917 (struct grub_reiserfs_node_body): Removed.
37918 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
37919 Likewise.
37920 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
37921 Likewise.
37922 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
37923 Likewise.
37924 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
37925 Likewise.
37926 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
37927 Likewise.
37928 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
37929 Likewise.
37930 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
37931 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
37932 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
37933
37934 2008-01-10 Robert Millan <rmh@aybabtu.com>
37935
37936 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
37937 Determines if a file is garbage left by packaging systems, etc.
37938 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
37939 for processing /etc/grub.d scripts.
37940 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
37941 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
37942 as a condition for processing Linux images.
37943
37944 2008-01-10 Pavel Roskin <proski@gnu.org>
37945
37946 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
37947 to compile reiserfs.c on PowerPC.
37948
37949 2008-01-10 Robert Millan <rmh@aybabtu.com>
37950
37951 * kern/device.c (grub_device_iterate): Do not abort device iteration
37952 when one of the devices cannot be opened.
37953 * kern/disk.c (grub_disk_open): Do not account previous failures of
37954 unrelated functions when grub_errno is checked for.
37955
37956 2008-01-08 Robert Millan <rmh@aybabtu.com>
37957
37958 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
37959 `! grub_linux_is_bzimage', change order of address comparison to make
37960 it more intuitive, and improve "too big zImage" error message.
37961
37962 2008-01-08 Robert Millan <rmh@aybabtu.com>
37963
37964 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
37965 `$(update-grub_DATA)'.
37966 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
37967 targets.
37968
37969 2008-01-07 Robert Millan <rmh@aybabtu.com>
37970
37971 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
37972 which instruction is modified by grub-setup during installation
37973 (since it wasn't obvious by only looking at this file).
37974
37975 2008-01-07 Robert Millan <rmh@aybabtu.com>
37976
37977 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
37978 listing actual TODO items.
37979
37980 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
37981
37982 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
37983 correctly.
37984 (grub_reiserfs_get_key_offset): Likewise.
37985 (grub_reiserfs_set_key_offset): Likewise.
37986 (grub_reiserfs_set_key_type): Likewise.
37987 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
37988
37989 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
37990 better to remove the bitfield version completely.
37991
37992 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
37993
37994 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
37995 allocated from the heap, due to the fshelp implementation.
37996 (grub_reiserfs_dir): Free NODE, due to the same reason.
37997
37998 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
37999
38000 Mostly from Vincent Pelletier:
38001
38002 * fs/reiserfs.c: New file.
38003
38004 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
38005 (reiserfs_mod_SOURCES): New variable.
38006 (reiserfs_mod_CFLAGS): Likewise.
38007 (reiserfs_mod_LDFLAGS): Likewise.
38008
38009 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
38010 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
38011 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
38012 normal/color.c.
38013
38014 2008-01-06 Robert Millan <rmh@aybabtu.com>
38015
38016 * normal/color.c: Remove `<grub/env.h>'.
38017
38018 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
38019
38020 * include/grub/normal.h: Include <grub/env.h>.
38021
38022 2008-01-05 Robert Millan <rmh@aybabtu.com>
38023
38024 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
38025 usage example with `(hd0,1)'.
38026 Reported by Samuel Thibault.
38027
38028 2008-01-05 Robert Millan <rmh@aybabtu.com>
38029
38030 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
38031 (grub_linux_boot_zimage): Rename to ...
38032 (grub_linux_boot): ... this.
38033 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
38034 (grub_linux_boot_zimage): Conditionalize zImage copy.
38035
38036 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
38037 (grub_linux_boot_bzimage): Remove prototype.
38038 (grub_linux_boot_zimage): Rename to ...
38039 (grub_linux_boot): ... this.
38040
38041 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
38042 (grub_linux_boot): Remove function.
38043
38044 2008-01-05 Robert Millan <rmh@aybabtu.com>
38045
38046 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
38047 (grub_env_write_color_highlight): Likewise.
38048 (grub_wait_after_message): Likewise.
38049
38050 * normal/color.c: New file.
38051
38052 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38053 (normal_mod_DEPENDENCIES): Likewise.
38054
38055 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38056 (normal_mod_DEPENDENCIES): Likewise.
38057
38058 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38059 (normal_mod_DEPENDENCIES): Likewise.
38060
38061 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38062 (normal_mod_DEPENDENCIES): Likewise.
38063
38064 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
38065 for waiting after a message is printed.
38066 * normal/main.c (read_config_file): Likewise.
38067 (grub_normal_init): Register grub_env_write_color_normal() and
38068 grub_env_write_color_highlight() hooks. Mark `color_normal' and
38069 `color_highlight' variables as global.
38070
38071 * normal/menu.c (grub_wait_after_message): New function.
38072 (grub_color_menu_normal): New variable. Replaces ...
38073 (GRUB_COLOR_MENU_NORMAL): ... this macro.
38074 (grub_color_menu_highlight): New variable. Replaces ...
38075 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
38076 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
38077 `GRUB_TERM_COLOR_STANDARD'.
38078 (print_message): Use `grub_setcolorstate' to reload colors. Rename
38079 `normal_code' and `highlight_code' to `old_color_normal' and
38080 `old_color_highlight', respectively.
38081 (grub_menu_init_page): Update colors when drawing the menu, based on
38082 `menu_color_normal' and `menu_color_highlight' variables.
38083 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
38084 a message is printed.
38085
38086 2008-01-05 Robert Millan <rmh@aybabtu.com>
38087
38088 * kern/env.c (grub_env_context_open): Propagate hooks for global
38089 variables to new context.
38090
38091 * kern/main.c (grub_set_root_dev): Export `root' variable.
38092
38093 2008-01-05 Robert Millan <rmh@aybabtu.com>
38094
38095 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
38096 discs unconditionally, since udev and others have options to provide
38097 them.
38098
38099 2008-01-05 Robert Millan <rmh@aybabtu.com>
38100
38101 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
38102
38103 2008-01-04 Christian Franke <franke@computer.org>
38104
38105 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
38106 of eisa_mmap.
38107
38108 2008-01-03 Pavel Roskin <proski@gnu.org>
38109
38110 * kern/i386/linuxbios/init.c: Put "void" to all function
38111 declarations with no arguments.
38112 * kern/powerpc/ieee1275/init.c: Likewise.
38113 * term/i386/pc/at_keyboard.c: Likewise.
38114 * term/i386/pc/vga_text.c: Likewise.
38115 * util/grub-mkdevicemap.c: Likewise.
38116
38117 2008-01-02 Robert Millan <rmh@aybabtu.com>
38118
38119 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
38120 message when loaded image is out of bounds.
38121 (grub_multiboot_load_elf64): Likewise.
38122
38123 2008-01-02 Pavel Roskin <proski@gnu.org>
38124
38125 * util/grub.d/10_linux.in: Try version without ".old" when
38126 looking for initrd. It's better to use initrd from the newer
38127 kernel of the same version than no initrd at all.
38128
38129 2008-01-01 Robert Millan <rmh@aybabtu.com>
38130
38131 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
38132
38133 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
38134
38135 * include/grub/video.h: Added grub_video_unmap_color and
38136 grub_video_get_active_render_target.
38137 (grub_video_adapter): Added unmap_color and get_active_render_target.
38138
38139 * video/video.c: Added grub_video_unmap_color and
38140 grub_video_get_active_render_target.
38141 (grub_video_get_info): Changed method to accept NULL pointer as an
38142 argument to allow detection of active video adapter.
38143
38144 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
38145 grub_video_vbe_unmap_color_int.
38146 Added grub_video_vbe_unmap_color and
38147 grub_video_vbe_get_active_render_target.
38148 (grub_video_vbe_adapter): Added unmap_color and
38149 get_active_render_target.
38150
38151 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
38152 with grub_video_vbe_unmap_color_int.
38153
38154 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
38155 (DEFAULT_NORMAL_COLOR): Likewise.
38156 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
38157 (DEFAULT_FG_COLOR): Removed.
38158 (DEFAULT_BG_COLOR): Likewise.
38159 (DEFAULT_CURSOR_COLOR): Changed value.
38160 (grub_virtual_screen): Added standard_color_setting,
38161 normal_color_setting, highlight_color_setting and term_color.
38162 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
38163 (bitmap_width): Added.
38164 (bitmap_height): Likewise.
38165 (bitmap): Likewise.
38166 (set_term_color): Likewise.
38167 (grub_virtual_screen_setup): Changed to use new terminal coloring
38168 settings.
38169 (grub_gfxterm_init): Added init for bitmap.
38170 (grub_gfxterm_fini): Added destroy for bitmap.
38171 (redraw_screen_rect): Updated to use background bitmap and new
38172 terminal coloring.
38173 (scroll_up): Added optimization for case when there is no bitmap.
38174 (grub_gfxterm_cls): Fixed to use correct background color.
38175 (grub_virtual_screen_setcolorstate): Changed to use new terminal
38176 coloring.
38177 (grub_virtual_screen_setcolor): Likewise.
38178 (grub_virtual_screen_getcolor): Added.
38179 (grub_gfxterm_background_image_cmd): Likewise.
38180 (grub_video_term): Added setcolor and getcolor.
38181 (MOD_INIT): Added registration of background_image command.
38182 (MOD_TERM): Added unregistration for background_image command.
38183
38184 2007-12-30 Pavel Roskin <proski@gnu.org>
38185
38186 * loader/multiboot_loader.c: Fix multiboot command
38187 unregistration. Fix all typos in the word "multiboot".
38188
38189 2007-12-29 Pavel Roskin <proski@gnu.org>
38190
38191 * util/grub.d/10_linux.in: Refactor search for initrd. Add
38192 support for initrd names used in Fedora.
38193
38194 2007-12-26 Bean <bean123ch@gmail.com>
38195
38196 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
38197 (cpio_mod_SOURCES): New variable.
38198 (cpio_mod_CFLAGS): Likewise.
38199 (cpio_mod_LDFLAGS): Likewise.
38200
38201 * fs/cpio.c: New file.
38202
38203 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
38204
38205 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38206
38207 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
38208
38209 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38210
38211 2007-12-25 Robert Millan <rmh@aybabtu.com>
38212
38213 * include/grub/term.h (struct grub_term): Add `getcolor' function.
38214 (grub_getcolor): New function.
38215
38216 * kern/term.c (grub_getcolor): New function.
38217 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
38218 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
38219 (print_entry): Set normal and highlight colors to
38220 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
38221 respectively, before printing and restore them to old
38222 values afterwards.
38223 (grub_menu_init_page): Likewise. Fill an additional colored space
38224 that would otherwise be left blank.
38225
38226 * term/efi/console.c (grub_console_getcolor): New function.
38227 (struct grub_console_term.getcolor): New variable.
38228 * term/i386/pc/console.c (grub_console_getcolor): New function.
38229 (struct grub_console_term.getcolor): New variable.
38230 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
38231 (struct grub_console_term.getcolor): New variable.
38232
38233 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
38234 (struct grub_console_term.setcolor): Remove variable.
38235 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
38236 (struct grub_console_term.setcolor): Remove variable.
38237 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
38238 (struct grub_console_term.setcolor): Remove variable.
38239 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
38240 (struct grub_console_term.setcolor): Remove variable.
38241
38242 2007-12-25 Robert Millan <rmh@aybabtu.com>
38243
38244 * configure.ac: Search for possible unifont.hex locations, and
38245 define UNIFONT_HEX if found.
38246
38247 * Makefile.in (UNIFONT_HEX): Define variable.
38248 (DATA): Rename to ...
38249 (PKGLIB): ... this. Update all users.
38250 (PKGDATA): New variable.
38251 (pkgdata_IMAGES): Rename to ...
38252 (pkglib_IMAGES): ... this. Update all users.
38253 (pkgdata_MODULES): Rename to ...
38254 (pkglib_MODULES): ... this. Update all users.
38255 (pkgdata_PROGRAMS): Rename to ...
38256 (pkglib_PROGRAMS): ... this. Update all users.
38257 (pkgdata_DATA): Rename to ...
38258 (pkglib_DATA): ... this. Update all users.
38259 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
38260 (unicode.pff, ascii.pff): New rules.
38261 (all-local): Add `$(PKGDATA)' dependency.
38262 (install-local): Process `$(PKGDATA)'.
38263
38264 * util/update-grub_lib.in (font_path): Search for *.pff files in
38265 a few more locations, including `${pkgdata}'.
38266
38267 2007-12-23 Robert Millan <rmh@aybabtu.com>
38268
38269 Patch from Bean <bean123ch@gmail.com>:
38270 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
38271 `size'.
38272
38273 2007-12-21 Bean <bean123ch@gmail.com>
38274
38275 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
38276 (ntfscomp_mod_SOURCES): New variable.
38277 (ntfscomp_mod_CFLAGS): Likewise.
38278 (ntfscomp_mod_LDFLAGS): Likewise.
38279
38280 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
38281 (grub_probe_SOURCES): Likewise.
38282 (grub_emu_SOURCES): Likewise.
38283
38284 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
38285 (grub_emu_SOURCES): Likewise.
38286
38287 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
38288 (grub_emu_SOURCES): Likewise.
38289
38290 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
38291 (grub_emu_SOURCES): Likewise.
38292
38293 * fs/ntfs.c (grub_ntfscomp_func): New variable.
38294 (read_run_list): Renamed to grub_ntfs_read_run_list.
38295 (decomp_nextvcn): Moved to ntfscomp.c.
38296 (decomp_getch): Likewise.
38297 (decomp_get16): Likewise.
38298 (decomp_block): Likewise.
38299 (read_block): Likewise.
38300 (read_data): Partially moved to ntfscomp.c.
38301 (fixup): Change unsigned to grub_uint16_t.
38302 (read_mft): Change unsigned long to grub_uint32_t.
38303 (read_attr): Likewise.
38304 (read_data): Likewise.
38305 (read_run_data): Likewise.
38306 (read_run_list): Likewise.
38307 (read_mft): Likewise.
38308
38309 * fs/ntfscomp.c: New file.
38310
38311 * include/grub/ntfs.h: New file.
38312
38313 2007-12-16 Robert Millan <rmh@aybabtu.com>
38314
38315 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
38316 IDE disk check, since Linux is known to support 20 IDE disks.
38317 Reported by Colin Watson.
38318
38319 2007-12-15 Bean <bean123ch@gmail.com>
38320
38321 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
38322 (lnxboot_img_SOURCES): New variable.
38323 (lnxboot_img_ASFLAGS): Likewise.
38324 (lnxboot_img_LDFLAGS): Likewise.
38325
38326 * boot/i386/pc/lnxboot.S: New file.
38327
38328 2007-11-24 Pavel Roskin <proski@gnu.org>
38329
38330 * configure.ac: Test if '--build-id=none' is supported by the
38331 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
38332 objcopy to generate incorrect binary files (binutils
38333 2.17.50.0.18-1 as shipped by Fedora 8).
38334 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
38335 linking, so that build ID doesn't break the test.
38336
38337 2007-11-24 Pavel Roskin <proski@gnu.org>
38338
38339 * include/grub/i386/time.h: use "void" in the argument list
38340 of grub_cpu_idle().
38341 * include/grub/powerpc/time.h: Likewise.
38342 * include/grub/sparc64/time.h: Likewise.
38343
38344 2007-11-18 Christian Franke <franke@computer.org>
38345
38346 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
38347 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
38348 This fixes the problem that function keys did not work in grub-emu.
38349
38350 2007-11-18 Christian Franke <franke@computer.org>
38351
38352 * disk/host.c (grub_host_open): Remove attribute unused from
38353 name parameter. Add check for "host". This fixes the problem
38354 that grub-emu does not find partitions.
38355
38356 2007-11-18 Christian Franke <franke@computer.org>
38357
38358 * util/hostfs.c (is_dir): New function.
38359 (grub_hostfs_dir): Handle missing dirent.d_type case.
38360 (grub_hostfs_read): Add missing fseek().
38361 (grub_hostfs_label): Clear label pointer. This fixes a crash
38362 of grub-emu on "ls (host)".
38363
38364 2007-11-18 Christian Franke <franke@computer.org>
38365
38366 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
38367 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
38368 to 64 bit boundary by default.
38369
38370 2007-11-18 Bean <bean123ch@gmail.com>
38371
38372 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
38373 (hexdump_mod_SOURCES): New variable.
38374 (hexdump_mod_CFLAGS): Likewise.
38375 (hexdump_mod_LDFLAGS): Likewise.
38376
38377 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38378
38379 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38380
38381 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38382
38383 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38384
38385 * include/grub/hexdump.h: New file.
38386
38387 * commands/hexdump.c: New file.
38388
38389 2007-11-10 Robert Millan <rmh@aybabtu.com>
38390
38391 * commands/i386/pc/play.c (beep_off): Switch order of arguments
38392 in grub_outb() calls.
38393 (beep_on): Likewise.
38394
38395 2007-11-10 Christian Franke <franke@computer.org>
38396
38397 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
38398 (grub_menu_run): Likewise.
38399
38400 2007-11-10 Robert Millan <rmh@aybabtu.com>
38401
38402 * include/grub/i386/efi/machine.h: New file.
38403 * include/grub/i386/linuxbios/machine.h: Likewise.
38404 * include/grub/i386/pc/machine.h: Likewise.
38405 * include/grub/powerpc/ieee1275/machine.h: Likewise.
38406 * include/grub/sparc64/ieee1275/machine.h: Likewise.
38407
38408 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
38409 (serial_hw_io_addr): New variable.
38410 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
38411 instead of `(unsigned short *) 0x400'.
38412
38413 2007-11-10 Bean <bean123ch@gmail.com>
38414
38415 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
38416
38417 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
38418
38419 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
38420 (vga_mod_SOURCES): Added.
38421 (vga_mod_CFLAGS): Likewise.
38422 (vga_mod_LDFLAGS): Likewise.
38423
38424 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
38425 grub_outb() calls.
38426 (set_map_mask): Likewise.
38427 (set_read_map): Likewise.
38428 (set_read_address): Likewise.
38429 (vga_font): Removed variable.
38430 (get_vga_glyph): Removed function.
38431 (invalidate_char): Likewise.
38432 (write_char): Changed to use grub_font_get_glyph() for font
38433 information.
38434 (grub_vga_putchar): Likewise.
38435 (grub_vga_getcharwidth): Likewise.
38436
38437 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
38438
38439 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
38440 flags.
38441 (pxeboot_img_LDFLAGS): Likewise.
38442 (diskboot_img_LDFLAGS): Likewise.
38443 (kernel_img_LDFLAGS): Likewise.
38444
38445 2007-11-06 Robert Millan <rmh@aybabtu.com>
38446
38447 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
38448 in grub_outb() calls.
38449 (serial_hw_init): Likewise.
38450
38451 2007-11-05 Robert Millan <rmh@aybabtu.com>
38452
38453 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
38454 spaces. Skip non-regular files.
38455
38456 2007-11-05 Robert Millan <rmh@aybabtu.com>
38457
38458 * kern/disk.c (grub_disk_firmware_fini)
38459 (grub_disk_firmware_is_tainted): New variables.
38460
38461 * include/grub/disk.h (grub_disk_firmware_fini)
38462 (grub_disk_firmware_is_tainted): Likewise.
38463
38464 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
38465 (grub_disk_biosdisk_fini): ... to here.
38466 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
38467 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
38468 is set. Register grub_disk_biosdisk_fini() in
38469 `grub_disk_firmware_fini'.
38470
38471 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
38472 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
38473 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
38474 to finish existing firmware disk interface.
38475
38476 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
38477 (ata_mod_SOURCES): New variable.
38478 (ata_mod_CFLAGS): Likewise.
38479 (ata_mod_LDFLAGS): Likewise.
38480
38481 2007-11-05 Robert Millan <rmh@aybabtu.com>
38482
38483 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
38484 (grub_ata_wait): Reimplement using grub_millisleep().
38485
38486 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
38487 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
38488
38489 2007-11-03 Marco Gerards <marco@gnu.org>
38490
38491 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
38492 (CRTC_ADDR_PORT): New macro.
38493 (CRTC_DATA_PORT): Likewise.
38494 (CRTC_CURSOR): Likewise.
38495 (CRTC_CURSOR_ADDR_HIGH): Likewise.
38496 (CRTC_CURSOR_ADDR_LOW): Likewise.
38497 (update_cursor): New function.
38498 (grub_console_real_putchar): Call `update_cursor'.
38499 (grub_console_gotoxy): Likewise.
38500 (grub_console_cls): Set the default color when clearing the
38501 screen.
38502 (grub_console_setcursor): Implemented.
38503
38504 2007-11-03 Marco Gerards <marco@gnu.org>
38505
38506 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
38507 become activate.
38508 (grub_ata_pio_write): Likewise.
38509
38510 (grub_atapi_identify): Wait after issuing an ATA command.
38511 (grub_atapi_packet): Likewise.
38512 (grub_ata_identify): Likewise.
38513 (grub_ata_readwrite): Likewise.
38514
38515 2007-11-03 Marco Gerards <marco@gnu.org>
38516
38517 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
38518 (grub_ata_pio_write): Likewise.
38519 (grub_ata_readwrite): Use `grub_error', instead of
38520 returning `grub_errno'.
38521
38522 2007-11-03 Marco Gerards <marco@gnu.org>
38523
38524 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
38525 grub_ata_pio_write once for every single sector, instead of for
38526 multiple sectors.
38527
38528 2007-10-31 Robert Millan <rmh@aybabtu.com>
38529
38530 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
38531
38532 * conf/i386-linuxbios.rmk: New file.
38533
38534 * kern/i386/pc/hardware.c: Likewise.
38535 * term/i386/pc/at_keyboard.c: Likewise.
38536 * term/i386/pc/vga_text.c: Likewise.
38537
38538 * include/grub/i386/linuxbios/boot.h: Likewise.
38539 * include/grub/i386/linuxbios/console.h: Likewise.
38540 * include/grub/i386/linuxbios/init.h: Likewise.
38541 * include/grub/i386/linuxbios/kernel.h: Likewise.
38542 * include/grub/i386/linuxbios/loader.h: Likewise.
38543 * include/grub/i386/linuxbios/memory.h: Likewise.
38544 * include/grub/i386/linuxbios/serial.h: Likewise.
38545 * include/grub/i386/linuxbios/time.h: Likewise.
38546
38547 * kern/i386/linuxbios/init.c: Likewise.
38548 * kern/i386/linuxbios/startup.S: Likewise.
38549 * kern/i386/linuxbios/table.c: Likewise.
38550
38551 2007-10-31 Marco Gerards <marco@gnu.org>
38552
38553 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
38554 (ata_mod_SOURCES): New variable.
38555 (ata_mod_CFLAGS): Likewise.
38556 (ata_mod_LDFLAGS): Likewise.
38557
38558 * disk/ata.c: New file.
38559
38560 * include/grub/disk.h (grub_disk_dev_id): Add
38561 `GRUB_DISK_DEV_ATA_ID'.
38562
38563 2007-10-31 Robert Millan <rmh@aybabtu.com>
38564
38565 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
38566 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
38567
38568 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
38569 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
38570
38571 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
38572 `<grub/types.h>'.
38573
38574 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
38575
38576 2007-10-27 Robert Millan <rmh@aybabtu.com>
38577
38578 * include/grub/types.h (ULONG_MAX): Define macro.
38579
38580 2007-10-22 Robert Millan <rmh@aybabtu.com>
38581
38582 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
38583 `"../realmode.S"'.
38584 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
38585
38586 2007-10-22 Robert Millan <rmh@aybabtu.com>
38587
38588 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
38589 (pkgdata_MODULES): Add `biosdisk.mod'.
38590 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
38591 variables.
38592
38593 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
38594 (grub_biosdisk_init): Replace with ...
38595 (GRUB_MOD_INIT(biosdisk)): ... this.
38596 (grub_biosdisk_fini): Replace with ...
38597 (GRUB_MOD_FINI(biosdisk)): ... this.
38598
38599 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
38600 (grub_machine_init): Remove call to grub_biosdisk_init().
38601 (grub_machine_fini): Remove call to grub_machine_fini().
38602
38603 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
38604
38605 2007-10-22 Robert Millan <rmh@aybabtu.com>
38606
38607 * include/grub/time.h: New file.
38608 * include/grub/i386/time.h: Likewise.
38609 * include/grub/powerpc/time.h: Likewise.
38610 * include/grub/sparc64/time.h: Likewise.
38611
38612 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
38613 instances to ...
38614 (KERNEL_MACHINE_TIME_HEADER): ... this.
38615 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
38616 instances to ...
38617 (KERNEL_MACHINE_TIME_HEADER): ... this.
38618 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
38619 instances to ...
38620 (KERNEL_MACHINE_TIME_HEADER): ... this.
38621
38622 * kern/i386/efi/init.c: Include `<grub/time.h>'.
38623 (grub_millisleep): New function.
38624 * kern/i386/pc/init.c: Include `<grub/time.h>'.
38625 (grub_millisleep): New function.
38626 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
38627 Remove `grub/machine/time.h' include.
38628 (grub_millisleep): New function.
38629 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
38630 Remove `grub/machine/time.h' include.
38631 (grub_millisleep): New function.
38632
38633 * include/grub/misc.h (grub_div_roundup): New function.
38634
38635 * kern/misc.c: Include `<grub/time.h>'.
38636 (grub_millisleep_generic): New function.
38637
38638 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
38639 Add `time.h'.
38640 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
38641 Add `time.h'.
38642 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
38643 `machine/time.h'. Add `time.h'.
38644 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
38645
38646 2007-10-21 Robert Millan <rmh@aybabtu.com>
38647
38648 * include/grub/misc.h (grub_max): New function.
38649
38650 2007-10-21 Robert Millan <rmh@aybabtu.com>
38651
38652 * util/misc.c (grub_util_info): Call fflush() before returning.
38653
38654 2007-10-20 Robert Millan <rmh@aybabtu.com>
38655
38656 * genmk.rb (Image): Copy `extra_flags' from here ...
38657 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
38658
38659 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
38660 to `argc' and `args' arguments.
38661
38662 2007-10-17 Robert Millan <rmh@aybabtu.com>
38663
38664 * kern/i386/loader.S: New file.
38665
38666 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
38667 * kern/i386/loader.S (grub_linux_prot_size)... to here.
38668 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
38669 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
38670 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
38671 * kern/i386/loader.S (grub_linux_real_addr)... to here.
38672 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
38673 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
38674 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
38675 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
38676 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
38677 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
38678 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
38679 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
38680
38681 * kern/i386/realmode.S: New file.
38682
38683 * kern/i386/pc/startup.S (protstack): Moved from here ...
38684 * kern/i386/realmode.S (protstack)... to here.
38685 * kern/i386/pc/startup.S (gdt): Moved from here ...
38686 * kern/i386/realmode.S (gdt)... to here.
38687 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
38688 * kern/i386/realmode.S (prot_to_real)... to here.
38689
38690 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
38691 `kern/i386/realmode.S'.
38692
38693 2007-10-17 Robert Millan <rmh@aybabtu.com>
38694
38695 * include/grub/i386/loader.h: New file.
38696
38697 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
38698 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
38699 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
38700 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
38701 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
38702 * include/grub/i386/loader.h (grub_linux_prot_size)
38703 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
38704 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
38705 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
38706 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
38707
38708 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
38709
38710 2007-10-15 Robert Millan <rmh@aybabtu.com>
38711
38712 * normal/misc.c (grub_normal_print_device_info): Do not probe for
38713 filesystem when dev->disk is unset.
38714 Do probe for filesystem even when dev->disk->has_partitions is set.
38715 In case a filesystem is found, always report it.
38716 In case it isn't, if dev->disk->has_partitions is set, report that
38717 a partition table was found instead of reporting that no filesystem
38718 could be identified.
38719
38720 2007-10-12 Robert Millan <rmh@aybabtu.com>
38721
38722 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
38723 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
38724
38725 * include/grub/types.h (grub_host_to_target16): New macro.
38726 (grub_host_to_target32): Likewise.
38727 (grub_host_to_target64): Likewise.
38728 (grub_target_to_host16): Likewise.
38729 (grub_target_to_host32): Likewise.
38730 (grub_target_to_host64): Likewise.
38731
38732 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
38733 Renamed from to ...
38734 (GRUB_MOD_ALIGN): ...this. Update all users.
38735
38736 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
38737 grub_host_to_target32.
38738 Replace grub_be_to_cpu32 with grub_target_to_host32.
38739 (load_modules): Likewise.
38740 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
38741 Replace grub_be_to_cpu32 with grub_target_to_host32.
38742 Replace grub_cpu_to_be16 with grub_host_to_target16.
38743 Replace grub_cpu_to_be32 grub_host_to_target32.
38744
38745 2007-10-12 Robert Millan <rmh@aybabtu.com>
38746
38747 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
38748 * util/elf/grub-mkimage.c: ... here.
38749
38750 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
38751 `util/powerpc/ieee1275/grub-mkimage.c'.
38752
38753 2007-10-07 Robert Millan <rmh@aybabtu.com>
38754
38755 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
38756 and make it easier to figure out.
38757 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
38758 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
38759 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
38760 leave us with less than HEAP_MIN_SIZE total heap.
38761 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
38762
38763 2007-10-03 Robert Millan <rmh@aybabtu.com>
38764
38765 * include/grub/i386/io.h: New file.
38766 * commands/i386/pc/play.c (inb): Removed.
38767 (outb): Removed.
38768 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
38769 with grub_outb().
38770 * term/i386/pc/serial.c (inb): Removed.
38771 (outb): Removed.
38772 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
38773 with grub_outb().
38774 * term/i386/pc/vga.c (inb): Removed.
38775 (outb): Removed.
38776 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
38777 with grub_outb().
38778
38779 2007-10-02 Robert Millan <rmh@aybabtu.com>
38780
38781 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
38782 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38783 Reported by Marcin Kurek.
38784
38785 2007-09-07 Robert Millan <rmh@aybabtu.com>
38786
38787 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
38788 SmartFirmware version updates (as released by Sven Luther), and avoid
38789 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
38790 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
38791 known broken.
38792
38793 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
38794
38795 From Hitoshi Ozeki:
38796 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
38797 when merging two regions.
38798
38799 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
38800
38801 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
38802 * normal/completion.c (grub_normal_do_completion): Likewise.
38803 Reported by Hitoshi Ozeki.
38804
38805 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
38806
38807 Do not use devices at boot in chainloading.
38808
38809 * loader/i386/pc/chainloader.c (boot_drive): New variable.
38810 (boot_part_addr): Likewise.
38811 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
38812 with BOOT_DRIVE and BOOT_PART_ADDR.
38813 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
38814 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
38815
38816 2007-08-29 Robert Millan <rmh@aybabtu.com>
38817
38818 Patch from Simon Peter <dn.tlp@gmx.net>:
38819 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
38820 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
38821 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
38822 util/i386/pc/grub-setup.c_DEPENDENCIES.
38823 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
38824 util/grub-probe.c_DEPENDENCIES.
38825 * conf/powerpc-ieee1275.rmk: Likewise.
38826
38827 2007-08-28 Robert Millan <rmh@aybabtu.com>
38828
38829 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
38830 to tell grub-mkdevicemap how to name devices.
38831 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
38832 feature).
38833
38834 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
38835 util/i386/get_disk_name.c.
38836 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
38837 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
38838 util/ieee1275/get_disk_name.c.
38839
38840 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
38841
38842 * DISTLIST: Add util/i386/get_disk_name.c and
38843 util/ieee1275/get_disk_name.c.
38844
38845 * util/grub-mkdevicemap.c: Replace device naming logic with
38846 grub_util_get_disk_name() calls.
38847
38848 2007-08-20 Robert Millan <rmh@aybabtu.com>
38849
38850 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
38851 (so that it works for both plural and singular quantities).
38852
38853 2007-08-05 Robert Millan <rmh@aybabtu.com>
38854
38855 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
38856 so that [xz] isn't taken into account when determining order.
38857
38858 2007-08-02 Marco Gerards <marco@gnu.org>
38859
38860 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
38861 `include/multiboot2.h', `include/grub/elfload.h',
38862 `include/multiboot.h', `include/grub/multiboot.h',
38863 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
38864 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
38865 `kern/elf.c', `loader/multiboot_loader.c',
38866 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
38867 `loader/i386/pc/multiboot2.c',
38868 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
38869 `util/i386/pc/grub-mkrescue.in'. Remove
38870 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
38871 `include/grub/i386/pc/util/biosdisk.h' and
38872 `include/grub/powerpc/ieee1275/multiboot.h'.
38873
38874 2007-08-02 Bean <bean123ch@gmail.com>
38875
38876 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
38877 (ntfs_mod_SOURCES): New variable.
38878 (ntfs_mod_CFLAGS): Likewise.
38879 (ntfs_mod_LDFLAGS): Likewise.
38880
38881 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
38882 (grub_probe_SOURCES): Likewise.
38883 (grub_emu_SOURCES): Likewise.
38884
38885 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
38886 (grub_emu_SOURCES): Likewise.
38887
38888 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
38889 (grub_emu_SOURCES): Likewise.
38890
38891 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
38892
38893 * fs/ntfs.c: New file.
38894
38895 2007-08-02 Bean <bean123ch@gmail.com>
38896
38897 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
38898
38899 * file.h (grub_file): Likewise.
38900
38901 * fshelp.h (grub_fshelp_read_file): Likewise.
38902
38903 * util/i386/pc/grub-setup.c (setup): Likewise.
38904 (save_first_sector): Likewise.
38905 (save_blocklists): Likewise.
38906
38907 * fs/affs.c (grub_affs_read_file): Likewise.
38908
38909 * fs/ext2.c (grub_ext2_read_file): Likewise.
38910
38911 * fs/fat.c (grub_fat_read_data): Likewise.
38912
38913 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
38914
38915 * fs/hfs.c (grub_hfs_read_file): Likewise.
38916
38917 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
38918
38919 * fs/jfs.c (grub_jfs_read_file): Likewise.
38920
38921 * fs/minix.c (grub_minix_read_file): Likewise.
38922
38923 * fs/sfs.c (grub_sfs_read_file): Likewise.
38924
38925 * fs/ufs.c (grub_ufs_read_file): Likewise.
38926
38927 * fs/xfs.c (grub_xfs_read_file): Likewise.
38928
38929 * command/blocklist.c (read_blocklist): Likewise.
38930 (print_blocklist): Likewise.
38931
38932 2007-08-02 Marco Gerards <marco@gnu.org>
38933
38934 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
38935 `util/hostfs.c'.
38936
38937 * disk/host.c: New file.
38938
38939 * util/hostfs.c: Likewise.
38940
38941 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
38942 return `GRUB_ERR_BAD_FS'.
38943 * fs/sfs.c (grub_sfs_mount): Likewise.
38944 * fs/xfs.c (grub_xfs_mount): Likewise.
38945
38946 * include/grub/disk.h (enum grub_disk_dev_id): Add
38947 `GRUB_DISK_DEVICE_HOST_ID'.
38948
38949 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
38950
38951 2007-07-24 Jerone Young <jerone@gmail.com>
38952
38953 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
38954 modules for compilation.
38955 * conf/powerpc-ieee1275.rmk: Likewise.
38956
38957 * include/multiboot.h: Move multiboot definitions to one file. Rename
38958 many definitions to not get grub specific.
38959 * include/multiboot2.h: Create header with multiboot 2 definitions.
38960 * include/grub/multiboot.h: Header for grub specific function
38961 prototypes and definitions.
38962 * include/grub/multiboot2.h: Likewise.
38963 * include/grub/multiboot_loader.h: Likewise.
38964 * include/grub/i386/pc/multiboot.h: Removed.
38965 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
38966
38967 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
38968 and 2 to allow for one multiboot and module commands.
38969 * loader/multiboot2.c: Add multiboot2 functionality.
38970 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
38971 and definition names.
38972 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
38973 2 functions.
38974 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
38975 ieee1275 specific multiboot2 code.
38976
38977 * kern/i386/pc/startup.S: Change headers and definition names for
38978 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
38979
38980 2007-07-22 Robert Millan <rmh@aybabtu.com>
38981
38982 * geninitheader.sh: Process file specified in first parameter rather
38983 than hardcoding grub_modules_init.lst.
38984 * geninit.sh: Likewise. Also, construct header name dynamically rather
38985 than hardcoding grub_modules_init.h.
38986
38987 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
38988 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
38989 grub_probe_init.[ch] and grub_setup_init.[ch].
38990
38991 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
38992 grub_modules_init.h with grub_emu_init.h.
38993 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
38994 grub_probe_init.[ch] files.
38995 * conf/i386-efi.rmk: Likewise.
38996 * conf/i386-pc.rmk: Likewise.
38997 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
38998 grub_setup_init.[ch] files.
38999
39000 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
39001 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
39002 to initialize modules rather than a list of hardcoded functions.
39003 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
39004 grub_init_all() to initialize modules rather than a list of hardcoded
39005 functions.
39006
39007 2007-07-22 Robert Millan <rmh@aybabtu.com>
39008
39009 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
39010 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
39011
39012 2007-07-22 Robert Millan <rmh@aybabtu.com>
39013
39014 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
39015 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
39016 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
39017 flag when running on SmartFirmware.
39018 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
39019 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
39020 was set.
39021
39022 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
39023 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
39024 rather than decreasing it.
39025
39026 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
39027 there's not enough space to do it, fail in the same way as when it
39028 can't be done because there are no partitions.
39029
39030 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
39031 when nvsetenv failed.
39032
39033 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
39034
39035 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
39036 because this rule is automatically generated.
39037 (grub-mkrescue): Removed for the same reason as above.
39038
39039 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
39040
39041 Migrate to GNU General Public License Version 3.
39042
39043 * COPYING: Replaced with the plain text version of GPLv3.
39044
39045 * config.guess: Updated from gnulib.
39046 * config.sub: Likewise.
39047
39048 * geninit.sh: Output a GPLv3 copyright notice.
39049 * geninitheader.sh: Likewise.
39050 * genmodsrc.sh: Likewise.
39051 * gensymlist.sh.in: Likewise.
39052
39053 * boot/i386/pc/boot.S: Upgraded to GPLv3.
39054 * boot/i386/pc/diskboot.S: Likewise.
39055 * boot/i386/pc/pxeboot.S: Likewise.
39056 * commands/blocklist.c: Likewise.
39057 * commands/boot.c: Likewise.
39058 * commands/cat.c: Likewise.
39059 * commands/cmp.c: Likewise.
39060 * commands/configfile.c: Likewise.
39061 * commands/echo.c: Likewise.
39062 * commands/help.c: Likewise.
39063 * commands/ls.c: Likewise.
39064 * commands/search.c: Likewise.
39065 * commands/terminal.c: Likewise.
39066 * commands/test.c: Likewise.
39067 * commands/videotest.c: Likewise.
39068 * commands/i386/cpuid.c: Likewise.
39069 * commands/i386/pc/halt.c: Likewise.
39070 * commands/i386/pc/play.c: Likewise.
39071 * commands/i386/pc/reboot.c: Likewise.
39072 * commands/i386/pc/vbeinfo.c: Likewise.
39073 * commands/i386/pc/vbetest.c: Likewise.
39074 * commands/ieee1275/halt.c: Likewise.
39075 * commands/ieee1275/reboot.c: Likewise.
39076 * commands/ieee1275/suspend.c: Likewise.
39077 * disk/loopback.c: Likewise.
39078 * disk/lvm.c: Likewise.
39079 * disk/raid.c: Likewise.
39080 * disk/efi/efidisk.c: Likewise.
39081 * disk/i386/pc/biosdisk.c: Likewise.
39082 * disk/ieee1275/ofdisk.c: Likewise.
39083 * font/manager.c: Likewise.
39084 * fs/affs.c: Likewise.
39085 * fs/ext2.c: Likewise.
39086 * fs/fat.c: Likewise.
39087 * fs/fshelp.c: Likewise.
39088 * fs/hfs.c: Likewise.
39089 * fs/hfsplus.c: Likewise.
39090 * fs/iso9660.c: Likewise.
39091 * fs/jfs.c: Likewise.
39092 * fs/minix.c: Likewise.
39093 * fs/sfs.c: Likewise.
39094 * fs/ufs.c: Likewise.
39095 * fs/xfs.c: Likewise.
39096 * hello/hello.c: Likewise.
39097 * include/grub/acorn_filecore.h: Likewise.
39098 * include/grub/arg.h: Likewise.
39099 * include/grub/bitmap.h: Likewise.
39100 * include/grub/boot.h: Likewise.
39101 * include/grub/cache.h: Likewise.
39102 * include/grub/device.h: Likewise.
39103 * include/grub/disk.h: Likewise.
39104 * include/grub/dl.h: Likewise.
39105 * include/grub/elfload.h: Likewise.
39106 * include/grub/env.h: Likewise.
39107 * include/grub/err.h: Likewise.
39108 * include/grub/file.h: Likewise.
39109 * include/grub/font.h: Likewise.
39110 * include/grub/fs.h: Likewise.
39111 * include/grub/fshelp.h: Likewise.
39112 * include/grub/gzio.h: Likewise.
39113 * include/grub/hfs.h: Likewise.
39114 * include/grub/kernel.h: Likewise.
39115 * include/grub/loader.h: Likewise.
39116 * include/grub/lvm.h: Likewise.
39117 * include/grub/misc.h: Likewise.
39118 * include/grub/mm.h: Likewise.
39119 * include/grub/net.h: Likewise.
39120 * include/grub/normal.h: Likewise.
39121 * include/grub/parser.h: Likewise.
39122 * include/grub/partition.h: Likewise.
39123 * include/grub/pc_partition.h: Likewise.
39124 * include/grub/raid.h: Likewise.
39125 * include/grub/rescue.h: Likewise.
39126 * include/grub/script.h: Likewise.
39127 * include/grub/setjmp.h: Likewise.
39128 * include/grub/symbol.h: Likewise.
39129 * include/grub/term.h: Likewise.
39130 * include/grub/terminfo.h: Likewise.
39131 * include/grub/tparm.h: Likewise.
39132 * include/grub/types.h: Likewise.
39133 * include/grub/video.h: Likewise.
39134 * include/grub/efi/api.h: Likewise.
39135 * include/grub/efi/chainloader.h: Likewise.
39136 * include/grub/efi/console.h: Likewise.
39137 * include/grub/efi/console_control.h: Likewise.
39138 * include/grub/efi/disk.h: Likewise.
39139 * include/grub/efi/efi.h: Likewise.
39140 * include/grub/efi/pe32.h: Likewise.
39141 * include/grub/efi/time.h: Likewise.
39142 * include/grub/i386/linux.h: Likewise.
39143 * include/grub/i386/setjmp.h: Likewise.
39144 * include/grub/i386/types.h: Likewise.
39145 * include/grub/i386/efi/kernel.h: Likewise.
39146 * include/grub/i386/efi/loader.h: Likewise.
39147 * include/grub/i386/efi/time.h: Likewise.
39148 * include/grub/i386/pc/biosdisk.h: Likewise.
39149 * include/grub/i386/pc/boot.h: Likewise.
39150 * include/grub/i386/pc/chainloader.h: Likewise.
39151 * include/grub/i386/pc/console.h: Likewise.
39152 * include/grub/i386/pc/init.h: Likewise.
39153 * include/grub/i386/pc/kernel.h: Likewise.
39154 * include/grub/i386/pc/loader.h: Likewise.
39155 * include/grub/i386/pc/memory.h: Likewise.
39156 * include/grub/i386/pc/multiboot.h: Likewise.
39157 * include/grub/i386/pc/serial.h: Likewise.
39158 * include/grub/i386/pc/time.h: Likewise.
39159 * include/grub/i386/pc/vbe.h: Likewise.
39160 * include/grub/i386/pc/vbeblit.h: Likewise.
39161 * include/grub/i386/pc/vbefill.h: Likewise.
39162 * include/grub/i386/pc/vbeutil.h: Likewise.
39163 * include/grub/i386/pc/vga.h: Likewise.
39164 * include/grub/ieee1275/ieee1275.h: Likewise.
39165 * include/grub/ieee1275/ofdisk.h: Likewise.
39166 * include/grub/powerpc/libgcc.h: Likewise.
39167 * include/grub/powerpc/setjmp.h: Likewise.
39168 * include/grub/powerpc/types.h: Likewise.
39169 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
39170 * include/grub/powerpc/ieee1275/console.h: Likewise.
39171 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
39172 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
39173 * include/grub/powerpc/ieee1275/loader.h: Likewise.
39174 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
39175 * include/grub/powerpc/ieee1275/time.h: Likewise.
39176 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
39177 * include/grub/sparc64/libgcc.h: Likewise.
39178 * include/grub/sparc64/setjmp.h: Likewise.
39179 * include/grub/sparc64/types.h: Likewise.
39180 * include/grub/sparc64/ieee1275/console.h: Likewise.
39181 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
39182 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
39183 * include/grub/sparc64/ieee1275/time.h: Likewise.
39184 * include/grub/util/biosdisk.h: Likewise.
39185 * include/grub/util/getroot.h: Likewise.
39186 * include/grub/util/lvm.h: Likewise.
39187 * include/grub/util/misc.h: Likewise.
39188 * include/grub/util/raid.h: Likewise.
39189 * include/grub/util/resolve.h: Likewise.
39190 * io/gzio.c: Likewise.
39191 * kern/device.c: Likewise.
39192 * kern/disk.c: Likewise.
39193 * kern/dl.c: Likewise.
39194 * kern/elf.c: Likewise.
39195 * kern/env.c: Likewise.
39196 * kern/err.c: Likewise.
39197 * kern/file.c: Likewise.
39198 * kern/fs.c: Likewise.
39199 * kern/loader.c: Likewise.
39200 * kern/main.c: Likewise.
39201 * kern/misc.c: Likewise.
39202 * kern/mm.c: Likewise.
39203 * kern/parser.c: Likewise.
39204 * kern/partition.c: Likewise.
39205 * kern/rescue.c: Likewise.
39206 * kern/term.c: Likewise.
39207 * kern/efi/efi.c: Likewise.
39208 * kern/efi/init.c: Likewise.
39209 * kern/efi/mm.c: Likewise.
39210 * kern/i386/dl.c: Likewise.
39211 * kern/i386/efi/init.c: Likewise.
39212 * kern/i386/efi/startup.S: Likewise.
39213 * kern/i386/pc/init.c: Likewise.
39214 * kern/i386/pc/lzo1x.S: Likewise.
39215 * kern/i386/pc/startup.S: Likewise.
39216 * kern/ieee1275/ieee1275.c: Likewise.
39217 * kern/powerpc/cache.S: Likewise.
39218 * kern/powerpc/dl.c: Likewise.
39219 * kern/powerpc/ieee1275/cmain.c: Likewise.
39220 * kern/powerpc/ieee1275/crt0.S: Likewise.
39221 * kern/powerpc/ieee1275/init.c: Likewise.
39222 * kern/powerpc/ieee1275/openfw.c: Likewise.
39223 * kern/sparc64/cache.S: Likewise.
39224 * kern/sparc64/dl.c: Likewise.
39225 * kern/sparc64/ieee1275/init.c: Likewise.
39226 * kern/sparc64/ieee1275/openfw.c: Likewise.
39227 * loader/efi/chainloader.c: Likewise.
39228 * loader/efi/chainloader_normal.c: Likewise.
39229 * loader/i386/efi/linux.c: Likewise.
39230 * loader/i386/efi/linux_normal.c: Likewise.
39231 * loader/i386/pc/chainloader.c: Likewise.
39232 * loader/i386/pc/chainloader_normal.c: Likewise.
39233 * loader/i386/pc/linux.c: Likewise.
39234 * loader/i386/pc/linux_normal.c: Likewise.
39235 * loader/i386/pc/multiboot.c: Likewise.
39236 * loader/i386/pc/multiboot_normal.c: Likewise.
39237 * loader/powerpc/ieee1275/linux.c: Likewise.
39238 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
39239 * normal/arg.c: Likewise.
39240 * normal/cmdline.c: Likewise.
39241 * normal/command.c: Likewise.
39242 * normal/completion.c: Likewise.
39243 * normal/execute.c: Likewise.
39244 * normal/function.c: Likewise.
39245 * normal/lexer.c: Likewise.
39246 * normal/main.c: Likewise.
39247 * normal/menu.c: Likewise.
39248 * normal/menu_entry.c: Likewise.
39249 * normal/misc.c: Likewise.
39250 * normal/parser.y: Likewise.
39251 * normal/script.c: Likewise.
39252 * normal/i386/setjmp.S: Likewise.
39253 * normal/powerpc/setjmp.S: Likewise.
39254 * normal/sparc64/setjmp.S: Likewise.
39255 * partmap/acorn.c: Likewise.
39256 * partmap/amiga.c: Likewise.
39257 * partmap/apple.c: Likewise.
39258 * partmap/gpt.c: Likewise.
39259 * partmap/pc.c: Likewise.
39260 * partmap/sun.c: Likewise.
39261 * term/gfxterm.c: Likewise.
39262 * term/terminfo.c: Likewise.
39263 * term/efi/console.c: Likewise.
39264 * term/i386/pc/console.c: Likewise.
39265 * term/i386/pc/serial.c: Likewise.
39266 * term/i386/pc/vesafb.c: Likewise.
39267 * term/i386/pc/vga.c: Likewise.
39268 * term/ieee1275/ofconsole.c: Likewise.
39269 * util/biosdisk.c: Likewise.
39270 * util/console.c: Likewise.
39271 * util/genmoddep.c: Likewise.
39272 * util/getroot.c: Likewise.
39273 * util/grub-emu.c: Likewise.
39274 * util/grub-mkdevicemap.c: Likewise.
39275 * util/grub-probe.c: Likewise.
39276 * util/lvm.c: Likewise.
39277 * util/misc.c: Likewise.
39278 * util/raid.c: Likewise.
39279 * util/resolve.c: Likewise.
39280 * util/update-grub.in: Likewise.
39281 * util/update-grub_lib.in: Likewise.
39282 * util/grub.d/00_header.in: Likewise.
39283 * util/grub.d/10_hurd.in: Likewise.
39284 * util/grub.d/10_linux.in: Likewise.
39285 * util/i386/efi/grub-install.in: Likewise.
39286 * util/i386/efi/grub-mkimage.c: Likewise.
39287 * util/i386/pc/grub-install.in: Likewise.
39288 * util/i386/pc/grub-mkimage.c: Likewise.
39289 * util/i386/pc/grub-mkrescue.in: Likewise.
39290 * util/i386/pc/grub-setup.c: Likewise.
39291 * util/i386/pc/misc.c: Likewise.
39292 * util/powerpc/ieee1275/grub-install.in: Likewise.
39293 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
39294 * util/powerpc/ieee1275/misc.c: Likewise.
39295 * video/bitmap.c: Likewise.
39296 * video/video.c: Likewise.
39297 * video/i386/pc/vbe.c: Likewise.
39298 * video/i386/pc/vbeblit.c: Likewise.
39299 * video/i386/pc/vbefill.c: Likewise.
39300 * video/i386/pc/vbeutil.c: Likewise.
39301 * video/readers/tga.c: Likewise.
39302
39303 2007-07-02 Robert Millan <rmh@aybabtu.com>
39304
39305 * conf/i386-efi.rmk: Replace obsolete reference to
39306 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
39307 with util/getroot.c.
39308 * conf/powerpc-ieee1275.rmk: Likewise.
39309 * conf/sparc64-ieee1275.rmk: Likewise.
39310
39311 * util/grub-emu.c (main): Fix unchecked pointer handling.
39312
39313 2007-07-02 Robert Millan <rmh@aybabtu.com>
39314
39315 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
39316 invocation to fail, in order to support partition-less media.
39317
39318 * util/i386/pc/grub-install.in: Likewise.
39319
39320 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
39321 which fs or partmap modules are needed (akin to its sister scripts).
39322
39323 Also use grub-probe to get rid of unportable /proc/mounts check.
39324
39325 Print the same informational message that the other scripts do, before
39326 exiting.
39327
39328 2007-06-23 Robert Millan <rmh@aybabtu.com>
39329
39330 * util/update-grub_lib.in (font_path): New function. Determine whether
39331 a font file can be found and, if so, echo the GRUB path to it.
39332
39333 * util/update-grub.in: Handle multiple terminals depending on user
39334 input, platform availability and font file presence. Propagate
39335 variables of our findings to /etc/grub.d/ children.
39336
39337 * util/grub.d/00_header.in: Handle multiple terminals, based on
39338 environment setup by update-grub.
39339
39340 2007-06-23 Robert Millan <rmh@aybabtu.com>
39341
39342 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
39343
39344 2007-06-21 Robert Millan <rmh@aybabtu.com>
39345
39346 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
39347 indicate end of data section in kernel image.
39348 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
39349 GRUB_KERNEL_MACHINE_DATA_END.
39350
39351 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
39352 space for it.
39353 * kern/i386/efi/startup.S: Likewise.
39354
39355 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
39356 during image generation. Implement --prefix option to override this
39357 patch.
39358 * util/i386/efi/grub-mkimage.c: Likewise.
39359
39360 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
39361 code to make path relative to its root into a separate function.
39362
39363 * util/i386/pc/grub-install.in: Use newly provided
39364 make_system_path_relative_to_its_root() to convert ${grubdir}, then
39365 pass the result to grub-install --prefix.
39366
39367 2007-06-13 Robert Millan <rmh@aybabtu.com>
39368
39369 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
39370 DEFAULT_DEVICE_MAP.
39371 * util/grub-emu.c: Use above definitions from misc.h instead of
39372 defining them.
39373 * util/grub-mkdevicemap.c: Likewise.
39374 * util/i386/pc/grub-setup.c: Likewise.
39375 * util/grub-probe.c: Likewise.
39376 (probe): Abort with grub_util_error() when either
39377 grub_guess_root_device or grub_util_get_grub_dev fails.
39378
39379 2007-06-12 Robert Millan <rmh@aybabtu.com>
39380
39381 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
39382 "pager" assignment.
39383 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
39384 "pcdata".
39385 * util/grub-probe.c (probe): Likewise for "drive_name".
39386
39387 2007-06-11 Robert Millan <rmh@aybabtu.com>
39388
39389 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
39390 not just the cdrom one.
39391
39392 2007-06-11 Robert Millan <rmh@aybabtu.com>
39393
39394 * util/i386/pc/grub-mkrescue.in: Add "set -e".
39395 Add --pkglibdir=DIR option to override pkglibdir.
39396 Mention --image-type=TYPE in help output.
39397 Fix --grub-mkimage (it was a no-op).
39398 Abort gracefully when no parameter is given.
39399
39400 2007-06-11 Robert Millan <rmh@aybabtu.com>
39401
39402 * util/i386/pc/grub-mkrescue.in: New file.
39403 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
39404 * Makefile.in: Handle bin_SCRIPTS.
39405
39406 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
39407
39408 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
39409 list of video modes.
39410
39411 2007-06-06 Robert Millan <rmh@aybabtu.com>
39412
39413 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
39414 file doesn't exist, or if it is in a filesystem grub can't read.
39415
39416 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
39417 not abort if GRUB_DRIVE could not be defined. Rearrange generated
39418 header comment to fit in 80 columns when the variables are resolved.
39419
39420 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
39421 could be identified by update-grub. Remove redundant check for
39422 unifont.pff existence (since convert_system_path_to_grub_path now
39423 handles that).
39424
39425 2007-06-04 Robert Millan <rmh@aybabtu.com>
39426
39427 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
39428
39429 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
39430
39431 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
39432
39433 2007-06-04 Robert Millan <rmh@aybabtu.com>
39434
39435 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
39436
39437 * include/grub/partition.h: Declare grub_apple_partition_map_init and
39438 grub_apple_partition_map_fini.
39439
39440 * util/biosdisk.c
39441 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
39442 to access >2 TiB disks).
39443
39444 Print disk->total_sectors with %llu instead of %lu, since this
39445 variable is always 64-bit (prevents wrong disk size from being displayed
39446 on either >2 TiB disk or big-endian CPU).
39447
39448 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
39449 into a generic case that supports all (sane) partition maps.
39450
39451 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
39452 breaks big-endian.
39453
39454 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
39455 and grub_apple_partition_map_fini() after that.
39456
39457 2007-06-01 Robert Millan <rmh@aybabtu.com>
39458
39459 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
39460
39461 * util/grub.d/00_header.in: Only enable gfxterm when
39462 convert_system_path_to_grub_path() succeeds.
39463
39464 2007-05-20 Robert Millan <rmh@aybabtu.com>
39465
39466 * util/update-grub_lib.in: New file.
39467 * DISTLIST: Add update-grub_lib.in.
39468 * conf/common.rmk: Generate update-grub_lib and install it in
39469 $(lib_DATA).
39470 * Makefile.in: Add install routine for $(lib_DATA).
39471
39472 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
39473 function provided by update-grub_lib to support arbitrary paths of
39474 unifont.pff.
39475 * util/update-grub.in: Use convert_system_path_to_grub_path() to
39476 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
39477
39478 2007-05-19 Robert Millan <rmh@aybabtu.com>
39479
39480 * commands/i386/cpuid.c: New module.
39481 * DISTLIST: Add it.
39482 * conf/i386-efi.rmk: Enable cpuid.mod.
39483 * conf/i386-pc.rmk: Likewise.
39484
39485 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
39486
39487 * kern/disk.c (grub_disk_read): Check return value of
39488 grub_realloc().
39489
39490 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
39491
39492 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
39493 arrays.
39494 * disk/raid.c (grub_raid_open): Likewise.
39495
39496 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
39497
39498 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
39499 stack instead of on the heap.
39500
39501 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
39502 before doing a read on it.
39503
39504 * configure.ac: Only use -fno-stack-protector for the target
39505 environment.
39506
39507 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
39508
39509 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
39510 __attribute_ ((unused)) to mode_type argument.
39511
39512 * util/getroot.c (grub_guess_root_device): Fix #endif.
39513
39514 * kern/misc.c (memcmp): Fix prototype.
39515
39516 * include/grub/partition.h [GRUB_UTIL]
39517 (grub_gpt_partition_map_init): Add prototype.
39518 (grub_gpt_partition_map_fini): Likewise.
39519
39520 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
39521 at the right place.
39522
39523 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
39524 (grub_fat_read_data): Likewise.
39525 (grub_fat_find_dir): Likewise.
39526
39527 * font/manager.c (find_glyph): Make table a const.
39528 (grub_font_get_glyph): Remove bitmap from if statement.
39529
39530 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
39531
39532 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
39533 code, first search for device in /dev/mapper, then in /dev.
39534 (grub_util_get_grub_dev): New function.
39535 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
39536 prototype.
39537 * util/grub-probe.c (probe): Remove check for RAID, call
39538 grub_util_get_grub_dev() instead of
39539 grub_util_biosdisk_get_grub_dev().
39540 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
39541 grub_util_biosdisk_get_grub_dev().
39542 * util/i386/pc/grub-setup.c (main): Likewise.
39543
39544 2007-05-16 Robert Millan <rmh@aybabtu.com>
39545
39546 * DISTLIST: Update for the latest changes.
39547 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
39548 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
39549 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
39550 grub/util/biosdisk.h.
39551 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
39552 grub/util/biosdisk.h.
39553
39554 2007-05-16 Robert Millan <rmh@aybabtu.com>
39555
39556 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
39557
39558 2007-05-16 Robert Millan <rmh@aybabtu.com>
39559
39560 * util/i386/efi/grub-install.in: New.
39561 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
39562 newly added grub-install.
39563 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
39564 include.
39565 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
39566 grub/util/biosdisk.h.
39567 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
39568 grub/util/biosdisk.h.
39569
39570 2007-05-16 Robert Millan <rmh@aybabtu.com>
39571
39572 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
39573 * include/grub/util/biosdisk.h: ... here.
39574 * util/i386/pc/biosdisk.c: Moved to ...
39575 * util/biosdisk.c: ... here.
39576 * util/i386/pc/getroot.c: Moved to ...
39577 * util/getroot.c: ... here.
39578 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
39579 * util/grub-mkdevicemap.c: ... here.
39580 * util/i386/pc/grub-probe.c: Moved to ...
39581 * util/grub-probe.c: ... here.
39582
39583 2007-05-15 Robert Millan <rmh@aybabtu.com>
39584
39585 * util/update-grub.in: Remove duplicated line in grub.cfg header
39586 message.
39587
39588 2007-05-13 Robert Millan <rmh@aybabtu.com>
39589
39590 * util/update-grub.in: Fix a few assumptions about the devices holding
39591 /, /boot and /boot/grub being the same.
39592 * util/grub.d/00_header.in: Likewise.
39593 * util/grub.d/10_hurd.in: Likewise.
39594 * util/grub.d/10_linux.in: Likewise.
39595
39596 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
39597 patterns. Use that to define the `.old' suffix as older than `'.
39598
39599 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
39600
39601 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
39602 the grub.cfg header message.
39603
39604 2007-05-11 Robert Millan <rmh@aybabtu.com>
39605
39606 * util/update-grub.in: Create device.map if it doesn't already exist,
39607 before attempting to run grub-probe.
39608 Check for grub-probe and grub-mkdevicemap with the same code
39609 grub-install is using.
39610 Remove test mode.
39611
39612 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
39613
39614 * Makefile.in: Add the datarootdir autoconf variable.
39615
39616 2007-05-09 Robert Millan <rmh@aybabtu.com>
39617
39618 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
39619 fail gracefully if dev->disk->partition == NULL.
39620
39621 2007-05-07 Robert Millan <rmh@aybabtu.com>
39622
39623 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
39624 determine partition map module.
39625 * util/i386/pc/grub-install.in: Use this feature to decide which
39626 partition module to load, instead of hardcoding pc and gpt.
39627
39628 2007-05-07 Robert Millan <rmh@aybabtu.com>
39629
39630 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
39631 source directory differs from build directory.
39632
39633 2007-05-05 Robert Millan <rmh@aybabtu.com>
39634
39635 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
39636 initialisation.
39637
39638 2007-05-05 Robert Millan <rmh@aybabtu.com>
39639
39640 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
39641
39642 2007-05-05 Robert Millan <rmh@aybabtu.com>
39643
39644 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
39645 command-line arguments via ${GRUB_CMDLINE_LINUX}.
39646
39647 2007-05-05 Robert Millan <rmh@aybabtu.com>
39648
39649 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
39650 (grub_probe_SOURCES): Likewise.
39651 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
39652 GPT and initialize dos_part and bsd_part accordingly.
39653 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
39654 install_bsd_part.
39655 (main): Activate gpt module for use during partition identification,
39656 and deactivate it afterwards.
39657 * util/i386/pc/grub-install.in: Add gpt module to core.img.
39658 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
39659 partition identification, and deactivate it afterwards.
39660
39661 2007-05-05 Robert Millan <rmh@aybabtu.com>
39662
39663 * term/i386/pc/console.c (grub_console_fini): Call
39664 grub_term_set_current() before grub_term_unregister().
39665
39666 2007-05-04 Robert Millan <rmh@aybabtu.com>
39667
39668 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
39669 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
39670 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
39671 and update-grub_DATA.
39672 * conf/common.rmk: Build and install update-grub components.
39673 * conf/common.mk: Regenerate.
39674 * util/update-grub.in: New. Core of update-grub.
39675 * util/grub.d/00_header.in: New. Generates grub.cfg header.
39676 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
39677 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
39678 * util/grub.d/README: New. Document grub.d directory layout.
39679
39680 2007-05-01 Robert Millan <rmh@aybabtu.com>
39681
39682 * util/grub-emu.c: Move initialization functions
39683 grub_util_biosdisk_init() and grub_init_all() before
39684 grub_util_biosdisk_get_grub_dev(), which relies on them.
39685
39686 2007-04-19 Robert Millan <rmh@aybabtu.com>
39687
39688 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
39689 it is used later.
39690
39691 2007-04-18 Jerone Young <jerone@gmail.com>
39692
39693 * kernel/elf.c: Add missing parenthesis for conditional statement
39694 stanza.
39695
39696 2007-04-10 Jerone Young <jerone@gmail.com>
39697
39698 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
39699 continue on and look for device node with real device name.
39700
39701 2007-04-10 Jerone Young <jerone@gmail.com>
39702
39703 * configure.ac: Add argument for autoconf to use transformation
39704 ability.
39705 * Makefile.in: Add autoconf package transformation code.
39706 * util/i386/pc/grub-install.in: Likewise.
39707 * util/powerpc/ieee1275/grub-install.in: Likewise.
39708
39709 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
39710
39711 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
39712 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
39713 (EXT2_REVISION): Likewise.
39714 (EXT2_INODE_SIZE): Likewise.
39715 (struct grub_ext2_block_group): Added a missing member
39716 "used_dirs".
39717 (grub_ext2_read_inode): Divide by the inode size in a superblock
39718 instead of 128 to obtain INODES_PER_BLOCK.
39719 Use the macro EXT2_INODE_SIZE instead of directly using
39720 SBLOCK->INODE_SIZE.
39721
39722 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
39723
39724 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
39725 superblock instead of the structure size to compute an
39726 offset. This fixes the problem that GRUB could not read a
39727 filesystem when inode size is different from 128-byte.
39728
39729 2007-03-05 Marco Gerards <marco@gnu.org>
39730
39731 * normal/main.c (read_config_file): When "menu" is not set, create
39732 an initial context.
39733
39734 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
39735
39736 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
39737 (HEAP_LIMIT): New macro.
39738 (grub_claim_heap): Claim memory up to `heaplimit'.
39739
39740 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
39741
39742 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
39743 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
39744 (_start): Likewise.
39745 (grub_arch_modules_addr): Return address after `_end'.
39746 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
39747 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
39748 (add_segments): Calculate `_end' from phdr size and location.
39749 (ALIGN_UP): Moved to ...
39750 * include/grub/misc.h: here.
39751 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
39752 New macro.
39753 (GRUB_IEEE1275_MODULE_BASE): Removed.
39754
39755 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
39756
39757 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
39758 loop boundary.
39759
39760 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
39761
39762 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
39763 All users updated.
39764 (grub_elf64_load_hook_t): Likewise.
39765 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
39766 debug output.
39767
39768 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
39769
39770 * kern/mm.c: Update copyright.
39771 (grub_mm_debug): Correct syntax error.
39772 (grub_mm_dump_free): New function.
39773 (grub_debug_free): Call `grub_free'.
39774 * include/grub/mm.h: Update copyright.
39775 (grub_mm_dump_free): Add declaration.
39776
39777 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
39778
39779 * include/grub/ieee1275/ieee1275.h: Update copyright.
39780 * kern/powerpc/ieee1275/init.c: Likewise.
39781 * kern/powerpc/ieee1275/openfw.c: Likewise.
39782
39783 * loader/powerpc/ieee1275/linux.c: Likewise.
39784 * include/grub/elfload.h: Likewise.
39785 * kern/elf.c: Likewise.
39786 (grub_elf32_load): Pass `base' and `size' parameters. Update all
39787 callers.
39788 (grub_elf64_load): Likewise.
39789 (grub_elf32_load_segment): Move to a nested function.
39790 (grub_elf64_load_segment): Likewise.
39791
39792 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
39793
39794 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
39795 prototype.
39796 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
39797 (grub_heap_len): Likewise.
39798 (HEAP_SIZE): New macro.
39799 (grub_claim_heap): New function.
39800 (grub_machine_init): Don't claim heap directly. Call
39801 `grub_claim_heap'.
39802 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
39803 (grub_available_iterate): New function.
39804
39805 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
39806
39807 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
39808 * configure.ac: Use it for testing the HOST and TARGET compilers.
39809
39810 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
39811
39812 * Makefile.in (enable_grub_emu): New variable.
39813 * configure.ac (--enable-grub-emu): New option.
39814 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
39815 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
39816 * conf/i386-pc.rmk: Likewise.
39817 * conf/powerpc-ieee1275.rmk: Likewise.
39818 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
39819
39820 2006-12-12 Marco Gerards <marco@gnu.org>
39821
39822 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
39823
39824 * kern/env.c (grub_env_unset): Don't free the member `value' when
39825 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
39826 pointer.
39827
39828 * normal/main.c (current_menu): Removed.
39829 (free_menu): Unset the `menu' environment variable.
39830 (grub_normal_menu_addentry): Make use of the environment variable
39831 `menu', instead of using the global `current_menu'. Allocate
39832 memory for the sourcecode of this entry.
39833 (read_config_file): New argument `nested', changed all callers.
39834 Only in the case of a new context, initialize a new menu. Set the
39835 `menu' environment variable.
39836 (grub_normal_execute): Don't set and unset the environment
39837 variable `menu' here anymore. Only free the menu when leaving the
39838 context.
39839
39840 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
39841 leak.
39842
39843 2006-12-11 Marco Gerards <marco@gnu.org>
39844
39845 * normal/menu_entry.c (run): Fix off by one bug so the last line
39846 is executed. Move the loader check to outside the loop.
39847
39848 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
39849
39850 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
39851
39852 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
39853
39854 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
39855 the number of sectors. Reported by Andrey Shuvikov
39856 <mr_hyro@yahoo.com>.
39857
39858 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
39859
39860 * kern/disk.c (grub_disk_read): When there is a read error, always
39861 try to read only the necessary data.
39862
39863 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
39864 disk/raid.c.
39865 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
39866 prototype.
39867 [GRUB_UTIL] (grub_raid_fini): Likewise.
39868 [GRUB_UTIL] (grub_lvm_init): Likewise.
39869 [GRUB_UTIL] (grub_lvm_fini): Likewise.
39870 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
39871 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
39872 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
39873 and grub_raid_fini().
39874
39875 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
39876
39877 * include/grub/types.h (__unused): Rename to UNUSED.
39878 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
39879 (grub_elf64_size): Likewise.
39880
39881 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
39882
39883 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
39884 grub_error_push and grub_error_pop in the error-handling path.
39885 (grub_elf32_load_segment): Only call grub_file_read with non-zero
39886 length.
39887
39888 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
39889
39890 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
39891 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
39892 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39893 (kernel_elf_SOURCES): Likewise.
39894 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
39895 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
39896 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
39897 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
39898 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
39899 (elf_mod_SOURCES): New variable.
39900 (elf_mod_CFLAGS): Likewise.
39901 (elf_mod_LDFLAGS): Likewise.
39902 * include/grub/types.h (__unused): New macro.
39903 * include/grub/elfload.h: New file.
39904 * kern/elf.c: Likewise.
39905 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
39906 (ELF32_LOADMASK): New macro.
39907 (ELF64_LOADMASK): Likewise.
39908 (vmlinux): Removed.
39909 (grub_linux_load32): New function.
39910 (grub_linux_load64): Likewise.
39911 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
39912 Use grub_elf_t instead of grub_file_t.
39913
39914 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
39915
39916 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
39917 `catch_result' to struct set_color_args.
39918
39919 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
39920
39921 * normal/menu.c: Include grub/script.h.
39922 * normal/menu_entry.c: Likewise.
39923 * include/grub/normal.h: Do not include grub/script.h.
39924
39925 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
39926
39927 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
39928
39929 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
39930
39931 * kern/disk.c (grub_disk_open): Print debug messages when opening a
39932 disk.
39933 (grub_disk_close): Print debug messages when closing a disk.
39934 (grub_disk_read): Print debug messages when disk read fails.
39935 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
39936 filesystem type.
39937 * kern/partition.c: Include misc.h.
39938 (grub_partition_iterate): Print debug messages when detecting
39939 partition type.
39940
39941 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
39942
39943 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
39944 is negative.
39945 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
39946
39947 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
39948
39949 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
39950 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
39951
39952 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
39953
39954 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
39955 instead of sizeof(lv). Patch by Michael Guntsche.
39956
39957 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
39958
39959 * disk/lvm.c: Rename VGS to VG_LIST.
39960 (grub_lvm_iterate): Change VGS->LV to VG-LV.
39961 (grub_lvm_open): Likewise.
39962 Thanks to Michael Guntsche for finding this bug.
39963
39964 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
39965
39966 * configure.ac (AC_INIT): Bumped to 1.95.
39967
39968 2006-10-14 Robert Millan <rmh@aybabtu.com>
39969
39970 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
39971 with "/dev/.static/dev/md".
39972
39973 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
39974
39975 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
39976 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
39977 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
39978 DRIVE_NAME are always freed.
39979
39980 * util/i386/pc/biosdisk.c (make_device_name): Add one into
39981 DOS_PART, as a DOS partition is counted from one instead of zero
39982 now. Reported by Robert Millan.
39983
39984 2006-10-14 Robert Millan <rmh@aybabtu.com>
39985
39986 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
39987 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
39988 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
39989 string returned by grub_guess_root_device.
39990 * util/i386/pc/grub-setup.c: Likewise.
39991 * util/i386/pc/grub-probefs.c: Likewise.
39992
39993 * util/i386/pc/grub-probefs.c: Rename to ...
39994 * util/i386/pc/grub-probe.c: ... this.
39995 * DISTLIST: Remove grub-probefs, add grub-probe.
39996 * conf/i386-efi.rmk: Likewise.
39997 * conf/i386-pc.rmk: Likewise.
39998 * util/i386/pc/grub-install.in: Likewise.
39999
40000 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
40001 choose which information we want to print.
40002
40003 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
40004
40005 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
40006 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
40007 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
40008 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
40009 video/readers/tga.c and video/i386/pc/vbeutil.c.
40010
40011 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
40012
40013 Added support for RAID and LVM.
40014
40015 * disk/lvm.c: New file.
40016 * disk/raid.c: Likewise.
40017 * include/grub/lvm.h: Likewise.
40018 * include/grub/raid.h: Likewise.
40019 * include/grub/util/lvm.h: Likewise.
40020 * include/grub/util/raid.h: Likewise.
40021 * util/lvm.c: Likewise.
40022 * util/raid.c: Likewise.
40023
40024 * include/grub/disk.h (grub_disk_dev_id): Add
40025 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
40026 (grub_disk_get_size): New prototype.
40027 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
40028 returns a partition.
40029 (grub_disk_get_size): New function.
40030
40031 * kern/i386/pc/init.c (make_install_device): Copy the prefix
40032 verbatim if grub_install_dos_part is -2.
40033
40034 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
40035 and LVM devices.
40036
40037 * util/i386/pc/grub-setup.c (setup): New argument
40038 MUST_EMBED. Force embedding of GRUB when the argument is
40039 true. Close FILE before returning.
40040 (main): Add support for RAID and LVM.
40041
40042 * conf/common.rmk: Add RAID and LVM modules.
40043 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
40044 util/lvm.c.
40045 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
40046
40047 * kern/misc.c (grub_strstr): New function.
40048 * include/grub/misc.h (grub_strstr): New prototype.
40049
40050 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
40051
40052 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
40053
40054 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
40055
40056 * kern/misc.c (grub_strtoull): Guess the base only if not
40057 specified.
40058
40059 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
40060
40061 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
40062 PowerMac support.
40063
40064 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
40065
40066 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
40067
40068 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
40069 Remove `flags' argument. All callers changed.
40070 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
40071 (IEEE1275_IHANDLE_INVALID): New variable.
40072 (IEEE1275_CELL_INVALID): New variable.
40073 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
40074 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
40075 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
40076 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
40077 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
40078 codes from Open Firmware. All callers updated.
40079 (grub_ieee1275_next_property): Directly return Open Firmware return
40080 code.
40081 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
40082 Standardize error checking from `grub_ieee1275_get_property'.
40083 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
40084 `devalias' to `aliases'. Correct comments. Consolidate error paths.
40085
40086 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
40087
40088 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
40089 `instance_to_package_args' to `instance_to_path_args'.
40090
40091 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
40092 `grub_ieee1275_chosen'.
40093
40094 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
40095 `grub_ieee1275_interpret'.
40096
40097 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
40098
40099 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
40100
40101 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
40102
40103 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
40104 (__cmpdi): Likewise.
40105
40106 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
40107 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
40108 `grub_ssize_t'.
40109
40110 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
40111
40112 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
40113 to type `grub_ssize_t'.
40114 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
40115
40116 2006-09-22 Marco Gerards <marco@gnu.org>
40117
40118 * normal/script.c (grub_script_create_cmdmenu): Skip leading
40119 newlines.
40120
40121 2006-09-22 Marco Gerards <marco@gnu.org>
40122
40123 * commands/echo.c: New file.
40124
40125 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
40126
40127 * conf/common.rmk (echo_mod_SOURCES): New variable.
40128 (echo_mod_CFLAGS): Likewise.
40129 (echo_mod_LDFLAGS): Likewise.
40130
40131 2006-09-22 Marco Gerards <marco@gnu.org>
40132
40133 * normal/main.c (get_line): Malloc memory instead of using
40134 preallocated memory. Removed the arguments `cmdline' and
40135 `max_len'. Updated all callers.
40136
40137 2006-09-22 Marco Gerards <marco@gnu.org>
40138
40139 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
40140 (normal_mod_DEPENDENCIES): Likewise.
40141
40142 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
40143 (normal_mod_DEPENDENCIES): Likewise.
40144
40145 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
40146
40147 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
40148
40149 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
40150 programs.
40151 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
40152 (normal_mod_DEPENDENCIES): Likewise.
40153 * conf/i386-pc.mk: Regenerate.
40154 * conf/i386-efi.mk: Likewise
40155 * conf/common.mk: Likewise.
40156 * conf/powerpc-ieee1275.mk: Likewise.
40157 * conf/sparc64-ieee1275.mk: Likewise.
40158
40159 2006-09-22 Robert Millan <rmh@aybabtu.com>
40160
40161 Sync with i386 version.
40162 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
40163 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
40164
40165 2006-09-21 Robert Millan <rmh@aybabtu.com>
40166
40167 Import from GRUB Legacy (lib/device.c):
40168 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
40169 (init_device_map) [__linux__]: Add support for I2O devices.
40170
40171 2006-09-14 Marco Gerards <marco@gnu.org>
40172
40173 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
40174 `-melf_i386'.
40175
40176 2006-09-14 Robert Millan <rmh@aybabtu.com>
40177
40178 * util/i386/pc/grub-install.in: Skip menu.lst when removing
40179 /boot/grub/*.lst.
40180
40181 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
40182
40183 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
40184 before adding it to device.map.
40185
40186 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
40187
40188 * genmk.rb: Let GCC generate dependencies the first time it
40189 compiles a file; using the -MD option.
40190 * conf/common.mk: Regenerate.
40191 * conf/i386-pc.mk: Likewise.
40192 * conf/i386-efi.mk: Likewise.
40193 * conf/powerpc-ieee1275.mk: Likewise.
40194 * conf/sparc64-ieee1275.mk: Likewise.
40195
40196 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
40197
40198 Move the prototypes of grub_setjmp and grub_longjmp to
40199 cpu/setjmp.h, so that each architecture may specify different
40200 attributes.
40201
40202 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
40203 (grub_longjmp): Likewise.
40204 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
40205 (grub_longjmp): Likewise.
40206 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
40207 (grub_longjmp): Likewise.
40208
40209 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
40210 [!GRUB_UTIL] (grub_longjmp): Removed.
40211
40212 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
40213
40214 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
40215 "color!" method does not return any value.
40216
40217 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
40218
40219 * include/grub/bitmap.h: New file.
40220
40221 * include/grub/i386/pc/vbeutil.h: Likewise.
40222
40223 * video/bitmap.c: Likewise.
40224
40225 * video/readers/tga.c: Likewise.
40226
40227 * video/i386/pc/vbeutil.c: Likewise.
40228
40229 * commands/videotest.c: Code cleanup and updated to reflect to new
40230 video API.
40231
40232 * term/gfxterm.c: Likewise.
40233
40234 * video/video.c: Likewise.
40235
40236 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
40237 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
40238 (bitmap_mod_SOURCES): New entry.
40239 (bitmap_mod_CFLAGS): Likewise.
40240 (bitmap_mod_LDFLAGS): Likewise.
40241 (tga_mod_SOURCES): Likewise.
40242 (tga_mod_CFLAGS): Likewise.
40243 (tga_mod_LDFLAGS): Likewise.
40244
40245 * include/grub/video.h (grub_video_blit_operators): New enum type.
40246 (grub_video_render_target): Changed as forward declaration and moved
40247 actual definition to be video driver specific.
40248 (grub_video_adapter.blit_bitmap): Added blitting operator.
40249 (grub_video_adapter.blit_render_target): Likewise.
40250 (grub_video_blit_bitmap): Likewise.
40251 (grub_video_blit_render_target): Likewise.
40252
40253 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
40254 driver specific render target definition.
40255 (grub_video_vbe_map_rgba): Added driver internal helper.
40256 (grub_video_vbe_unmap_color): Updated to use
40257 grub_video_i386_vbeblit_info.
40258 (grub_video_vbe_get_video_ptr): Likewise.
40259
40260 * include/grub/i386/pc/vbeblit.h
40261 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
40262 grub_video_i386_vbeblit_info.
40263 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
40264 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
40265 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
40266 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
40267 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
40268 (grub_video_i386_vbeblit_index_index): Likewise.
40269 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
40270 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
40271 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
40272 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
40273 operator.
40274 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
40275 operator.
40276
40277 * video/i386/pc/vbeblit.c: Updated to reflect changes on
40278 include/grub/i386/pc/vbeblit.h.
40279
40280 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
40281 Updated to use grub_video_i386_vbeblit_info.
40282 (grub_video_i386_vbefill_R8G8B8): Likewise.
40283 (grub_video_i386_vbefill_index): Likewise.
40284 (grub_video_i386_vbefill): Added generic filler.
40285
40286 * video/i386/pc/vbefill.c: Updated to reflect changes on
40287 include/grub/i386/pc/vbefill.h.
40288
40289 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
40290 grub_video_i386_vbeblit_info.
40291 (grub_video_vbe_unmap_color): Likewise.
40292 (grub_video_vbe_blit_glyph): Likewise.
40293 (grub_video_vbe_scroll): Likewise.
40294 (grub_video_vbe_draw_pixel): Removed function.
40295 (grub_video_vbe_get_pixel): Likewise.
40296 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
40297 updated code to use it.
40298 (common_blitter): Added common blitter for render target and bitmap.
40299 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
40300 (grub_video_vbe_blit_render_target): Likewise.
40301
40302 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
40303
40304 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
40305 is in text mode if there is no console control protocol instance
40306 available.
40307
40308 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
40309
40310 * include/grub/video.h: Code cleanup.
40311
40312 * include/grub/i386/pc/vbe.h: Likewise.
40313
40314 * video/i386/pc/vbe.c: Likewise.
40315
40316 * video/i386/pc/vbeblit.c: Likewise.
40317
40318 * video/i386/pc/vbefill.c: Likewise.
40319
40320 * video/video.c: Likewise. Also added more comments.
40321
40322 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
40323
40324 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
40325 (struct grub_biosdisk_dap): Likewise.
40326
40327 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
40328 linkage settings for all functions.
40329
40330 2006-07-12 Marco Gerards <marco@gnu.org>
40331
40332 * configure.ac (--enable-mm-debug): Fix typo.
40333
40334 * genkernsyms.sh.in: Use proper quoting for `CC'.
40335
40336 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
40337
40338 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
40339 (normal_mod_ASFLAGS): Remove "-m32".
40340
40341 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
40342
40343 * util/misc.c: Include config.h.
40344 [!HAVE_MEMALIGN]: Do not include malloc.h.
40345 (grub_memalign): Use posix_memalign, if present. Then, use
40346 memalign, if present. Otherwise, emit an error.
40347
40348 * util/grub-emu.c: Do not include malloc.h.
40349
40350 * include/grub/util/misc.h: Include unistd.h. This is required for
40351 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
40352 D. Eades III <hde@foobar-qux.org>.
40353
40354 * configure.ac (AC_GNU_SOURCE): Added.
40355 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
40356 type.
40357
40358 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
40359
40360 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
40361 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
40362
40363 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
40364
40365 * include/grub/types.h (grub_host_addr_t): Rename to
40366 grub_target_addr_t.
40367 (grub_host_off_t): Rename to grub_target_off_t.
40368 (grub_host_size_t): Rename to grub_target_size_t.
40369 (grub_host_ssize_t): Rename to grub_target_ssize_t.
40370 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
40371
40372 * include/grub/kernel.h (struct grub_module_header): Change type
40373 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
40374 (grub_module_info): Likewise.
40375
40376 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
40377
40378 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
40379 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
40380 Velazquez <jesus.velazquez@gmail.com>.
40381
40382 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
40383
40384 Count partitions from 1 instead of 0 in the string representation
40385 of partitions. Still use 0-based internally.
40386
40387 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
40388 (sun_partition_map_iterate): Use grub_partition_t instead of
40389 struct grub_partition *. Cast DESC->START_CYLINDER to
40390 grub_uint64_t after converting the endian.
40391 (sun_partition_map_probe): Subtract 1 for PARTNUM.
40392 (sun_partition_map_get_name): Add 1 to P->INDEX.
40393
40394 * partmap/pc.c (grub_partition_parse): Subtract 1 for
40395 PCDATA->DOS_PART.
40396 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
40397
40398 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
40399 zero instead of one.
40400 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
40401 (gpt_partition_map_get_name): Add 1 into P->INDEX.
40402
40403 * partmap/apple.c (apple_partition_map_iterate): Change the type
40404 of POS to unsigned.
40405 (apple_partition_map_probe): Subtract 1 for PARTNUM.
40406 (apple_partition_map_get_name): Add 1 into P->INDEX.
40407
40408 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
40409 of POS to unsigned.
40410 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
40411 calculate the offset of a partition.
40412 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
40413 (amiga_partition_map_get_name): Add 1 into P->INDEX.
40414
40415 * partmap/acorn.c (acorn_partition_map_find): Change the type of
40416 SECTOR to grub_disk_addr_t.
40417 (acorn_partition_map_iterate): Likewise.
40418 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
40419 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
40420 top.
40421 (acorn_partition_map_get_name): Add 1 into P->INDEX.
40422
40423 * kern/i386/pc/init.c (make_install_device): Add 1 into
40424 GRUB_INSTALL_DOS_PART.
40425
40426 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
40427 conditional.
40428
40429 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
40430
40431 Clean up the code to support 64-bit addressing in disks and
40432 files. This change is not enough for filesystems yet.
40433
40434 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
40435 type of "start" to grub_uint64_t.
40436 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
40437 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
40438 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
40439 convert addresses.
40440
40441 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
40442 to grub_disk_addr_t.
40443
40444 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
40445 string.
40446
40447 * partmap/pc.c (pc_partition_map_iterate): Likewise.
40448
40449 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
40450 to char *.
40451
40452 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
40453
40454 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
40455
40456 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
40457
40458 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
40459 to grub_off_t, to detect an error from grub_file_seek.
40460 (grub_multiboot_load_elf32): Likewise.
40461
40462 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
40463 maximum unsigned long value when an overflow is detected.
40464 (grub_strtoull): New function.
40465 (grub_divmod64): Likewise.
40466 (grub_lltoa): use grub_divmod64.
40467
40468 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
40469 grub_disk_addr_t.
40470 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
40471 the pointer to next character. Use grub_strtoull instead of
40472 grub_strtoul.
40473 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
40474 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
40475 respectively.
40476
40477 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
40478 return value is signed.
40479 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
40480 test if OFFSET is less than zero, as OFFSET is unsigned now.
40481
40482 * kern/disk.c (struct grub_disk_cache): Change the type of
40483 "sector" to grub_disk_addr_t.
40484 (grub_disk_cache_get_index): Change the type of SECTOR to
40485 grub_disk_addr_t. Calculate the hash with SECTOR casted to
40486 unsigned after shifting.
40487 (grub_disk_cache_invalidate): Change the type of SECTOR to
40488 grub_disk_addr_t.
40489 (grub_disk_cache_unlock): Likewise.
40490 (grub_disk_cache_store): Likewise.
40491 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
40492 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
40493 grub_disk_addr_t and grub_uint64_t, respectively.
40494 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
40495 body, as the value of OFFSET is tweaked by
40496 grub_disk_check_range. Change the types of START_SECTOR, LEN and
40497 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
40498 respectively.
40499 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
40500 body, as the value of OFFSET is tweaked by
40501 grub_disk_check_range. Change the types of LEN and N to
40502 grub_size_t.
40503
40504 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
40505 and "saved_offset" to grub_off_t.
40506 (test_header): Cast BUF to char *.
40507 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
40508 to char *.
40509 (grub_gzio_read): Change the types of OFFSET and SIZE to
40510 grub_off_t and grub_size_t, respectively.
40511
40512 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
40513 Removed.
40514 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
40515 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
40516 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
40517 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
40518 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
40519
40520 * include/grub/types.h (grub_off_t): Unconditionally set to
40521 grub_uint64_t.
40522 (grub_disk_addr_t): Changed to grub_uint64_t.
40523
40524 * include/grub/partition.h (struct grub_partition): Change the
40525 types of "start", "len" and "offset" to grub_disk_addr_t,
40526 grub_uint64_t and grub_disk_addr_t, respectively.
40527 (grub_partition_get_start): Return grub_disk_addr_t.
40528 (grub_partition_get_len): Return grub_uint64_t.
40529
40530 * include/grub/misc.h (grub_strtoull): New prototype.
40531 (grub_divmod64): Likewise.
40532
40533 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
40534 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
40535 grub_off_t, respectively.
40536 All callers and references changed.
40537
40538 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
40539 grub_size_t in "read".
40540 All callers and references changed.
40541
40542 * include/grub/file.h (struct grub_file): Change the types of
40543 "offset" and "size" to grub_off_t and grub_off_t,
40544 respectively. Change the type of SECTOR to grub_disk_addr_t in
40545 "read_hook".
40546 (grub_file_read): Change the type of LEN to grub_size_t.
40547 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
40548 grub_off_t.
40549 (grub_file_size): Return grub_off_t.
40550 (grub_file_tell): Likewise.
40551 All callers and references changed.
40552
40553 * include/grub/disk.h (struct grub_disk_dev): Change the types of
40554 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
40555 "write".
40556 (struct grub_disk): Change the type of "total_sectors" to
40557 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
40558 "read_hook".
40559 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
40560 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
40561 (grub_disk_write): Likewise.
40562 All callers and references changed.
40563
40564 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
40565 char * for grub_strncmp to silence gcc.
40566 (grub_iso9660_mount): Likewise.
40567 (grub_iso9660_mount): Likewise.
40568 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
40569 return statement.
40570 (grub_iso9660_iterate_dir): Likewise.
40571 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
40572
40573 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
40574 LEN to grub_disk_addr_t and grub_size_t, respectively.
40575
40576 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
40577
40578 * fs/jfs.c (grub_jfs_read_file): Likewise.
40579
40580 * fs/minix.c (grub_jfs_read_file): Likewise.
40581
40582 * fs/sfs.c (grub_jfs_read_file): Likewise.
40583
40584 * fs/ufs.c (grub_jfs_read_file): Likewise.
40585
40586 * fs/xfs.c (grub_jfs_read_file): Likewise.
40587
40588 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
40589 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
40590 respectively.
40591
40592 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
40593 BLKNR to -1 instead of returning GRUB_ERRNO.
40594 (grub_ext2_read_file): Change the types of SECTOR and
40595 LEN to grub_disk_addr_t and grub_size_t, respectively.
40596
40597 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
40598 LEN to grub_disk_addr_t and grub_size_t, respectively.
40599
40600 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
40601 grub_file_read.
40602
40603 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
40604 string. Do not cast SECTOR explicitly.
40605
40606 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
40607 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
40608 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
40609 grub_disk_addr_t and grub_size_t, respectively. If the sector is
40610 over 2TB and LBA mode is not supported, raise an error.
40611 (get_safe_sectors): New function.
40612 (grub_biosdisk_read): Use get_safe_sectors.
40613 (grub_biosdisk_write): Likewise.
40614
40615 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
40616 (grub_efidisk_write): Likewise.
40617
40618 * disk/loopback.c (delete_loopback): Cosmetic changes.
40619 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
40620 correctly.
40621 (grub_loopback_open): Likewise.
40622 (grub_loopback_read): Likewise. Also, change the type of POS to
40623 grub_off_t, and fix the usage of grub_memset.
40624
40625 * commands/i386/pc/play.c: Include grub/machine/time.h.
40626
40627 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
40628 print FILE->SIZE.
40629
40630 * commands/configfile.c: Include grub/env.h.
40631
40632 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
40633 GRUB_ERRNO directly instead. Change the type of POS to
40634 grub_off_t. Follow the coding standard.
40635
40636 * commands/blocklist.c: Include grub/partition.h.
40637 (grub_cmd_blocklist): Return an error if the underlying device is
40638 not a disk. Take the starting sector of a partition into account,
40639 if a partition is used.
40640
40641 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
40642 a length field.
40643 (lba_mode): Support 64-bit addresses.
40644 (chs_mode): Likewise.
40645 (copy_buffer): Adapted to the new offsets of a length field and a
40646 segment field.
40647 (blocklist_default_start): Allocate 64-bit space.
40648
40649 * boot/i386/pc/boot.S (force_lba): Removed.
40650 (boot_drive): Moved to under KERNEL_SECTOR.
40651 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
40652 space.
40653 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
40654 is useless.
40655 (lba_mode): Refactored to support a 64-bit address. More size
40656 optimization.
40657 (setup_sectors): Likewise.
40658
40659 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
40660
40661 * DISTLIST: Added include/grub/i386/linux.h. Removed
40662 include/grub/i386/pc/linux.h
40663
40664 * configure.ac (AC_INIT): Bumped to 1.94.
40665
40666 * config.guess: Updated from gnulib.
40667 * config.sub: Likewise.
40668 * install-sh: Likewise.
40669 * mkinstalldirs: Likewise.
40670
40671 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
40672
40673 * conf/common.rmk (grub_modules_init.lst): Depended on
40674 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
40675 MODSRCFILES.
40676
40677 * genmk.rb (PModule::rule): Reverted the previous change.
40678
40679 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
40680
40681 * conf/common.rmk (grub_modules_init.lst): Depends on
40682 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
40683 that the target does not exist before producing.
40684 (grub_modules_init.h): Remove the target before generating.
40685 (grub_emu_init.c): Likewise.
40686
40687 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
40688
40689 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
40690
40691 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
40692 for the target-specific tests. Make sure that we also have the
40693 up-to-date target variables for those tests.
40694
40695 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
40696
40697 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
40698 (PModule::rule): Likewise.
40699
40700 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
40701
40702 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
40703 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
40704 target-specific flags should be prefixed.
40705 (PModule::rule): Likewise.
40706
40707 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
40708
40709 * configure.ac (CMP): Check if cmp is available explicitly.
40710
40711 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
40712
40713 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
40714 (target_cpu): New variable.
40715 (pkglibdir): Use target_cpu instead of host_cpu.
40716
40717 * util/i386/pc/grub-install.in (host_cpu): Removed.
40718 (target_cpu): New variable.
40719 (pkglibdir): Use target_cpu instead of host_cpu.
40720
40721 * util/genmoddep.c: Removed.
40722
40723 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
40724 instead of GRUB_HOST_SIZEOF_VOID_P.
40725 * kern/dl.c: Likewise.
40726
40727 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
40728 ...
40729 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
40730 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
40731 (GRUB_TARGET_SIZEOF_LONG): ... this.
40732 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
40733 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
40734 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
40735 to ...
40736 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
40737 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
40738 (GRUB_TARGET_SIZEOF_LONG): ... this.
40739 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
40740 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
40741 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
40742 to ...
40743 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
40744 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
40745 (GRUB_TARGET_SIZEOF_LONG): ... this.
40746 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
40747 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
40748
40749 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
40750 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
40751 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
40752 instead of GRUB_HOST_SIZEOF_LONG.
40753 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
40754 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
40755 GRUB_CPU_WORDS_BIGENDIAN.
40756 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
40757 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
40758 grub_host_ssize_t.
40759
40760 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
40761 (genmoddep_SOURCES): Likewise.
40762 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
40763 (genmoddep_SOURCES): Likewise.
40764 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
40765 (genmoddep_SOURCES): Likewise.
40766 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
40767 Likewise.
40768 (genmoddep_SOURCES): Likewise.
40769
40770 * genmoddep.awk: New file.
40771
40772 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
40773 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
40774 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
40775 (PModule::rule): Likewise.
40776 (Program::rule): Likewise.
40777 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
40778 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
40779 respectively.
40780
40781 * configure.ac: Rewritten intensively to use host and target
40782 instead of build and host, respectively.
40783
40784 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
40785 (host_cpu): Removed.
40786 (target_cpu): New variable.
40787 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
40788 (BUILD_CC): Removed.
40789 (BUILD_CFLAGS): Likewise.
40790 (BUILD_CPPFLAGS): Likewise.
40791 (TARGET_CC): New variable.
40792 (TARGET_CFLAGS): Likewise.
40793 (TARGET_CPPFLAGS): Likewise.
40794 (TARGET_LDFLAGS): Likewise.
40795 (AWK): Likewise.
40796 (include): Use target_cpu instead of host_cpu.
40797 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
40798
40799 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
40800
40801 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
40802
40803 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
40804 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
40805 field 'false' to 'exec_on_false'.
40806 (grub_script_create_cmdif): Renamed argument names to reflect above
40807 changes.
40808
40809 * normal/execute.c (grub_script_execute_cmdif): Likewise.
40810
40811 * normal/script.c (grub_script_create_cmdif): Likewise.
40812
40813 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
40814
40815 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
40816 top.
40817 (grub_hfsplus_btree_recptr): Likewise.
40818 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
40819 FILEBLOCK both to pass a block number and store next block
40820 number.
40821 (grub_hfsplus_read_block): Rewritten heavily to support an extent
40822 overflow file correctly. Specify errors appropriately, because
40823 fshelp expects that GRUB_ERRNO is set when fails. Reuse
40824 grub_hfsplus_btree_recptr to get the pointer to a found key.
40825 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
40826 is found.
40827
40828 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
40829 linux.mod.
40830 (_linux_mod_SOURCES): New variable.
40831 (_linux_mod_CFLAGS): Likewise.
40832 (_linux_mod_LDFLAGS): Likewise.
40833 (linux_mod_SOURCES): Likewise.
40834 (linux_mod_CFLAGS): Likewise.
40835 (linux_mod_LDFLAGS): Likewise.
40836
40837 * DISTLIST: Added loader/i386/efi/linux.c,
40838 loader/i386/efi/linux_normal.c and
40839 include/grub/i386/efi/loader.h.
40840
40841 * loader/i386/efi/linux.c: New file.
40842 * loader/i386/efi/linux_normal.c: Likewise.
40843 * include/grub/i386/efi/loader.h: Likewise.
40844
40845 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
40846
40847 * commands/blocklist.c: New file.
40848
40849 * DISTLIST: Added commands/blocklist.c.
40850
40851 * term/efi/console.c (grub_console_highlight_color): Use a lighter
40852 color for the background, and a darker color for the foreground.
40853 (grub_console_checkkey): Return READ_KEY.
40854 (grub_console_cls): Set the background to
40855 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
40856
40857 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
40858
40859 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
40860 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
40861
40862 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
40863 prototype.
40864
40865 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
40866 BG. The spec is wrong again.
40867
40868 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
40869 prototype.
40870 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
40871
40872 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
40873 commands/blocklist.c.
40874 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40875
40876 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
40877 (blocklist_mod_SOURCES): New variable.
40878 (blocklist_mod_CFLAGS): Likewise.
40879 (blocklist_mod_LDFLAGS): Likewise.
40880
40881 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
40882
40883 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
40884 duplication.
40885 (lba_mode): Use %eax more intensively to reduce the code size.
40886
40887 2006-05-20 Marco Gerards <marco@gnu.org>
40888
40889 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
40890
40891 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
40892 for `menuentry'.
40893 (script): Accept leading newlines.
40894 (newlines): New rule to describe 0 or more newlines.
40895 (commands): Accept `command' with trailing newline. Fixed the
40896 order in which arguments were passed to `grub_script_add_cmd'.
40897 Accept commands separated by newlines.
40898 (function): Changed to accept newlines.
40899 (menuentry) Rewritten.
40900
40901 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
40902 front of the list, instead of to the end.
40903
40904 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
40905
40906 * util/i386/pc/grub-install.in (bindir): New variable.
40907 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
40908 Shaver <lbgwjl@gmail.com>.
40909
40910 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
40911
40912 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
40913 grub/machine/linux.h
40914 * loader/i386/pc/linux.c: Likewise.
40915
40916 * include/grub/i386/pc/linux.h: Moved to ...
40917 * include/grub/i386/linux.h: ... here.
40918
40919 * include/grub/i386/linux.h (struct linux_kernel_params): New
40920 struct.
40921
40922 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
40923
40924 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
40925 checking.
40926 (grub_video_vbe_blit_glyph): Likewise.
40927 (grub_video_vbe_blit_bitmap): Likewise.
40928 (grub_video_vbe_blit_render_target): Likewise.
40929
40930 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
40931
40932 * configure.ac (--with-platform): Properly quote the square
40933 brackets.
40934
40935 2006-05-08 Marco Gerards <marco@gnu.org>
40936
40937 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
40938 this...
40939 (kernel_elf_HEADERS): ...to this. Updated all users.
40940 (grubof_symlist.c): Renamed from this...
40941 (kernel_elf_symlist.c): ...to this. Updated all users.
40942 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
40943 (grubof_SOURCES): Renamed from this...
40944 (kernel_elf_SOURCES): ...to this.
40945 (grubof_HEADERS): Renamed from this...
40946 (kernel_elf_HEADERS): ...to this.
40947 (grubof_CFLAGS): Renamed from this...
40948 (kernel_elf_CFLAGS): ...to this.
40949 (grubof_ASFLAGS): Renamed from this...
40950 (kernel_elf_ASFLAGS): ...to this.
40951 (grubof_LDFLAGS): Renamed from this...
40952 (kernel_elf_LDFLAGS): ...to this.
40953
40954 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
40955 this...
40956 (kernel_elf_HEADERS): ...to this. Updated all users.
40957 (grubof_symlist.c): Renamed from this...
40958 (kernel_elf_symlist.c): ...to this. Updated all users.
40959 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
40960 (grubof_SOURCES): Renamed from this...
40961 (kernel_elf_SOURCES): ...to this.
40962 (grubof_HEADERS): Renamed from this...
40963 (kernel_elf_HEADERS): ...to this.
40964 (grubof_CFLAGS): Renamed from this...
40965 (kernel_elf_CFLAGS): ...to this.
40966 (grubof_ASFLAGS): Renamed from this...
40967 (kernel_elf_ASFLAGS): ...to this.
40968 (grubof_LDFLAGS): Renamed from this...
40969 (kernel_elf_LDFLAGS): ...to this.
40970
40971 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
40972 `kernel.elf' instead of `grubof'.
40973
40974 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
40975
40976 Add --with-platform to configure. Use pkglibdir instead of
40977 pkgdatadir. This is reported by Roger Leigh.
40978
40979 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
40980 (host_vendor): Likewise.
40981 (host_os): Likewise.
40982 (pkgdatadir): Likewise.
40983 (platform): New variable.
40984 (pkglibdir): Likewise.
40985 Use PKGLIBDIR instead of PKGDATADIR.
40986
40987 * util/i386/pc/grub-install.in (datadir): Removed.
40988 (host_vendor): Likewise.
40989 (host_os): Likewise.
40990 (pkgdatadir): Likewise.
40991 (platform): New variable.
40992 (pkglibdir): Likewise.
40993 Use PKGLIBDIR instead of PKGDATADIR.
40994
40995 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
40996 instead of GRUB_DATADIR.
40997 (main): Likewise.
40998 * util/i386/pc/grub-mkimage.c (usage): Likewise.
40999 (main): Likewise.
41000 * util/i386/efi/grub-mkimage.c (usage): Likewise.
41001 (main): Likewise.
41002
41003 * configure.ac (--with-platform): New option.
41004 Use PLATFORM instead of HOST_VENDOR to specify a platform.
41005
41006 * Makefile.in: Include a makefile based on PLATFORM instead of
41007 HOST_VENDOR.
41008 (pkgdatadir): Not appended by the machine type.
41009 (pkglibdir): Appended by the machine type.
41010 (host_vendor): Removed.
41011 (platform): New variable.
41012 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
41013 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
41014 (uninstall): Likewise.
41015
41016 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
41017
41018 Use the environment context in the menu. Remove the commands
41019 "default" and "timeout", and use variables instead.
41020
41021 * normal/menu.c: Include grub/env.h.
41022 (print_entry): Cast TITLE to silence gcc.
41023 (get_timeout): New function.
41024 (set_timeout): Likewise.
41025 (get_entry_number): Likewise.
41026 (run_menu): Use a default entry, a fallback entry and a timeout
41027 in the environment variables "default", "fallback" and
41028 "timeout". Also, tweak the default entry if it is not within the
41029 current menu entries.
41030 (grub_menu_run): Use a fallback entry in the environment variable
41031 "fallback".
41032
41033 * normal/main.c (read_config_file): Do not initialize
41034 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
41035 NEWMENU->TIMEOUT.
41036 (grub_normal_execute): Use a data slot to store the menu.
41037
41038 * include/grub/normal.h (struct grub_menu): Removed default_entry,
41039 fallback_entry and timeout.
41040 (struct grub_menu_list): Removed.
41041 (grub_menu_list_t): Likewise.
41042 (struct grub_context): Likewise.
41043 (grub_context_t): Likewise.
41044 (grub_context_get): Likewise.
41045 (grub_context_get_current_menu): Likewise.
41046 (grub_context_push_menu): Likewise.
41047 (grub_context_pop_menu): Likewise.
41048 (grub_default_init): Likewise.
41049 (grub_default_fini): Likewise.
41050 (grub_timeout_init): Likewise.
41051 (grub_timeout_fini): Likewise.
41052
41053 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
41054 and timeout.mod.
41055 (normal_mod_SOURCES): Removed normal/context.c.
41056
41057 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
41058 commands/default.c, commands/timeout.c and normal/context.c.
41059 (normal_mod_SOURCES): Removed normal/context.c.
41060
41061 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
41062 commands/timeout.c and normal/context.c.
41063 (normal_mod_SOURCES): Removed normal/context.c.
41064
41065 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
41066 commands/default.c, commands/timeout.c and normal/context.c.
41067 (normal_mod_SOURCES): Removed normal/context.c.
41068
41069 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
41070 timeout.mod.
41071 (default_mod_SOURCES): Removed.
41072 (default_mod_CFLAGS): Likewise.
41073 (default_mod_LDFLAGS): Likewise.
41074 (timeout_mod_SOURCES): Removed.
41075 (timeout_mod_CFLAGS): Likewise.
41076 (timeout_mod_LDFLAGS): Likewise.
41077
41078 * DISTLIST: Removed commands/default.c, commands/timeout.c and
41079 normal/context.c.
41080
41081 * commands/default.c: Removed.
41082 * commands/timeout.c: Likewise.
41083 * normal/context.c: Likewise.
41084
41085 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
41086
41087 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
41088
41089 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
41090
41091 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
41092 "next" to "prev" for readability.
41093 (struct grub_env_sorted_var): New struct.
41094 (grub_env_context): Renamed to ...
41095 (initial_context): ... this.
41096 (grub_env_var_context): Renamed to ...
41097 (current_context): ... this.
41098 (grub_env_find): Look only at CURRENT_CONTEXT.
41099 (grub_env_context_open): Rewritten to copy exported variables from
41100 previous context.
41101 (grub_env_context_close): Rewritten according to the new
41102 scheme. Also, add an assertion to prevent the initial context from
41103 removed.
41104 (grub_env_insert): Removed the code for the sorted list.
41105 (grub_env_remove): Likewise.
41106 (grub_env_export): Simply mark the variable with
41107 GRUB_ENV_VAR_GLOBAL.
41108 (grub_env_set): A cosmetic change for naming consistency.
41109 (grub_env_get): Likewise.
41110 (grub_env_unset): Likewise.
41111 (grub_env_iterate): Rewritten to sort variables within this
41112 function.
41113 (grub_register_variable_hook): Fixed for naming consistency. Call
41114 grub_env_find again, only if NAME is not found at the first time.
41115 (mangle_data_slot_name): New function.
41116 (grub_env_set_data_slot): Likewise.
41117 (grub_env_get_data_slot): Likewise.
41118 (grub_env_unset_data_slot): Likewise.
41119
41120 * include/grub/env.h (grub_env_var_type): New enum.
41121 (GRUB_ENV_VAR_LOCAL): New constant.
41122 (GRUB_ENV_VAR_GLOBAL): Likewise.
41123 (GRUB_ENV_VAR_DATA): Likewise.
41124 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
41125 "type".
41126 (grub_env_set): Replace VAR with NAME for consistency.
41127 (grub_register_variable_hook): Likewise.
41128 (grub_env_export): Specify the name of the argument.
41129 (grub_env_set_data_slot): New prototype.
41130 (grub_env_get_data_slot): Likewise.
41131 (grub_env_unset_data_slot): Likewise.
41132
41133 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
41134
41135 Extend the loader so that GRUB can accept a loader which comes
41136 back to GRUB when a loaded image exits. Also, this change adds
41137 support for a chainloader on EFI.
41138
41139 * term/efi/console.c: Include grub/misc.h.
41140 (grub_console_checkkey): Display a scan code on the top for
41141 debugging. This will be removed once the EFI port gets stable.
41142 Correct the scan code mapping.
41143
41144 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
41145 allocate memory from larger regions, in order to reduce the number
41146 of allocated regions. Otherwise, the MacOSX loader panics.
41147 (filter_memory_map): Avoid less than 1MB for compatibility with
41148 other loaders.
41149 (add_memory_regions): Allocate from the tail of a region, if
41150 possible, to avoid allocating a region near to 1MB, for the MacOSX
41151 loader.
41152
41153 * kern/efi/init.c (grub_efi_set_prefix): Specify
41154 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
41155
41156 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
41157 argument IMAGE_HANDLE and specify it to get a loaded image.
41158 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
41159 grub_efi_get_loaded_image.
41160 (grub_efi_get_filename): Divide the length by the size of
41161 grub_efi_char16_t.
41162 (grub_efi_get_device_path): New function.
41163 (grub_efi_print_device_path): Print End Device Path nodes. Divide
41164 the length by the size of grub_efi_char16_t for a file path device
41165 path node.
41166
41167 * kern/loader.c (grub_loader_noreturn): New variable.
41168 (grub_loader_set): Accept a new argument NORETURN. Set
41169 GRUB_LOADER_NORETURN to NORETURN.
41170 All callers changed.
41171 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
41172 grub_machine_fini.
41173
41174 * include/grub/efi/efi.h (grub_efi_get_device_path): New
41175 prototype.
41176 (grub_efi_get_loaded_image): Take an argument to specify an image
41177 handle.
41178
41179 * include/grub/loader.h (grub_loader_set): Added one more argument
41180 NORETURN.
41181
41182 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
41183 instead of grub_efi_open_protocol.
41184 (grub_efidisk_get_device_name): Likewise.
41185 (grub_efidisk_close): Print a newline.
41186 (grub_efidisk_get_device_handle): Fixed to use
41187 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
41188 GRUB_EFI_DEVICE_PATH_TYPE.
41189
41190 * disk/efi/efidisk.c (device_path_guid): Moved to ...
41191 * kern/efi/efi.c (device_path_guid): ... here.
41192
41193 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
41194 chain.mod.
41195 (kernel_mod_HEADERS): Added efi/disk.h.
41196 (_chain_mod_SOURCES): New variable.
41197 (_chain_mod_CFLAGS): Likewise.
41198 (_chain_mod_LDFLAGS): Likewise.
41199 (chain_mod_SOURCES): Likewise.
41200 (chain_mod_CFLAGS): Likewise.
41201 (chain_mod_LDFLAGS): Likewise.
41202
41203 * DISTLIST: Added include/grub/efi/chainloader.h,
41204 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
41205
41206 * include/grub/efi/chainloader.h: New file.
41207 * loader/efi/chainloader.c: Likewise.
41208 * loader/efi/chainloader_normal.c: Likewise.
41209
41210 2006-04-30 Marco Gerards <marco@gnu.org>
41211
41212 * commands/configfile.c (grub_cmd_source): New function.
41213 (GRUB_MOD_INIT): Register the commands `source' and `.'.
41214 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
41215
41216 2006-04-30 Marco Gerards <marco@gnu.org>
41217
41218 * normal/execute.c (grub_script_execute_cmd): Change the return
41219 type to `grub_err_t'. Correctly return the error.
41220 (grub_script_execute_cmdline): In case a command line is not a
41221 command or a function, try to interpret it as an assignment.
41222
41223 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
41224
41225 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
41226 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
41227 skip a node whose name is obviously invalid as UTF-16,
41228 i.e. contains a NUL character. Stop the iteration when the last
41229 directory entry is found. Instead of using the return value of
41230 grub_hfsplus_btree_iterate_node, store the value in RET and use
41231 it, because the iterator can be stopped by the last directory
41232 entry.
41233
41234 2006-04-30 Marco Gerards <marco@gnu.org>
41235
41236 * include/grub/env.h (grub_env_export): New prototype. Reported
41237 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
41238
41239 2006-04-30 Marco Gerards <marco@gnu.org>
41240
41241 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
41242 size of the extents in a catalog file record.
41243
41244 2006-04-29 Marco Gerards <marco@gnu.org>
41245
41246 * commands/configfile.c (grub_cmd_configfile): Execute the
41247 configfile within its own context.
41248
41249 * include/grub/env.h (grub_env_context_open): New prototype.
41250 (grub_env_context_close): Likewise.
41251
41252 * kern/env.c (grub_env): Removed.
41253 (grub_env_sorted): Likewise.
41254 (grub_env_context): New variable.
41255 (grub_env_var_context): Likewise.
41256 (grub_env_find): Search both the active context and the global
41257 context.
41258 (grub_env_context_open): New function.
41259 (grub_env_context_close): Likewise.
41260 (grub_env_insert): Likewise.
41261 (grub_env_remove): Likewise.
41262 (grub_env_export): Likewise.
41263 (grub_env_set): Changed to use helper functions to avoid code
41264 duplication.
41265 (grub_env_iterate): Rewritten so both the current context and the
41266 global context are being used.
41267
41268 * normal/command.c (export_command): New function.
41269 (grub_command_init): Register the `export' function.
41270
41271 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
41272
41273 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
41274 explicitly to suppress gcc's warnings.
41275 * fs/fat.c (grub_fat_find_dir): Likewise.
41276 (grub_fat_label): Likewise.
41277 * fs/xfs.c (grub_xfs_read_inode): Likewise.
41278 (grub_xfs_mount): Likewise.
41279 (grub_xfs_label): Likewise.
41280 * fs/affs.c (grub_affs_mount): Likewise.
41281 (grub_affs_label): Likewise.
41282 (grub_affs_iterate_dir): Likewise.
41283 * fs/sfs.c (grub_sfs_mount): Likewise.
41284 (grub_sfs_iterate_dir): Likewise.
41285 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
41286 * fs/hfs.c (grub_hfs_mount): Likewise.
41287 (grub_hfs_cmp_catkeys): Likewise.
41288 (grub_hfs_find_dir): Likewise.
41289 (grub_hfs_dir): Likewise.
41290 (grub_hfs_label): Likewise.
41291 * fs/jfs.c (grub_jfs_mount): Likewise.
41292 (grub_jfs_opendir): Likewise.
41293 (grub_jfs_getent): Likewise.
41294 (grub_jfs_lookup_symlink): Likewise.
41295 (grub_jfs_label): Likewise.
41296 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
41297 (grub_hfsplus_iterate_dir): Likewise.
41298 (grub_hfsplus_btree_iterate_node): Made static.
41299
41300 * util/grub-emu.c (prefix): New variable.
41301 (grub_machine_set_prefix): New function.
41302 (main): Do not set the environment variable "prefix" here. Only
41303 set PREFIX, which is used later by grub_machine_set_prefix.
41304
41305 * include/grub/video.h: Do not include grub/symbol.h.
41306 (grub_video_register): Not exported. This symbol is not defined in
41307 the kernel.
41308 (grub_video_unregister): Likewise.
41309 (grub_video_iterate): Likewise.
41310 (grub_video_setup): Likewise.
41311 (grub_video_restore): Likewise.
41312 (grub_video_get_info): Likewise.
41313 (grub_video_get_blit_format): Likewise.
41314 (grub_video_set_palette): Likewise.
41315 (grub_video_get_palette): Likewise.
41316 (grub_video_set_viewport): Likewise.
41317 (grub_video_get_viewport): Likewise.
41318 (grub_video_map_color): Likewise.
41319 (grub_video_map_rgb): Likewise.
41320 (grub_video_map_rgba): Likewise.
41321 (grub_video_fill_rect): Likewise.
41322 (grub_video_blit_glyph): Likewise.
41323 (grub_video_blit_bitmap): Likewise.
41324 (grub_video_blit_render_target): Likewise.
41325 (grub_video_scroll): Likewise.
41326 (grub_video_swap_buffers): Likewise.
41327 (grub_video_create_render_target): Likewise.
41328 (grub_video_delete_render_target): Likewise.
41329 (grub_video_set_active_render_target): Likewise.
41330
41331 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
41332 Undefined.
41333 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
41334
41335 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
41336 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41337 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41338 instead of $(srcdir)/genkernsyms.sh.
41339
41340 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
41341 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41342 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41343 instead of $(srcdir)/genkernsyms.sh.
41344
41345 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
41346 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41347 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41348 instead of $(srcdir)/genkernsyms.sh.
41349
41350 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
41351 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41352 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41353 instead of $(srcdir)/genkernsyms.sh.
41354
41355 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
41356 genkernsyms.sh.
41357
41358 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
41359 genkernsyms.sh.
41360 (gensymlist.sh): New target.
41361 (genkernsyms.sh): Likewise.
41362
41363 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
41364 genkernsyms.sh.in and gensymlist.sh.in.
41365
41366 * genkernsyms.sh: Removed.
41367 * gensymlist.sh: Likewise.
41368
41369 * genkernsyms.sh.in: New file.
41370 * gensymlist.sh.in: Likewise.
41371
41372 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
41373
41374 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
41375 clobber "prefix", since we may have already set it manually.
41376
41377 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
41378
41379 * kern/misc.c (abort): New alias for grub_abort.
41380
41381 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
41382
41383 A new machine-specific function "grub_machine_set_prefix" is
41384 defined. This is called after loading modules, so that a prefix
41385 initialization can use modules. Also, this change adds an
41386 intensive debugging feature for the memory manager via the
41387 configure option "--enable-mm-debug".
41388
41389 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
41390 PART.LEN.
41391
41392 * kern/sparc64/ieee1275/init.c (abort): Removed.
41393 (grub_stop): Likewise.
41394 (grub_exit): New function.
41395 (grub_set_prefix): Renamed to ...
41396 (grub_machine_set_prefix): ... this.
41397 (grub_machine_init): Do not call grub_set_prefix.
41398
41399 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
41400 (grub_machine_set_prefix): ... this.
41401 (grub_machine_init): Do not call grub_set_prefix.
41402
41403 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
41404 (grub_machine_init): Do not set the prefix here.
41405
41406 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
41407
41408 * kern/efi/init.c: Include grub/mm.h.
41409 (grub_efi_set_prefix): New function.
41410
41411 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
41412 (grub_efi_get_filename): New function.
41413 (grub_print_device_path): Renamed to ...
41414 (grub_efi_print_device_path): ... this.
41415
41416 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
41417 [MM_DEBUG] (grub_realloc): Likewise.
41418 [MM_DEBUG] (grub_free): Likewise.
41419 [MM_DEBUG] (grub_memalign): Likewise.
41420 [MM_DEBUG] (grub_mm_debug): New variable.
41421 [MM_DEBUG] (grub_debug_malloc): New function.
41422 [MM_DEBUG] (grub_debug_free): New function.
41423 [MM_DEBUG] (grub_debug_realloc): New function.
41424 [MM_DEBUG] (grub_debug_memalign): New function.
41425
41426 * kern/misc.c (grub_abort): Print a newline to distinguish
41427 the message.
41428
41429 * kern/main.c (grub_main): Call grub_machine_set_prefix and
41430 grub_set_root_dev after loading modules. This is necessary when
41431 setting a prefix depends on modules.
41432
41433 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
41434 (grub_efi_print_device_path): ... this.
41435 (grub_efi_get_filename): New prototype.
41436 (grub_efi_set_prefix): Likewise.
41437
41438 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
41439 and grub/disk.h.
41440 (grub_efidisk_get_device_handle): New prototype.
41441 (grub_efidisk_get_device_name): Likewise.
41442
41443 * include/grub/mm.h: Include config.h.
41444 (MM_DEBUG): Removed.
41445 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
41446 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
41447 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
41448 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
41449 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
41450 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
41451 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
41452 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
41453 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
41454
41455 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
41456
41457 * disk/efi/efidisk.c: Include grub/partition.h.
41458 (iterate_child_devices): New function.
41459 (add_device): First, compare only last device path nodes, so that
41460 devices are sorted by the types.
41461 (grub_efidisk_get_device_handle): New function.
41462 (grub_efidisk_get_device_name): Likewise.
41463
41464 * configure.ac (--enable-mm-debug): New option to enable the
41465 memory manager debugging feature. This makes the binary much
41466 bigger, so is disabled by default.
41467
41468 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
41469
41470 Use grub_abort instead of grub_stop, and grub_exit must be
41471 define in each architecture now. Also, this change adds support
41472 for EFI disks.
41473
41474 * util/i386/pc/grub-probefs.c: Include grub/term.h.
41475 (grub_getkey): New function.
41476 (grub_term_get_current): Likewise.
41477
41478 * util/i386/pc/grub-setup.c: Include grub/term.h.
41479 (grub_getkey): New function.
41480 (grub_term_get_current): Likewise.
41481
41482 * util/misc.c (grub_stop): Renamed to ...
41483 (grub_exit): ... this.
41484
41485 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
41486 (grub_exit): ... this.
41487 (grub_machine_init): Use grub_abort instead of abort.
41488 (grub_stop): Removed.
41489
41490 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
41491 abort.
41492
41493 * kern/i386/pc/startup.S (grub_exit): New function.
41494 (cold_reboot): New label.
41495
41496 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
41497 (grub_efi_init): Call grub_efidisk_init.
41498 (grub_efi_fini): Call grub_efidisk_fini.
41499
41500 * kern/efi/efi.c: Include grub/mm.h.
41501 (grub_efi_console_control_guid): Renamed to ...
41502 (console_control_guid): ... this.
41503 (grub_efi_loaded_image_guid): Renamed to ...
41504 (loaded_image_guid): ... this.
41505 (grub_efi_locate_handle): New function.
41506 (grub_efi_open_protocol): Likewise.
41507 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
41508 GRUB_EFI_CONSOLE_CONTROL_GUID.
41509 (grub_efi_exit): Removed.
41510 (grub_stop): Likewise.
41511 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
41512 (grub_exit): New function.
41513 (grub_print_device_path): Likewise.
41514
41515 * kern/rescue.c (grub_rescue_cmd_exit): New function.
41516 (grub_enter_rescue_mode): Register "exit".
41517
41518 * kern/misc.c (grub_real_dprintf): A cosmetic change.
41519 (grub_abort): New function.
41520
41521 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
41522
41523 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
41524
41525 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
41526
41527 * include/grub/efi/efi.h (grub_efi_exit): Removed.
41528 (grub_print_device_path): New prototype.
41529 (grub_efi_locate_handle): Likewise.
41530 (grub_efi_open_protocol): Likewise.
41531
41532 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
41533 * disk/efi/efidisk.c: Likewise.
41534
41535 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
41536
41537 * include/grub/efi/console_control.h
41538 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
41539
41540 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
41541 last 8 bytes as an array.
41542 (GRUB_EFI_DISK_IO_GUID): New macro.
41543 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
41544 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
41545 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
41546 grub_uint8_t.
41547 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
41548 (struct grub_efi_device_path): Rename the member "sub_type" to
41549 "subtype".
41550 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
41551 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
41552 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
41553 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
41554 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
41555 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
41556 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
41557 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
41558 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
41559 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
41560 (struct grub_efi_pci_device_path): New structure.
41561 (grub_efi_pci_device_path_t): New type.
41562 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
41563 (struct grub_efi_pccard_device_path): New structure.
41564 (grub_efi_pccard_device_path_t): New type.
41565 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
41566 (struct grub_efi_memory_mapped_device_path): New structure.
41567 (grub_efi_memory_mapped_device_path_t): New type.
41568 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
41569 (struct grub_efi_vendor_device_path): New structure.
41570 (grub_efi_vendor_device_path_t): New type.
41571 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
41572 (struct grub_efi_controller_device_path): New structure.
41573 (grub_efi_controller_device_path_t): New type.
41574 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
41575 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
41576 (struct grub_efi_acpi_device_path): New structure.
41577 (grub_efi_acpi_device_path_t): New type.
41578 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
41579 (struct grub_efi_expanded_acpi_device_path): New structure.
41580 (grub_efi_expanded_acpi_device_path_t): New type.
41581 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
41582 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
41583 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
41584 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
41585 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
41586 (struct grub_efi_atapi_device_path): New structure.
41587 (grub_efi_atapi_device_path_t): New type.
41588 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
41589 (struct grub_efi_fibre_channel_device_path): New structure.
41590 (grub_efi_fibre_channel_device_path_t): New type.
41591 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
41592 (struct grub_efi_1394_device_path): New structure.
41593 (grub_efi_1394_device_path_t): New type.
41594 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
41595 (struct grub_efi_usb_device_path): New structure.
41596 (grub_efi_usb_device_path_t): New type.
41597 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
41598 (struct grub_efi_usb_class_device_path): New structure.
41599 (grub_efi_usb_class_device_path_t): New type.
41600 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
41601 (struct grub_efi_i2o_device_path): New structure.
41602 (grub_efi_i2o_device_path_t): New type.
41603 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
41604 (struct grub_efi_mac_address_device_path): New structure.
41605 (grub_efi_mac_address_device_path_t): New type.
41606 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
41607 (struct grub_efi_ipv4_device_path): New structure.
41608 (grub_efi_ipv4_device_path_t): New type.
41609 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
41610 (struct grub_efi_ipv6_device_path): New structure.
41611 (grub_efi_ipv6_device_path_t): New type.
41612 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
41613 (struct grub_efi_infiniband_device_path): New structure.
41614 (grub_efi_infiniband_device_path_t): New type.
41615 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
41616 (struct grub_efi_uart_device_path): New structure.
41617 (grub_efi_uart_device_path_t): New type.
41618 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
41619 (struct grub_efi_vendor_messaging_device_path): New structure.
41620 (grub_efi_vendor_messaging_device_path_t): New type.
41621 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
41622 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
41623 (struct grub_efi_hard_drive_device_path): New structure.
41624 (grub_efi_hard_drive_device_path_t): New type.
41625 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
41626 (struct grub_efi_cdrom_device_path): New structure.
41627 (grub_efi_cdrom_device_path_t): New type.
41628 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
41629 (struct grub_efi_vendor_media_device_path): New structure.
41630 (grub_efi_vendor_media_device_path_t): New type.
41631 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
41632 (struct grub_efi_file_path_device_path): New structure.
41633 (grub_efi_file_path_device_path_t): New type.
41634 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
41635 (struct grub_efi_protocol_device_path): New structure.
41636 (grub_efi_protocol_device_path_t): New type.
41637 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
41638 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
41639 (struct grub_efi_bios_device_path): New structure.
41640 (grub_efi_bios_device_path_t): New type.
41641 (struct grub_efi_disk_io): New structure.
41642 (grub_efi_disk_io_t): New type.
41643 (struct grub_efi_block_io_media): New structure.
41644 (grub_efi_block_io_media_t): New type.
41645 (struct grub_efi_block_io): New structure.
41646 (grub_efi_block_io_t): New type.
41647
41648 * include/grub/misc.h (grub_stop): Removed.
41649 (grub_exit): New prototype.
41650 (grub_abort): Likewise.
41651
41652 * include/grub/disk.h (enum grub_disk_dev_id): Added
41653 GRUB_DISK_DEVICE_EFIDISK_ID.
41654
41655 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
41656 disk/efi/efidisk.c.
41657 (kernel_syms.lst): Remove the target if an error occurs.
41658
41659 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
41660
41661 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
41662 as it was simply too buggy.
41663
41664 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
41665
41666 * kern/misc.c (grub_lltoa): New function.
41667 (grub_vsprintf): Added support for the long long suffix,
41668 i.e. "ll".
41669
41670 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
41671
41672 * Makefile.in (LDFLAGS): Add variable.
41673 (LD): Remove variable.
41674 * configure.ac: Add -m32 to LDFLAGS.
41675 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
41676 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
41677 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
41678 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
41679 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
41680 variables.
41681 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
41682 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
41683 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
41684
41685 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
41686
41687 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
41688 length for unknown glyph.
41689
41690 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
41691
41692 Add support for pre-loaded modules into the EFI port.
41693
41694 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
41695 completely. Accept one more argument DIR. The caller has changed.
41696
41697 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
41698
41699 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
41700 (grub_efi_loaded_image_guid): New variable.
41701 (grub_efi_get_loaded_image): New function.
41702 (grub_arch_modules_addr): Likewise.
41703
41704 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
41705 prototype.
41706
41707 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
41708 (struct grub_efi_loaded_image): New structure.
41709 (grub_efi_loaded_image_t): New type.
41710
41711 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
41712
41713 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
41714 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
41715 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
41716
41717 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
41718
41719 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
41720
41721 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
41722
41723 * DISTLIST: Added include/grub/efi/console.h,
41724 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
41725 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
41726
41727 * include/grub/efi/console.h: New file.
41728 * include/grub/efi/time.h: Likewise.
41729 * include/grub/i386/efi/kernel.h: Likewise.
41730 * kern/efi/init.c: Likewise.
41731 * kern/efi/mm.c: Likewise.
41732 * term/efi/console.c: Likewise.
41733
41734 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
41735 (grub_stop): Removed.
41736 (grub_get_rtc): Likewise.
41737 (grub_machine_init): Simply call grub_efi_init.
41738 (grub_machine_fini): Call grub_efi_fini.
41739
41740 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
41741 (grub_efi_output_string): Removed.
41742 (grub_efi_stall): New function.
41743 (grub_stop): Likewise.
41744 (grub_get_rtc): Likewise.
41745
41746 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
41747 (grub_efi_stall): New prototype.
41748 (grub_efi_allocate_pages): Likewise.
41749 (grub_efi_free_pages): Likewise.
41750 (grub_efi_get_memory_map): Likewise.
41751 (grub_efi_mm_init): Likewise.
41752 (grub_efi_mm_fini): Likewise.
41753 (grub_efi_init): Likewise.
41754 (grub_efi_fini): Likewise.
41755
41756 * include/grub/i386/efi/time.h: Do not include
41757 grub/symbol.h. Include grub/efi/time.h.
41758 (GRUB_TICKS_PER_SECOND): Removed.
41759 (grub_get_rtc): Likewise.
41760
41761 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
41762 Added padding. The EFI spec is buggy.
41763 (GRUB_EFI_BLACK): New macro.
41764 (GRUB_EFI_BLUE): Likewise.
41765 (GRUB_EFI_GREEN): Likewise.
41766 (GRUB_EFI_CYAN): Likewise.
41767 (GRUB_EFI_RED): Likewise.
41768 (GRUB_EFI_MAGENTA): Likewise.
41769 (GRUB_EFI_BROWN): Likewise.
41770 (GRUB_EFI_LIGHTGRAY): Likewise.
41771 (GRUB_EFI_BRIGHT): Likewise.
41772 (GRUB_EFI_DARKGRAY): Likewise.
41773 (GRUB_EFI_LIGHTBLUE): Likewise.
41774 (GRUB_EFI_LIGHTGREEN): Likewise.
41775 (GRUB_EFI_LIGHTCYAN): Likewise.
41776 (GRUB_EFI_LIGHTRED): Likewise.
41777 (GRUB_EFI_LIGHTMAGENTA): Likewise.
41778 (GRUB_EFI_YELLOW): Likewise.
41779 (GRUB_EFI_WHITE): Likewise.
41780 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
41781 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
41782 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
41783 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
41784 (GRUB_EFI_BACKGROUND_RED): Likewise.
41785 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
41786 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
41787 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
41788 (GRUB_EFI_TEXT_ATTR): Likewise.
41789
41790 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
41791 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
41792 (kernel_mod_HEADERS): Added efi/time.h.
41793
41794 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
41795
41796 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
41797 include/grub/efi/api.h, include/grub/efi/console_control.h,
41798 include/grub/efi/efi.h, include/grub/efi/pe32.h,
41799 include/grub/i386/efi/time.h, kern/efi/efi.c,
41800 kern/i386/efi/init.c, kern/i386/efi/startup.S,
41801 and util/i386/efi/grub-mkimage.c.
41802
41803 * Makefile.in (RMKFILES): Added i386-efi.rmk.
41804
41805 * genmk.rb (PModule#rule): Do not export symbols if
41806 #{prefix}_EXPORTS is set to "no".
41807
41808 * conf/i386-efi.mk: New file.
41809 * conf/i386-efi.rmk: Likewise.
41810 * include/grub/efi/api.h: Likewise.
41811 * include/grub/efi/console_control.h: Likewise.
41812 * include/grub/efi/efi.h: Likewise.
41813 * include/grub/efi/pe32.h: Likewise.
41814 * include/grub/i386/efi/time.h: Likewise.
41815 * kern/efi/efi.c: Likewise.
41816 * kern/i386/efi/init.c: Likewise.
41817 * kern/i386/efi/startup.S: Likewise.
41818 * util/i386/efi/grub-mkimage.c: Likewise.
41819
41820 2006-04-17 Marco Gerards <marco@gnu.org>
41821
41822 * include/grub/script.h: Include <grub/parser.h> and
41823 "grub_script.tab.h".
41824 (struct grub_lexer_param): New struct.
41825 (struct grub_parser_param): Likewise.
41826 (grub_script_create_arglist): Pass the state in an argument.
41827 (grub_script_add_arglist): Likewise.
41828 (grub_script_create_cmdline): Likewise.
41829 (grub_script_create_cmdblock): Likewise.
41830 (grub_script_create_cmdif): Likewise.
41831 (grub_script_create_cmdmenu): Likewise.
41832 (grub_script_add_cmd): Likewise.
41833 (grub_script_arg_add): Likewise.
41834 (grub_script_lexer_ref): Likewise.
41835 (grub_script_lexer_deref): Likewise.
41836 (grub_script_lexer_record_start): Likewise.
41837 (grub_script_lexer_record_stop): Likewise.
41838 (grub_script_mem_record): Likewise.
41839 (grub_script_mem_record_stop): Likewise.
41840 (grub_script_malloc): Likewise.
41841 (grub_script_yylex): Likewise.
41842 (grub_script_yyparse): Likewise.
41843 (grub_script_yyerror): Likewise.
41844 (grub_script_yylex): Likewise.
41845 (grub_script_lexer_init): Return the state.
41846
41847 * normal/lexer.c (grub_script_lexer_state): Removed variable.
41848 (grub_script_lexer_done): Likewise.
41849 (grub_script_lexer_getline): Likewise.
41850 (grub_script_lexer_refs): Likewise.
41851 (script): Likewise.
41852 (newscript): Likewise.
41853 (record): Likewise.
41854 (recording): Likewise.
41855 (recordpos): Likewise.
41856 (recordlen): Likewise.
41857 (grub_script_lexer_init): Return the state instead of setting
41858 global variables.
41859 (grub_script_lexer_ref): Use the newly added argument for state
41860 instead of globals.
41861 (grub_script_lexer_deref): Likewise.
41862 (grub_script_lexer_record_start): Likewise.
41863 (grub_script_lexer_record_stop): Likewise.
41864 (recordchar): Likewise.
41865 (nextchar): Likewise.
41866 (grub_script_yylex2): Likewise.
41867 (grub_script_yylex): Likewise.
41868 (grub_script_yyerror): Likewise.
41869
41870 * normal/parser.y (func_mem): Removed variable.
41871 (menu_entry): Likewise.
41872 (err): Likewise.
41873 (%lex-param): New parser option.
41874 (%parse-param): Likewise.
41875 (script): Always return the AST.
41876 (argument): Pass the state around.
41877 (arguments): Likewise.
41878 (grubcmd): Likewise.
41879 (commands): Likewise.
41880 (function): Likewise.
41881 (menuentry): Likewise.
41882 (if_statement): Likewise.
41883 (if): Likewise.
41884
41885 * normal/script.c (grub_script_memused): Removed variable.
41886 (grub_script_parsed): Likewise.
41887 (grub_script_malloc): Added a state argument. Use that instead of
41888 global variables.
41889 (grub_script_mem_record): Likewise.
41890 (grub_script_mem_record_stop): Likewise.
41891 (grub_script_arg_add): Likewise.
41892 (grub_script_add_arglist): Likewise.
41893 (grub_script_create_cmdline): Likewise.
41894 (grub_script_create_cmdif): Likewise.
41895 (grub_script_create_cmdmenu): Likewise.
41896 (grub_script_add_cmd): Likewise.
41897 (grub_script_parse): Setup the state before calling the parser.
41898
41899 2006-04-16 Marco Gerards <marco@gnu.org>
41900
41901 * normal/command.c (grub_command_init): Remove the title command.
41902
41903 * normal/lexer.c (grub_script_yylex): Renamed from this...
41904 (grub_script_yylex2): ... to this.
41905 (grub_script_yylex): New function. Temporary
41906 introduced to filter some tokens.
41907 (grub_script_yyerror): Print a newline.
41908
41909 * normal/main.c (read_config_file): Output information about the
41910 lines that contain errors. Wait for a key after all lines have
41911 been processed. Don't return an empty menu.
41912
41913 * normal/parser.y (func_mem): Don't initialize.
41914 (menu_entry): Likewise.
41915 (err): New variable.
41916 (script): Don't return anything when an error was encountered.
41917 (ws, returns): Removed rules.
41918 (argument): Disabled concatenated variable support.
41919 (arguments): Remove explicit separators.
41920 (grubcmd): Likewise.
41921 (function): Likewise.
41922 (menuentry): Likewise.
41923 (if): Likewise.
41924 (commands): Likewise. Add error handling.
41925
41926 * normal/script.c (grub_script_create_cmdline): If
41927 `grub_script_parsed' is 0, assume the parser encountered an error.
41928
41929 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
41930
41931 * configure.ac: Add support for EFI. Fix the typo
41932 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
41933
41934 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
41935
41936 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
41937 foreign multibyte characters should be shown correctly.
41938
41939 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
41940
41941 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
41942 calculation.
41943 (read_config_file): Made it to close file before returning.
41944
41945 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
41946
41947 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
41948 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
41949 video/i386/pc/vbefill.c.
41950
41951 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
41952 video/i386/pc/vbefill.c.
41953
41954 * include/grub/video.h (grub_video_blit_format): New enum.
41955 (grub_video_mode_info): Added new member blit_format.
41956 (grub_video_get_blit_format): New function prototype.
41957
41958 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
41959 function prototype.
41960 (grub_video_vbe_map_rgb): Likewise.
41961 (grub_video_vbe_unmap_color): Likewise.
41962
41963 * include/grub/i386/pc/vbeblit.h: New file.
41964
41965 * include/grub/i386/pc/vbefill.h: New file.
41966
41967 * video/video.c (grub_video_get_blit_format): New function.
41968 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
41969 (grub_video_vbe_map_rgb): Likewise.
41970 (grub_video_vbe_unmap_color): Likewise.
41971
41972 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
41973 optimized fills.
41974 (grub_video_vbe_blit_render_target): Changed to use more optimized
41975 blits.
41976 (grub_video_vbe_setup): Added detection for optimized settings.
41977 (grub_video_vbe_create_render_target): Likewise.
41978
41979 * video/i386/pc/vbeblit.c: New file.
41980
41981 * video/i386/pc/vbefill.c: New file.
41982
41983 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
41984
41985 * font/manager.c (grub_font_get_glyph): Removed font fixup from
41986 here...
41987
41988 * util/unifont2pff.rb: ... and moved it to here. Improved argument
41989 parsing to support both hex and dec ranges. If filename was missing
41990 show usage information.
41991
41992 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
41993
41994 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
41995 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
41996
41997 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
41998 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
41999 (video_mod_SOURCES): Added.
42000 (video_mod_CFLAGS): Likewise.
42001 (video_mod_LDFLAGS): Likewise.
42002 (gfxterm_mod_SOURCES): Likewise.
42003 (gfxterm_mod_CFLAGS): Likewise.
42004 (gfxterm_mod_LDFLAGS): Likewise.
42005 (videotest_mod_SOURCES): Likewise.
42006 (videotest_mod_CFLAGS): Likewise.
42007 (videotest_mod_LDFLAGS): Likewise.
42008 (vesafb_mod_SOURCES): Removed.
42009 (vesafb_mod_CFLAGS): Likewise.
42010 (vesafb_mod_LDFLAGS): Likewise.
42011 (vga_mod_SOURCES): Likewise.
42012 (vga_mod_CFLAGS): Likewise.
42013 (vga_mod_LDFLAGS): Likewise.
42014
42015 * commands/videotest.c: New file.
42016
42017 * font/manager.c (fill_with_default_glyph): Modified to use
42018 grub_font_glyph.
42019 (grub_font_get_glyph): Likewise.
42020 (fontmanager): Renamed from this...
42021 (font_manager): ... to this.
42022
42023 * include/grub/font.h (grub_font_glyph): Added new structure.
42024 (grub_font_get_glyph): Modified to use grub_font_glyph.
42025
42026 * include/grub/misc.h (grub_abs): Added as inline function.
42027
42028 * include/grub/video.h: New file.
42029
42030 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
42031 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
42032 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
42033 (grub_vbe_get_controller_info): Renamed from this...
42034 (grub_vbe_bios_get_controller_info): ... to this.
42035 (grub_vbe_get_mode_info): Renamed from this...
42036 (grub_vbe_bios_get_mode_info): ... to this.
42037 (grub_vbe_set_mode): Renamed from this...
42038 (grub_vbe_bios_set_mode): ... to this.
42039 (grub_vbe_get_mode): Renamed from this...
42040 (grub_vbe_bios_get_mode): ... to this.
42041 (grub_vbe_set_memory_window): Renamed from this...
42042 (grub_vbe_bios_set_memory_window): ... to this.
42043 (grub_vbe_get_memory_window): Renamed from this...
42044 (grub_vbe_bios_get_memory_window): ... to this.
42045 (grub_vbe_set_scanline_length): Renamed from this...
42046 (grub_vbe_set_scanline_length): ... to this.
42047 (grub_vbe_get_scanline_length): Renamed from this...
42048 (grub_vbe_bios_get_scanline_length): ... to this.
42049 (grub_vbe_set_display_start): Renamed from this...
42050 (grub_vbe_bios_set_display_start): ... to this.
42051 (grub_vbe_get_display_start): Renamed from this...
42052 (grub_vbe_bios_get_display_start): ... to this.
42053 (grub_vbe_set_palette_data): Renamed from this...
42054 (grub_vbe_bios_set_palette_data): ... to this.
42055 (grub_vbe_set_pixel_rgb): Removed.
42056 (grub_vbe_set_pixel_index): Likewise.
42057
42058 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
42059 from this...
42060 (grub_vbe_bios_get_controller_info): ... to this.
42061 (grub_vbe_get_mode_info): Renamed from this...
42062 (grub_vbe_bios_get_mode_info): ... to this.
42063 (grub_vbe_set_mode): Renamed from this...
42064 (grub_vbe_bios_set_mode): ... to this.
42065 (grub_vbe_get_mode): Renamed from this...
42066 (grub_vbe_bios_get_mode): ... to this.
42067 (grub_vbe_set_memory_window): Renamed from this...
42068 (grub_vbe_bios_set_memory_window): ... to this.
42069 (grub_vbe_get_memory_window): Renamed from this...
42070 (grub_vbe_bios_get_memory_window): ... to this.
42071 (grub_vbe_set_scanline_length): Renamed from this...
42072 (grub_vbe_set_scanline_length): ... to this.
42073 (grub_vbe_get_scanline_length): Renamed from this...
42074 (grub_vbe_bios_get_scanline_length): ... to this.
42075 (grub_vbe_set_display_start): Renamed from this...
42076 (grub_vbe_bios_set_display_start): ... to this.
42077 (grub_vbe_get_display_start): Renamed from this...
42078 (grub_vbe_bios_get_display_start): ... to this.
42079 (grub_vbe_set_palette_data): Renamed from this...
42080 (grub_vbe_bios_set_palette_data): ... to this.
42081 (grub_vbe_bios_get_controller_info): Fixed problem with registers
42082 getting corrupted after calling it. Added more pushes and pops.
42083 (grub_vbe_bios_set_mode): Likewise.
42084 (grub_vbe_bios_get_mode): Likewise.
42085 (grub_vbe_bios_get_memory_window): Likewise.
42086 (grub_vbe_bios_set_scanline_length): Likewise.
42087 (grub_vbe_bios_get_scanline_length): Likewise.
42088 (grub_vbe_bios_get_display_start): Likewise.
42089 (grub_vbe_bios_set_palette_data): Likewise.
42090
42091 * normal/cmdline.c (cl_set_pos): Refresh the screen.
42092 (cl_insert): Likewise.
42093 (cl_delete): Likewise.
42094
42095 * term/gfxterm.c: New file.
42096
42097 * term/i386/pc/vesafb.c: Removed file.
42098
42099 * video/video.c: New file.
42100
42101 * video/i386/pc/vbe.c (real2pm): Added new function.
42102 (grub_video_vbe_draw_pixel): Likewise.
42103 (grub_video_vbe_get_video_ptr): Likewise.
42104 (grub_video_vbe_get_pixel): Likewise
42105 (grub_video_vbe_init): Likewise.
42106 (grub_video_vbe_fini): Likewise.
42107 (grub_video_vbe_setup): Likewise.
42108 (grub_video_vbe_get_info): Likewise.
42109 (grub_video_vbe_set_palette): Likewise.
42110 (grub_video_vbe_get_palette): Likewise.
42111 (grub_video_vbe_set_viewport): Likewise.
42112 (grub_video_vbe_get_viewport): Likewise.
42113 (grub_video_vbe_map_color): Likewise.
42114 (grub_video_vbe_map_rgb): Likewise.
42115 (grub_video_vbe_map_rgba): Likewise.
42116 (grub_video_vbe_unmap_color): Likewise.
42117 (grub_video_vbe_fill_rect): Likewise.
42118 (grub_video_vbe_blit_glyph): Likewise.
42119 (grub_video_vbe_blit_bitmap): Likewise.
42120 (grub_video_vbe_blit_render_target): Likewise.
42121 (grub_video_vbe_scroll): Likewise.
42122 (grub_video_vbe_swap_buffers): Likewise.
42123 (grub_video_vbe_create_render_target): Likewise.
42124 (grub_video_vbe_delete_render_target): Likewise.
42125 (grub_video_vbe_set_active_render_target): Likewise.
42126 (grub_vbe_set_pixel_rgb): Remove function.
42127 (grub_vbe_set_pixel_index): Likewise.
42128 (index_color_mode): Remove static variable.
42129 (active_mode): Likewise.
42130 (framebuffer): Likewise.
42131 (bytes_per_scan_line): Likewise.
42132 (grub_video_vbe_adapter): Added new static variable.
42133 (framebuffer): Likewise.
42134 (render_target): Likewise.
42135 (initial_mode): Likewise.
42136 (mode_in_use): Likewise.
42137 (mode_list): Likewise.
42138
42139 2006-03-10 Marco Gerards <marco@gnu.org>
42140
42141 * configure.ac (AC_INIT): Bumped to 1.93.
42142
42143 * DISTLIST: Added `include/grub/hfs.h'.
42144
42145 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
42146
42147 * boot/i386/pc/boot.S (general_error): Before looping, try INT
42148 18H, which might help the BIOS falling back to next boot media.
42149
42150 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
42151
42152 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
42153 Poe Chen <poe.poechen@gmail.com>.
42154
42155 2006-01-17 Marco Gerards <marco@gnu.org>
42156
42157 * include/grub/normal.h: Include <grub/script.h>.
42158 (grub_command_list): Removed struct.
42159 (grub_command_list_t): Removed type.
42160 (grub_menu_entry): Remove members `num' and `command_list'. Add
42161 members `commands' and `sourcecode'.
42162 * include/grub/script.h: Add inclusion guards.
42163 (grub_script_cmd_menuentry): New struct.
42164 (grub_script_execute_menuentry): New prototype.
42165 (grub_script_lexer_record_start): Likewise.
42166 (grub_script_lexer_record_stop): Likewise.
42167 * normal/execute.c (grub_script_execute_menuentry): New function.
42168 * normal/lexer.c (record, recording, recordpos, recordlen): New
42169 variables.
42170 (grub_script_lexer_record_start): New function.
42171 (grub_script_lexer_record_stop): Likewise.
42172 (recordchar): Likewise.
42173 (nextchar): Likewise.
42174 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
42175 2048 as the buffer size. Add the tokens `menuentry' and `@'.
42176 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
42177 (current_menu): New variable.
42178 (free_menu): Mainly rewritten.
42179 (grub_normal_menu_addentry): New function.
42180 (read_config_file): Rewritten.
42181 * normal/menu.c (run_menu_entry): Mainly rewritten.
42182 * normal/menu_entry.c (make_screen): Rewritten the code to insert
42183 the menu entry.
42184 (run): Mainly rewritten.
42185 * normal/parser.y (menu_entry): New variable.
42186 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
42187 (menuentry): New rule.
42188 (command): Add `menuentry'.
42189 (if_statement): Allow additional returns before `fi'.
42190 * normal/script.c (grub_script_create_cmdmenu): New function.
42191
42192 2006-01-03 Marco Gerards <marco@gnu.org>
42193
42194 * INSTALL: GNU Bison is required.
42195 * configure.ac: Rewritten the test to detect Bison.
42196 * Makefile.in (YACC): New variable. Reported by Xun Sun
42197 <xun.sun.cn@gmail.com>.
42198
42199 2006-01-03 Marco Gerards <marco@gnu.org>
42200
42201 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
42202 the HFS+ filesystem to filesystem blocks.
42203 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
42204 GCC warning is silenced.
42205
42206 2006-01-03 Marco Gerards <marco@gnu.org>
42207
42208 * partmap/apple.c (apple_partition_map_iterate): Convert the data
42209 read from disk from big endian to host byte order.
42210
42211 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
42212
42213 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
42214 documentation.
42215 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
42216 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
42217 embedded HFS+ filesystem.
42218 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
42219 (grub_hfs_sblock): Move from here...
42220 * include/grub/hfs.h: To here... New file.
42221 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
42222 documentation.
42223 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
42224 New macros.
42225 (grub_hfsplus_volheader): Change type of member `magic' to
42226 `grub_uint16_t'.
42227 (grub_hfsplus_data): Add new member `embedded_offset'.
42228 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
42229 returned block.
42230 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
42231 Calculate the offset.
42232
42233 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42234
42235 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
42236 Removed.
42237 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
42238
42239 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42240
42241 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
42242 ENV->NAME is NULL after allocating ENV->VALUE.
42243
42244 2005-12-25 Marco Gerards <marco@gnu.org>
42245
42246 * kern/env.c (grub_env_set): Rewritten the error handling code.
42247
42248 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42249
42250 * geninit.sh: Made more robust, and more portable.
42251
42252 2005-12-25 Marco Gerards <marco@gnu.org>
42253
42254 Add support for Apple HFS+ filesystems.
42255
42256 * fs/hfsplus.c: New file.
42257
42258 * DISTLIST: Added `fs/hfsplus.c'.
42259
42260 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
42261 (hfsplus_mod_SOURCES): New variable.
42262 (hfsplus_mod_CFLAGS): Likewise.
42263 (hfsplus_mod_LDFLAGS): Likewise.
42264 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
42265 (grub_setup_SOURCES): Likewise.
42266 (grub_mkdevicemap_SOURCES): Likewise.
42267 (grub_emu_SOURCES): Likewise.
42268 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42269
42270 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
42271
42272 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
42273
42274 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42275
42276 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
42277 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
42278 include/grub/parser.h, include/grub/script.h, kern/parser.c,
42279 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
42280 normal/lexer.c, normal/parser.y, normal/script.c, and
42281 partmap/gpt.c.
42282 Removed kern/sparc64/cache.c.
42283
42284 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
42285 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
42286 grub_emu_init.c.
42287
42288 * configure.ac (AC_INIT): Bumped to 1.92.
42289
42290 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
42291
42292 * kern/err.c (grub_error_push): Added new function to support error
42293 stacks.
42294 (grub_error_pop): Likewise.
42295 (grub_error_stack_items): New local variable to support error stacks.
42296 (grub_error_stack_pos): Likewise.
42297 (grub_error_stack_assert): Likewise.
42298 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
42299 stack depth.
42300 (grub_print_error): Added support to print errors from error stack.
42301
42302 * include/grub/err.h (grub_error_push): Added function prototype.
42303 (grub_error_pop): Likewise.
42304
42305 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
42306
42307 * configure.ac: Accept `powerpc64' as host_cpu.
42308 (amd64): Rename to `biarch32'.
42309
42310 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
42311 non-cacheline-aligned addresses.
42312
42313 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
42314 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
42315 if `size' is non-zero.
42316
42317 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
42318
42319 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
42320 and `cd' to make sure the filename is not prefixed with a
42321 directory name.
42322 (pkgdata_MODULES): Add `gpt.mod'.
42323 (gpt_mod_SOURCES): New variable.
42324 (gpt_mod_CFLAGS): Likewise.
42325 (gpt_mod_LDFLAGS): Likewise.
42326
42327 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
42328
42329 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
42330 New macro.
42331
42332 * partmap/gpt.c: New file.
42333
42334 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
42335 GPT partition map is detected.
42336
42337 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
42338
42339 * commands/i386/pc/play.c: New file.
42340 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
42341 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
42342 macros.
42343
42344 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
42345
42346 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
42347 ((unused))' to silence gcc warning.
42348
42349 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
42350
42351 * configure.ac: Correct `AC_PROG_YACC' test.
42352
42353 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42354
42355 * util/powerpc/ieee1275/grub-install.in: Run the mount point
42356 check before installing files.
42357
42358 2005-11-22 Mike Small <smallm@panix.com>
42359
42360 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
42361 number regex so multidigit numbers are recognized correctly.
42362
42363 2005-11-22 Mike Small <smallm@panix.com>
42364
42365 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
42366 debugging message before attempting to claim memory.
42367 (grub_rescue_cmd_initrd): Add a claim debugging message and try
42368 multiple addresses in case of failure.
42369
42370 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42371
42372 * term/tparm.c (get_space): Remove empty `if' statement.
42373
42374 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
42375
42376 * kern/parser.c (check_varstate): Rename `state' to 's'.
42377
42378 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42379
42380 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
42381 variable definitions to the beginning of each function. Sort stack
42382 variables by size.
42383 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
42384 `buf' argument to `char *'.
42385
42386 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42387
42388 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
42389 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
42390 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
42391 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
42392 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
42393 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
42394 configfile.mod, search.mod, gzio.mod and test.mod.
42395 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
42396 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
42397 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
42398 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
42399 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
42400 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
42401 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
42402 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
42403 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
42404 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
42405 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
42406 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
42407 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
42408 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
42409 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
42410 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
42411 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
42412 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
42413 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
42414 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
42415 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
42416 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
42417 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
42418
42419 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
42420 `grep --include'.
42421 (pkgdata_MODULES): Add test.mod.
42422
42423 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42424
42425 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
42426 appending to variables with "+=".
42427 (PModule): Use full pathname to generate *.lst filenames.
42428
42429 * Makefile.in: Fixed list rules moved from genmk.rb.
42430 (.DELETE_ON_ERROR): New special target.
42431 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
42432
42433 * conf/i386-pc.rmk: Include conf/common.mk.
42434 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
42435 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
42436 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
42437 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
42438 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
42439 configfile.mod, search.mod, gzio.mod and test.mod.
42440 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
42441 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
42442 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
42443 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
42444 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
42445 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
42446 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
42447 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
42448 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
42449 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
42450 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
42451 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
42452 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
42453 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
42454 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
42455 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
42456 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
42457 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
42458 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
42459 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
42460 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
42461 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
42462 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
42463 here...
42464 * conf/common.rmk: ... to here. New file.
42465
42466 * conf/common.mk: New file.
42467
42468 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
42469
42470 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
42471 (grub_script.tab.c): ... here.
42472
42473 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
42474 (grub_script.tab.c): ... here.
42475
42476 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
42477 (grub_script.tab.c): ... here.
42478
42479 * normal/command.c (grub_command_find): Fixed a memory leak of
42480 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
42481
42482 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42483
42484 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
42485 "@" which marks the start of a comment on ARM.
42486 (VARIABLE): Likewise.
42487
42488 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42489
42490 Add support for Linux/ADFS partition tables.
42491
42492 * partmap/acorn.c: New file.
42493
42494 * include/grub/acorn_filecore.h: Likewise.
42495
42496 * DISTLIST: Added `partmap/acorn.c' and
42497 `include/grub/acorn_filecore.h'.
42498
42499 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42500 `partmap/acorn.c'.
42501 (pkgdata_MODULES): Add `acorn.mod'.
42502 (acorn_mod_SOURCES): New variable.
42503 (acorn_mod_CFLAGS): Likewise.
42504
42505 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
42506 `partmap/acorn.c'.
42507 (pkgdata_MODULES): Add `acorn.mod'.
42508 (acorn_mod_SOURCES): New variable.
42509 (acorn_mod_CFLAGS): Likewise.
42510
42511 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
42512 (pkgdata_MODULES): Add `acorn.mod'.
42513 (acorn_mod_SOURCES): New variable.
42514 (acorn_mod_CFLAGS): Likewise.
42515 (acorn_mod_LDFLAGS): Likewise.
42516
42517 * include/types.h (grub_disk_addr_t): New typedef.
42518
42519 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
42520
42521 * geninit.sh: New file.
42522
42523 * geninitheader.sh: Likewise.
42524
42525 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
42526 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
42527 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
42528 * commands/configfile.c (grub_configfile_init)
42529 (grub_configfile_fini): Likewise.
42530 * commands/default.c (grub_default_init, grub_default_fini):
42531 Likewise.
42532 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
42533 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
42534 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
42535 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
42536 Likewise.
42537 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
42538 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
42539 Likewise.
42540 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
42541 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
42542 Likewise.
42543 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
42544 Likewise.
42545 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
42546 Likewise.
42547 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
42548 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
42549 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
42550 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
42551 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
42552 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
42553 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
42554 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
42555 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
42556 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
42557 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
42558 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
42559 * partmap/amiga.c (grub_amiga_partition_map_init)
42560 (grub_amiga_partition_map_fini): Likewise.
42561 * partmap/apple.c (grub_apple_partition_map_init)
42562 (grub_apple_partition_map_fini): Likewise.
42563 * partmap/pc.c (grub_pc_partition_map_init)
42564 (grub_pc_partition_map_fini): Likewise.
42565 * partmap/sun.c (grub_sun_partition_map_init,
42566 grub_sun_partition_map_fini): Likewise.
42567 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
42568 Likewise.
42569
42570 * util/grub-emu.c: Include <grub_modules_init.h>.
42571 (main): Don't initialize and de-initialize any modules directly,
42572 use `grub_init_all' and `grub_fini_all' instead.
42573
42574 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
42575 `grub_vesafb_mod_init'.
42576 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
42577 all users.
42578 * term/i386/pc/vga.c (grub_vga_init): Renamed to
42579 `grub_vga_mod_init'. Updated all users.
42580 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
42581
42582 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
42583 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
42584 rules.
42585
42586 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
42587 Generate a function to initialize the module in utilities.
42588 Updated all callers.
42589 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
42590 initialize the module in utilities. Updated all callers.
42591
42592 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
42593
42594 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
42595 escape sequence and a literal ^L to clear the screen.
42596
42597 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
42598 when returning from Open Firmware.
42599
42600 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
42601
42602 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
42603 (grub_ofconsole_height): Likewise.
42604 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
42605 manually insert a '\n'.
42606 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
42607 `grub_ofconsole_height'. Return early if these are already set.
42608
42609 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
42610
42611 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
42612 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
42613 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
42614 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
42615 and `normal/script.c'.
42616 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
42617 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
42618 (test_mod_SOURCES): New variable.
42619 (test_mod_CFLAGS): Likewise.
42620 (test_mod_LDFLAGS): Likewise.
42621 (pkgdata_MODULES): Add `test.mod'.
42622 (grub_script.tab.c): New rule.
42623 (grub_script.tab.h): Likewise.
42624
42625 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
42626
42627 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42628 `commands/test.c', `normal/execute.c', `normal/lexer.c',
42629 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
42630 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
42631 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
42632 (test_mod_SOURCES): New variable.
42633 (test_mod_CFLAGS): Likewise.
42634 (pkgdata_MODULES): Add `test.mod'.
42635 (grub_script.tab.c): New rule.
42636 (grub_script.tab.h): Likewise.
42637
42638 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
42639
42640 Add initial scripting support.
42641
42642 * commands/test.c: New file.
42643 * include/grub/script.h: Likewise.
42644 * normal/execute.c: Likewise.
42645 * normal/function.c: Likewise.
42646 * normal/lexer.c: Likewise.
42647 * normal/parser.y: Likewise.
42648 * normal/script.c: Likewise.
42649
42650 * configure.ac: Add `AC_PROG_YACC' test.
42651
42652 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
42653 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
42654 `normal/function.c' and `normal/script.c'.
42655 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
42656 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
42657 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
42658 variables.
42659 (pkgdata_MODULES): Add `test.mod'.
42660 (grub_script.tab.c): New rule.
42661 (grub_script.tab.h): Likewise.
42662
42663 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
42664
42665 * include/grub/normal.h (grub_test_init): New prototype.
42666 (grub_test_fini): Likewise.
42667
42668 * normal/command.c: Include <grub/script.h>.
42669 (grub_command_execute): Rewritten.
42670
42671 * util/grub-emu.c (main): Call `grub_test_init' and
42672 `grub_test_fini'.
42673
42674 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
42675
42676 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
42677 to 0.
42678 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
42679 there are no pending characters.
42680
42681 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
42682
42683 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
42684 `grub_strndup' to drop device arguments. Replace unnecessary
42685 `grub_strndup' with `grub_strdup'.
42686
42687 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
42688
42689 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
42690 `debug' environment variable has been set.
42691
42692 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
42693
42694 * Makefile.in (install-local): Use $(DATA).
42695 (uninstall): Likewise.
42696 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
42697 (sbin_UTILITIES): ... to here.
42698 (sbin_SCRIPTS): New variable.
42699 (grub_install_SOURCES): New variable.
42700 * util/powerpc/ieee1275/grub-install.in: New file.
42701 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
42702 variable.
42703 (add_segments): Call `grub_util_get_path'.
42704
42705 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
42706
42707 From Timothy Baldwin:
42708 * commands/ls.c (grub_ls_list_files): Close FILE with
42709 grub_file_close.
42710 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
42711
42712 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
42713
42714 * include/grub/parser.h: New file.
42715
42716 * kern/parser.c: Likewise.
42717
42718 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
42719 (grub_setup_SOURCES): Likewise.
42720 (grub_probefs_SOURCES): Likewise.
42721 (grub_emu_SOURCES): Likewise.
42722 (kernel_img_HEADERS): Add `parser.h'.
42723
42724 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
42725 (grub_emu_SOURCES): Add `kern/parser.c'.
42726 (grubof_SOURCES): Likewise.
42727
42728 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
42729 (grubof_SOURCES): Add `kern/parser.c'.
42730
42731 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
42732
42733 * kern/misc.c (grub_split_cmdline): Removed function.
42734
42735 * kern/rescue.c: Include <grub/parser.h>.
42736 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
42737 of `grub_split_cmdline'.
42738
42739 * normal/command.c: Include <grub/parser.h>.
42740 (grub_command_execute): Use `grub_parser_split_cmdline' instead
42741 of `grub_split_cmdline'.
42742
42743 * normal/completion.c: Include <grub/parser.h>.
42744 (cmdline_state): New variable.
42745 (iterate_dir): End the filename with a quote depending on the
42746 command line state.
42747 (get_state): new function.
42748 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
42749 split the arguments and determine the current argument. When the
42750 argument string is not quoted, escape all spaces.
42751
42752 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
42753
42754 * normal/sparc64/setjmp.S: New file.
42755
42756 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
42757
42758 * include/grub/sparc64/libgcc.h: New file.
42759 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
42760 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
42761 normal/sparc64/setjmp.c.
42762
42763 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
42764
42765 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
42766 * kern/sparc64/cache.S: New file.
42767 * kern/sparc64/cache.c: Removed.
42768 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
42769 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
42770 -mtune=ultrasparc.
42771 (COMMON_LDFLAGS): Add -melf64_sparc.
42772 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
42773 (grubof_SOURCES): Use cache.S instead of cache.c.
42774 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
42775 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
42776 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
42777 commented though.
42778 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
42779 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
42780 (linux_mod_CFLAGS): Commented out.
42781 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
42782 out because module isn't built.
42783 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
42784 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
42785 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
42786 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
42787 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
42788 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
42789 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
42790 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
42791 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
42792 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
42793 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
42794 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
42795 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
42796 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
42797
42798 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
42799
42800 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
42801 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
42802 longer, because HFS should not be used on PC.
42803
42804 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42805
42806 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
42807 consistently within the loop.
42808
42809 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
42810
42811 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
42812 directory can not be read.
42813
42814 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
42815
42816 * configure.ac (AC_INIT): Increase the version number to 1.91.
42817
42818 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
42819 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
42820 term/i386/pc/serial.c.
42821
42822 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
42823
42824 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
42825 file size must be permitted.
42826
42827 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
42828 between %ah and %al.
42829
42830 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
42831
42832 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
42833 grub_uint64_t.
42834 Call the hook with a NUL-terminated filename.
42835 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
42836 grub_cpu_to_be32.
42837
42838 * kern/term.c (cursor_state): New variable.
42839 (grub_term_set_current): Reset the cursor state on a new
42840 terminal.
42841 (grub_setcursor): Rewritten to use CURSOR_STATE.
42842 (grub_getcursor): New function.
42843
42844 * include/grub/term.h (grub_getcursor): New prototype.
42845
42846 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
42847 integers on ARM. Reported by Timothy Baldwin
42848 <T.E.Baldwin99@members.leeds.ac.uk>.
42849
42850 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
42851
42852 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
42853 allocated.
42854 (grub_sfs_dir): Likewise.
42855
42856 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
42857
42858 Add support for the SFS filesystem.
42859
42860 * fs/sfs.c: New file.
42861
42862 * DISTLIST: Added `fs/sfs.c'.
42863
42864 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
42865 (grub_probefs_SOURCES): Likewise.
42866 (grub_emu_SOURCES): Likewise.
42867 (pkgdata_MODULES): Add `sfs.mod'.
42868 (sfs_mod_SOURCES): New variable.
42869 (sfs_mod_CFLAGS): Likewise.
42870 (sfs_mod_LDFLAGS): Likewise.
42871
42872 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
42873 (pkgdata_MODULES): Add `sfs.mod'.
42874 (sfs_mod_SOURCES): New variable.
42875 (sfs_mod_CFLAGS): Likewise.
42876
42877 * util/grub-emu.c (main): Call `grub_sfs_init' and
42878 `grub_sfs_fini'.
42879
42880 * include/grub/fs.h (grub_sfs_init): New prototype.
42881 (grub_sfs_fini): Likewise.
42882
42883 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
42884
42885 Add support for the AFFS filesystem.
42886
42887 * fs/affs.c: New file.
42888
42889 * DISTLIST: Added `fs/affs.c'.
42890
42891 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
42892 (grub_probefs_SOURCES): Likewise.
42893 (grub_emu_SOURCES): Likewise.
42894 (pkgdata_MODULES): Add `affs.mod'.
42895 (affs_mod_SOURCES): New variable.
42896 (affs_mod_CFLAGS): Likewise.
42897 (affs_mod_LDFLAGS): Likewise.
42898
42899 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
42900 (pkgdata_MODULES): Add `affs.mod'.
42901 (affs_mod_SOURCES): New variable.
42902 (affs_mod_CFLAGS): Likewise.
42903
42904 * util/grub-emu.c (main): Call `grub_affs_init' and
42905 `grub_affs_fini'.
42906
42907 * include/grub/fs.h (grub_affs_init): New prototype.
42908 (grub_affs_fini): Likewise.
42909
42910 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
42911
42912 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
42913
42914 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
42915
42916 * configure.ac: Accept `x86_64' as host_cpu. In that case add
42917 `-m32' to CFLAGS.
42918
42919 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
42920 linking.
42921
42922 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
42923 (COMMON_LDFLAGS): New variable.
42924 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
42925 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
42926 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
42927 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
42928 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
42929 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
42930 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
42931 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
42932 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
42933 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
42934 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
42935 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
42936 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
42937 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
42938 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
42939 variables.
42940 (normal_mod_ASFLAGS): Add `-m32'.
42941
42942 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
42943 (grub_host_size_t, grub_host_ssize_t): New types.
42944 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
42945 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
42946 `GRUB_HOST_SIZEOF_VOID_P'.
42947
42948 * include/grub/kernel.h (struct grub_module_header): Type of
42949 member offset changed to `grub_host_off_t'. Type of member size
42950 changed to `grub_host_size_t'.
42951 (struct grub_module_info): Type of member offset changed to
42952 `grub_host_off_t'. Type of member size changed to
42953 `grub_host_size_t'.
42954
42955 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
42956
42957 Make GRUB's kernel compliant to Multiboot Specification.
42958
42959 * kern/i386/pc/startup.S (multiboot_header): New label.
42960 (multiboot_entry): Likewise.
42961 (multiboot_trampoline): Likewise.
42962
42963 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
42964 Increased to 0x4A0.
42965
42966 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
42967 put parentheses after a question mark.
42968 [!GRUB_UTIL] (my_mod): New variable.
42969
42970 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
42971
42972 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
42973
42974 Adds support for the XFS filesystem. Btrees are not supported
42975 yet.
42976
42977 * fs/xfs.c: New file.
42978
42979 * DISTLIST: Added `fs/xfs.c'.
42980
42981 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
42982 (grub_probefs_SOURCES): Likewise.
42983 (grub_emu_SOURCES): Likewise.
42984 (pkgdata_MODULES): Add `xfs.mod'.
42985 (xfs_mod_SOURCES): New variable.
42986 (xfs_mod_CFLAGS): Likewise.
42987
42988 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
42989 (pkgdata_MODULES): Add `xfs.mod'.
42990 (xfs_mod_SOURCES): New variable.
42991 (xfs_mod_CFLAGS): Likewise.
42992
42993 * util/grub-emu.c (main): Call `grub_xfs_init' and
42994 `grub_xfs_fini'.
42995
42996 * include/grub/fs.h (grub_xfs_init): New prototype.
42997 (grub_xfs_fini): Likewise.
42998
42999
43000 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
43001
43002 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
43003 color modes, allow greater than 16 colors to be configured as
43004 a default palette.
43005
43006 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
43007
43008 * normal/completion.c (complete_arguments): Add the qualifier
43009 const into OPTIONS.
43010
43011 From Omniflux <omniflux+lists@omniflux.com>:
43012 * include/grub/terminfo.h: New file.
43013 * include/grub/tparm.h: Likewise.
43014 * include/grub/i386/pc/serial.h: Likewise.
43015 * term/terminfo.c: Likewise.
43016 * term/tparm.c: Likewise.
43017 * term/i386/pc/serial.c: Likewise.
43018 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
43019 serial.mod.
43020 (terminfo_mod_SOURCES): New variable.
43021 (terminfo_mod_CFLAGS): Likewise.
43022 (serial_mod_SOURCES): Likewise.
43023 (serial_mod_CFLAGS): Likewise.
43024
43025 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
43026
43027 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
43028 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
43029 and kern/powerpc/ieee1275/cmain.c, respectively.
43030
43031 * boot/powerpc/ieee1275/crt0.S: Moved to ...
43032 * kern/powerpc/ieee1275/crt0.S: ... here.
43033
43034 * boot/powerpc/ieee1275/cmain.c: Moved to ...
43035 * kern/powerpc/ieee1275/cmain.c: ... here.
43036
43037 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
43038 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
43039 instead of boot/powerpc/ieee1275/crt0.S and
43040 boot/powerpc/ieee1275/cmain.c, respectively.
43041
43042 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
43043 sectors. It was not used anyway.
43044
43045 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
43046
43047 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
43048 `unused parameter' warning.
43049
43050 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
43051
43052 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
43053 function.
43054 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
43055 getcharwidth.
43056
43057 2005-08-28 Marco Gerards <metgerards@student.han.nl>
43058
43059 * include/grub/normal.h (enum grub_completion_type): Added
43060 `GRUB_COMPLETION_TYPE_ARGUMENT'.
43061
43062 * normal/cmdline.c (print_completion): Handle
43063 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
43064 * normal/menu_entry.c (store_completion): Likewise.
43065
43066 * normal/completion.c (complete_arguments): New function.
43067 (grub_normal_do_completion): Call `complete_arguments' when the
43068 current words start with a dash.
43069
43070 2005-08-27 Marco Gerards <metgerards@student.han.nl>
43071
43072 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
43073 `gzio.mod' instead of `io.mod').
43074
43075 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
43076
43077 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
43078 (DISTDIRS): Added io and video.
43079 Rewrite the search routine to make an output consistently.
43080
43081 * DISTLIST: Added conf/sparc64-ieee1275.mk,
43082 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
43083 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
43084 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
43085 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
43086 util/powerpc/ieee1275/misc.c.
43087
43088 * include/grub/gzio.h: New file.
43089 * io/gzio.c: Likewise.
43090
43091 * kern/file.c (grub_file_close): Call grub_device_close only if
43092 FILE->DEVICE is not NULL.
43093
43094 * include/grub/mm.h [!NULL] (NULL): New macro.
43095
43096 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
43097
43098 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
43099 (pkgdata_MODULES): Added gzio.mod.
43100 (gzio_mod_SOURCES): New variable.
43101 (gzio_mod_CFLAGS): Likewise.
43102
43103 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
43104 (pkgdata_MODULES): Added gzio.mod.
43105 (gzio_mod_SOURCES): New variable.
43106 (gzio_mod_CFLAGS): Likewise.
43107
43108 * commands/cat.c: Include grub/gzio.h.
43109 (grub_cmd_cat): Use grub_gzfile_open instead of
43110 grub_file_open.
43111
43112 * commands/cmp.c: Include grub/gzio.h.
43113 (grub_cmd_cmp): Use grub_gzfile_open instead of
43114 grub_file_open.
43115
43116 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
43117 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
43118 grub_file_open.
43119 (grub_rescue_cmd_module): Likewise.
43120
43121 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
43122
43123 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
43124 kern/sparc64/ieee1275/init.c because it contains _start.
43125 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
43126
43127 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
43128
43129 * configure.ac: Add support for sparc64 host with ieee1275
43130 firmware.
43131 * configure: Generated from configure.ac.
43132 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
43133 instead of int.
43134 (grub_ofdisk_read): Likewise.
43135 (grub_ofdisk_open): Use %p to print pointer values, and cast the
43136 pointers as (void *) to remove a warning.
43137 (grub_ofdisk_close): Likewise.
43138 (grub_ofdisk_read): Likewise.
43139 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
43140 returns, so make it return void to remove a warning.
43141 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
43142 Corresponding prototype change.
43143 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
43144 values, and cast the pointers as (void *) to remove a warning.
43145 (grub_mm_dump): Likewise.
43146 * conf/sparc64-ieee1275.mk: New file.
43147 * conf/sparc64-ieee1275.rmk: Likewise.
43148 * include/grub/sparc64/setjmp.h: Likewise.
43149 * include/grub/sparc64/types.h: Likewise.
43150 * include/grub/sparc64/ieee1275/console.h: Likewise.
43151 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
43152 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
43153 * include/grub/sparc64/ieee1275/time.h: Likewise.
43154 * kern/sparc64/cache.c: Likewise.
43155 * kern/sparc64/dl.c: Likewise.
43156 * kern/sparc64/ieee1275/init.c: Likewise.
43157 * kern/sparc64/ieee1275/openfw.c: Likewise.
43158
43159 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
43160
43161 * util/console.c (grub_ncurses_putchar): If C is greater than
43162 0x7f, set C to a question mark.
43163 (grub_ncurses_getcharwidth): New function.
43164 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
43165 getcharwidth.
43166
43167 * normal/menu.c (print_entry): Made aware of Unicode. First,
43168 convert TITLE to UCS-4, and predict the cursor position by
43169 grub_getcharwidth.
43170
43171 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
43172 const to SRC.
43173 * kern/misc.c (grub_utf16_to_utf8): Likewise.
43174
43175 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
43176
43177 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
43178 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
43179 grub_strcat.
43180
43181 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
43182 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
43183 grub_strcpy and grub_strlen. Take it into account that a space
43184 character is inserted as a delimiter.
43185
43186 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
43187
43188 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
43189 invalid magic in the error.
43190
43191 * commands/search.c: New file.
43192
43193 * util/grub-emu.c (main): Call grub_search_init and
43194 grub_search_fini.
43195
43196 * kern/rescue.c (grub_rescue_print_disks): Removed.
43197 (grub_rescue_print_devices): New function.
43198 (grub_rescue_cmd_ls): Use grub_device_iterate with
43199 grub_rescue_print_devices instead of grub_disk_dev_iterate with
43200 grub_rescue_print_disks.
43201
43202 * kern/partition.c (grub_partition_iterate): Return the result of
43203 PARTMAP->ITERATE instead of GRUB_ERRNO.
43204
43205 * kern/device.c: Include grub/partition.h.
43206 (grub_device_iterate): New function.
43207
43208 * include/grub/partition.h (grub_partition_iterate): Return int
43209 instead of grub_err_t.
43210
43211 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
43212 prototype.
43213 [GRUB_UTIL] (grub_search_fini): Likewise.
43214
43215 * include/grub/device.h (grub_device_iterate): New prototype.
43216
43217 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
43218 commands/search.c.
43219 (pkgdata_MODULES): Added search.mod.
43220 (search_mod_SOURCES): New variable.
43221 (search_mod_CFLAGS): Likewise.
43222
43223 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
43224 (pkgdata_MODULES): Added search.mod.
43225 (search_mod_SOURCES): New variable.
43226 (search_mod_CFLAGS): Likewise.
43227
43228 * commands/ls.c (grub_ls_list_disks): Renamed to ...
43229 (grub_ls_list_devices): ... this, and use grub_device_iterate.
43230 All callers changed.
43231
43232 * DISTLIST: Added commands/search.c.
43233
43234 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
43235
43236 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
43237 conversion.
43238 (grub_getcharwidth): New function.
43239
43240 * kern/misc.c (grub_utf8_to_ucs4): New function.
43241
43242 * include/grub/term.h (struct grub_term): Added a new member
43243 "getcharwidth".
43244 (grub_getcharwidth): New prototype.
43245
43246 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
43247
43248 * term/i386/pc/console.c (map_char): New function. Segregated from
43249 grub_console_putchar.
43250 (grub_console_putchar): Use map_char.
43251 (grub_console_getcharwidth): New function.
43252 (grub_console_term): Specified grub_console_getcharwidth as
43253 getcharwidth.
43254
43255 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
43256 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
43257
43258 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
43259 GRUB_ERRNO.
43260 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
43261 on grub_strtoul completely.
43262 (write_char): Declare local variables in the beginning of the
43263 function.
43264 (grub_vesafb_getcharwidth): New function.
43265 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
43266 getcharwidth.
43267
43268 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
43269
43270 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
43271 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
43272 commands/i386/pc/vbetest.c.
43273
43274 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
43275 call grub_vbe_get_controller_info again, because the returned
43276 information is volatile.
43277 (grub_vbe_set_video_mode): Mostly rewritten.
43278 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
43279 grub_vbe_status_t correctly.
43280 (grub_vbe_get_video_mode_info): Likewise.
43281 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
43282 several if statements.
43283
43284 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
43285 * commands/i386/pc/vbeinfo.c: ... this.
43286
43287 * commands/i386/pc/vbe_test.c: Renamed to ...
43288 * commands/i386/pc/vbetest.c: ... this.
43289
43290 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
43291 ...
43292 (grub_cmd_vbeinfo): ... this. Save video modes before
43293 iterating. Skip a video mode, if it is not available, not enough
43294 information is given or it is monochrome. Show the memory
43295 model. Leave the interpretation of MODEVAR to grub_strtoul
43296 completely.
43297 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
43298 (GRUB_MOD_FINI): Likewise.
43299
43300 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
43301 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
43302 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
43303 duplicated grub_env_get. Leave the interpretation of MODEVAR to
43304 grub_strtoul completely.
43305 (real2pm): Removed.
43306 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
43307 (GRUB_MOD_FINI): Likewise.
43308
43309 * normal/misc.c: Include grub/mm.h.
43310
43311 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
43312 vbe_list_modes with vbetest.mod and vbeinfo.mod.
43313 (vbe_list_modes_mod_SOURCES): Removed.
43314 (vbe_list_modes_mod_CFLAGS): Likewise.
43315 (vbe_test_mod_SOURCES): Likewise.
43316 (vbe_test_mod_CFLAGS): Likewise.
43317 (vbeinfo_mod_SOURCES): New variable.
43318 (vbeinfo_mod_CFLAGS): Likewise.
43319 (vbetest_mod_SOURCES): Likewise.
43320 (vbetest_mod_CFLAGS): Likewise.
43321
43322 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
43323
43324 * normal/misc.c: New file.
43325
43326 * DISTLIST: Added normal/misc.c.
43327
43328 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
43329 DISK to HOOK. Call HOOK with DISK.
43330 * partmap/apple.c (apple_partition_map_iterate): Likewise.
43331 * partmap/pc.c (pc_partition_map_iterate): Likewise.
43332 * partmap/sun.c (sun_partition_map_iterate): Likewise.
43333
43334 * normal/menu_entry.c (struct screen): Added a new member
43335 "completion_shown".
43336 (completion_buffer): New global variable.
43337 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
43338 (store_completion): New function.
43339 (complete): Likewise.
43340 (clear_completions): Likewise.
43341 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
43342 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
43343 a tab, call complete.
43344
43345 * normal/completion.c (disk_dev): Removed.
43346 (print_simple_completion): Likewise.
43347 (print_partition_completion): Likewise.
43348 (print_func): New global variable.
43349 (add_completion): Do not take the arguments WHAT or PRINT any
43350 longer. Added a new argument TYPE. Instead of printing directly,
43351 call PRINT_FUNC if not NULL.
43352 All callers changed.
43353 (complete_device): Use a local variable DEV instead of
43354 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
43355 (grub_normal_do_completion): Take a new argument HOOK. Do not
43356 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
43357 empty string, return NULL instead.
43358 All callers changed.
43359
43360 * normal/cmdline.c (print_completion): New function.
43361
43362 * kern/partition.c (grub_partition_iterate): Add an argument DISK
43363 to HOOK.
43364 All callers changed.
43365
43366 * kern/disk.c (grub_print_partinfo): Removed.
43367
43368 * include/grub/partition.h (struct grub_partition_map): Add a new
43369 argument DISK into HOOK of ITERATE.
43370 (grub_partition_iterate): Add a new argument DISK to HOOK.
43371
43372 * include/grub/normal.h (enum grub_completion_type): New enum.
43373 (grub_completion_type_t): New type.
43374 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
43375 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
43376 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
43377 (GRUB_COMPLETION_TYPE_FILE): Likewise.
43378 (grub_normal_do_completion): Added a new argument HOOK.
43379 (grub_normal_print_device_info): New prototype.
43380
43381 * include/grub/disk.h (grub_print_partinfo): Removed.
43382
43383 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
43384 (normal_mod_SOURCES): Likewise.
43385 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43386 (normal_mod_SOURCES): Likewise.
43387
43388 * commands/ls.c (grub_ls_list_disks): Use
43389 grub_normal_print_device_info instead of grub_print_partinfo. Free
43390 PNAME.
43391 (grub_ls_list_files): Use grub_normal_print_device_info instead of
43392 duplicating the code.
43393
43394 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
43395
43396 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
43397 follow GCS more precisely.
43398 * commands/i386/pc/vbe_test.c: Likewise.
43399 * include/grub/i386/pc/vbe.h: Likewise.
43400 * term/i386/pc/vesafb.c: Likewise.
43401 * video/i386/pc/vbe.c: Likewise.
43402
43403 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
43404
43405 * DISTLIST: Added term/i386/pc/vesafb.c
43406 DISTLIST: Added video/i386/pc/vbe.c
43407 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
43408 DISTLIST: Added commands/i386/pc/vbe_test.c.
43409 * commands/i386/pc/vbe_list_modes.c: New file.
43410 * commands/i386/pc/vbe_test.c: Likewise.
43411 * term/i386/pc/vesafb.c: Likewise.
43412 * video/i386/pc/vbe.c: Likewise.
43413 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
43414 (grub_vbe_probe) Added prototype.
43415 (grub_vbe_set_video_mode) Likewise.
43416 (grub_vbe_get_video_mode) Likewise.
43417 (grub_vbe_get_video_mode_info) Likewise.
43418 (grub_vbe_set_pixel_rgb) Likewise.
43419 (grub_vbe_set_pixel_index) Likewise.
43420 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
43421 (pkgdata_MODULES): Added vesafb.mod.
43422 (pkgdata_MODULES): Added vbe_list_modes.mod.
43423 (pkgdata_MODULES): Added vbe_test.mod.
43424 (vbe_mod_SOURCES): Added.
43425 (vbe_mod_CFLAGS): Likewise.
43426 (vesafb_mod_SOURCES): Likewise.
43427 (vesafb_mod_CFLAGS): Likewise.
43428 (vbe_list_modes_mod_SOURCES): Likewise.
43429 (vbe_list_modes_mod_CFLAGS): Likewise.
43430 (vbe_test_mod_SOURCES): Likewise.
43431 (vbe_test_mod_CFLAGS): Likewise.
43432
43433 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
43434
43435 * normal/command.c (grub_command_execute): If INTERACTIVE is
43436 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
43437 CMDLINE. Disable the pager if INTERACTIVE is true.
43438 All callers are changed.
43439
43440 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
43441 before reading a config file.
43442 * normal/main.c (read_config_file): Even if a command is not
43443 found, register it if it is within an entry.
43444
43445 * util/grub-emu.c: Include sys/types.h and unistd.h.
43446 (options): Added --hold.
43447 (struct arguments): Added a new member "hold".
43448 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
43449 missing.
43450 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
43451 cleared by a debugger, if it is not zero.
43452
43453 * include/grub/normal.h (grub_command_execute): Add an argument
43454 INTERACTIVE.
43455
43456 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
43457
43458 * DISTLIST: Added include/grub/i386/pc/vbe.h.
43459
43460 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
43461
43462 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
43463 program with another one, because the old one didn't detect a bug
43464 in gcc-3.4. Always use regparm 2, because the new test is still
43465 not enough for gcc-4.0. Someone must investigate a simple test
43466 case which detects a bug in gcc-4.0.
43467
43468 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
43469
43470 * DISTLIST: Added normal/completion.c.
43471
43472 * normal/completion.c: New file.
43473
43474 * term/i386/pc/console.c (grub_console_getwh): New function.
43475 (grub_console_term): Assign grub_console_getwh to getwh.
43476
43477 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
43478 function is defined in normal/completion.c as
43479 grub_normal_do_completion.
43480 (grub_cmdline_get): Use grub_normal_do_completion instead of
43481 grub_tab_complete.
43482
43483 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
43484 returns non-zero, otherwise return 0.
43485 (grub_partition_iterate): First, probe the partition map. Then,
43486 call ITERATE only for this partition map.
43487
43488 * kern/misc.c (grub_strncmp): Rewritten.
43489
43490 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
43491 returns non-zero. Otherwise return 0.
43492
43493 * include/grub/partition.h (grub_partition_map_iterate): Return
43494 int instead of void.
43495
43496 * include/grub/normal.h (grub_normal_do_completion): New prototype.
43497
43498 * include/grub/misc.h (grub_strncmp): Change the type of N to
43499 grub_size_t.
43500
43501 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
43502 of void.
43503
43504 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
43505 unsigned explicitly before comparing it with I.
43506
43507 * kern/main.c (grub_env_write_root): Add the attribute unused into
43508 VAR.
43509
43510 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
43511 normal/completion.c.
43512 (normal_mod_SOURCES): Likewise.
43513 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
43514 (normal_mod_SOURCES): Likewise.
43515
43516 * normal/command.c (grub_iterate_commands): If ITERATE returns
43517 non-zero, return one immediately.
43518
43519 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
43520
43521 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
43522 * kern/i386/pc/startup.S: Updated Global Descriptor table's
43523 descriptions.
43524 (grub_vbe_get_controller_info): New function.
43525 (grub_vbe_get_mode_info): Likewise.
43526 (grub_vbe_set_mode): Likewise.
43527 (grub_vbe_get_mode): Likewise.
43528 (grub_vbe_set_memory_window): Likewise.
43529 (grub_vbe_get_memory_window): Likewise.
43530 (grub_vbe_set_scanline_length): Likewise.
43531 (grub_vbe_get_scanline_length): Likewise.
43532 (grub_vbe_set_display_start): Likewise.
43533 (grub_vbe_get_display_start): Likewise.
43534 (grub_vbe_set_palette_data): Likewise.
43535 * include/grub/i386/pc/vbe.h: New file.
43536
43537 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
43538
43539 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
43540 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
43541 * DISTLIST: Likewise.
43542 * kern/ieee1275/of.c: Moved to ...
43543 * kern/ieee1275/ieee1275.c: ... here.
43544
43545 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
43546
43547 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
43548 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
43549 Pass 0 as `end' parameter to grub_strtoul().
43550
43551 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
43552
43553 * include/grub/powerpc/ieee1275/console.h: Do not include
43554 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
43555 ifdef.
43556 (grub_console_cur_color): Remove i386-specific prototype.
43557 (grub_console_real_putchar): Likewise.
43558 (grub_console_checkkey): Likewise.
43559 (grub_console_getkey): Likewise.
43560 (grub_console_getxy): Likewise.
43561 (grub_console_gotoxy): Likewise.
43562 (grub_console_cls): Likewise.
43563 (grub_console_setcursor): Likewise.
43564 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
43565 Include <grub/machine/console.h>.
43566 * term/ieee1275/ofconsole.c: Likewise.
43567
43568 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
43569
43570 * Makefile.in (LIBLZO): New variable.
43571
43572 * configure.ac: Check for LZO version 2.
43573
43574 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
43575 lzo/lzo1x.h instead of lzo1x.h.
43576
43577 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
43578 of -llzo.
43579
43580 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
43581 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
43582
43583 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
43584 copying the data from PARTITION to P.
43585
43586 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
43587
43588 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
43589 negative, unload the module.
43590
43591 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
43592 map is "pc_partition_map" but not "pc".
43593 (usage): Fix the description. The options are --boot-image and
43594 --core-image but not --boot-file or --core-file.
43595 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
43596 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
43597 DEFAULT_DIRECTORY.
43598
43599 * util/i386/pc/grub-install.in: Do not specify --boot-file or
43600 --core-file. Specify INSTALL_DEVICE as an argument.
43601
43602 * util/console.c: Include config.h.
43603 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
43604 [HAVE_NCURSES_H]: Include ncurses.h.
43605 [HAVE_CURSES_H]: Include curses.h.
43606 [!A_NORMAL] (A_NORMAL): Defined as zero.
43607 [!A_STANDOUT] (A_STANDOUT): Likewise.
43608
43609 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
43610 -lncurses.
43611 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
43612
43613 * configure.ac: Check for curses libraries and headers.
43614
43615 * Makefile.in (LIBCURSES): New variable.
43616
43617 * genmk.rb (Script::rule): Set the executable bits.
43618
43619 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
43620 name of the PC partition map is "pc_partition_map" but not "pc".
43621
43622 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
43623
43624 * util/i386/pc/grub-install.in (grub_probefs): New variable.
43625 (modules): Likewise.
43626 (usage): Added descriptions for --modules and --grub-probefs.
43627 Handle --modules and --grub-probefs. Save the arguments in MODULES
43628 and GRUB_PROBEFS, respectively.
43629 Auto-detect a filesystem module against GRUBDIR. If the result is
43630 empty and modules are not specified explicitly, abort the
43631 installation. Add the result to MODULES.
43632
43633 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
43634 disk/powerpc/ieee1275/ofdisk.c,
43635 include/grub/powerpc/ieee1275/init.h and
43636 term/powerpc/ieee1275/ofconsole.c.
43637 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
43638 term/ieee1275/ofconsole.c.
43639
43640 * include/grub/powerpc/ieee1275/console.h: Resurrected.
43641
43642 * COPYING: Upgraded to the latest version. Only the address of the
43643 FSF office has changed.
43644
43645 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
43646
43647 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
43648 kern/ieee1275.c with kern/ieee1275/of.c.
43649
43650 * kern/ieee1275.c: Moved to ...
43651 * kern/ieee1275/of.c: ... here.
43652
43653 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
43654
43655 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
43656 readability.
43657
43658 * config.guess: Updated to the latest version from gnulib.
43659 * config.sub: Likewise.
43660 * install.sh: Likewise.
43661 * mkinstalldirs: Likewise.
43662
43663 * include/grub/console.h: Removed. This file is arch-specific. Do
43664 not put this in include/grub.
43665
43666 * include/grub/i386/pc/console.h: Resurrected.
43667
43668 * util/console.c: Include grub/machine/console.h instead of
43669 grub/console.h.
43670 * util/grub-emu.c: Likewise.
43671
43672 2005-08-04 Marco Gerards <metgerards@student.han.nl>
43673
43674 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
43675 hardcoded value.
43676
43677 From Vincent Pelletier <subdino2004@yahoo.fr>
43678 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
43679 Redefined to use grub_getwh.
43680 (grub_term): New member named getwh.
43681 (grub_getwh): New prototype.
43682 * kern/term.c (grub_getwh): New function.
43683 * term/i386/pc/console.c (grub_console_getwh): New function.
43684 (grub_console_term): New member `getwh'.
43685 * term/i386/pc/vga.c (grub_vga_getwh): New function.
43686 (grub_vga_term): New member `getwh'.
43687 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
43688 grub_ssize_t.
43689 (grub_ofconsole_getw): New function.
43690 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
43691 (grub_ofconsole_term): New field named getwh and new initial
43692 value.
43693
43694 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
43695
43696 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
43697 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
43698 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
43699 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
43700 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
43701 of <grub/machine/ieee1275.h>.
43702 * commands/ieee1275/reboot.c: Likewise.
43703 * boot/powerpc/ieee1275/ieee1275.c: Move ...
43704 * kern/ieee1275.c: ... to here. All users updated. Change all
43705 parameter structs to use new type `grub_ieee1275_cell_t'.
43706 * term/powerpc/ieee1275/ofconsole.c: Move ...
43707 * term/ieee1275/ofconsole.c: ... to here. All users updated.
43708 * disk/powerpc/ieee1275/ofdisk.c: Move ...
43709 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
43710 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
43711 to return int.
43712 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
43713 Remove unused prototypes. All users updated.
43714 * include/grub/powerpc/ieee1275/console.h: Removed.
43715 * include/grub/powerpc/ieee1275/ieee1275.h: Define
43716 `grub_ieee1275_cell_t'.
43717 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
43718 Cast comparisons with -1 to the correct type.
43719 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
43720 type to match `grub_ieee1275_entry_fn'.
43721
43722 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
43723
43724 * DISTLIST: Added util/i386/pc/grub-probefs.c.
43725
43726 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
43727 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
43728 partmap/sun.c.
43729 (grub_probefs_SOURCES): New variable.
43730
43731 * util/i386/pc/grub-probefs.c: New file.
43732
43733 * util/i386/pc/grub-setup.c (main): Call
43734 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
43735 grub_hfs_init and grub_jfs_init to initialize the system. Call
43736 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
43737 grub_pc_partition_map_fini to finish the system.
43738
43739 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
43740
43741 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
43742 function.
43743 (grub_multiboot_load_elf32): Likewise.
43744 (grub_multiboot_is_elf64): Likewise.
43745 (grub_multiboot_load_elf64): Likewise.
43746 (grub_multiboot_load_elf): Likewise.
43747 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
43748 an ELF32 or ELF64 file.
43749 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
43750
43751 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
43752 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
43753 NULL before calling FS->LABEL.
43754 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
43755 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
43756 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
43757 before calling FS->LABEL.
43758
43759 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
43760
43761 * util/i386/pc/grub-install.in (datadir): New variable.
43762 (libdir): Removed.
43763 (pkgdatadir): New variable.
43764 (pkglibdir): Removed.
43765
43766 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
43767
43768 * DISTLIST: Added util/i386/pc/grub-install.in.
43769
43770 * util/i386/pc/grub-install.in: New file.
43771
43772 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
43773 (grub_install_SOURCES): Likewise.
43774
43775 * genmk.rb: Added support for scripts.
43776 (Script): New class.
43777 (scripts): New variable.
43778
43779 * Makefile.in (install-local): Install sbin_SCRIPTS by
43780 INSTALL_SCRIPT.
43781 (uninstall): Remove sbin_SCRIPTS.
43782
43783 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
43784 device, try to get a GRUB device by
43785 grub_util_biosdisk_get_grub_dev.
43786 Free DEST_DEV.
43787
43788 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
43789 description for --device-map.
43790
43791 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
43792
43793 Change the semantics of variable hooks. They now return strings
43794 instead of error values.
43795
43796 * util/i386/pc/grub-setup.c: Include grub/env.h.
43797 (setup): Use grub_device_set_root instead of grub_env_set.
43798
43799 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
43800 grub_env_get instead of grub_device_set_root and
43801 grub_device_get_root, respectively.
43802
43803 * kern/main.c (grub_env_write_root): New function.
43804 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
43805 grub_env_set instead of grub_device_set_root.
43806
43807 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
43808 many variables.
43809 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
43810 rather than calling ENV->WRITE_HOOK afterwards.
43811 (grub_env_get): Return the result of ENV->READ_HOOK rather than
43812 passing a pointer of a pointer.
43813 (grub_register_variable_hook): Change the types of "read_hook" and
43814 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
43815 respectively.
43816 Allocate the default empty string on the heap, because this string
43817 may be freed later.
43818
43819 * kern/device.c: Include grub/env.h.
43820 (grub_device_set_root): Removed.
43821 (grub_device_get_root): Likewise.
43822 (grub_device_open): Use grub_env_get instead of
43823 grub_device_get_root.
43824
43825 * include/grub/env.h (grub_env_read_hook_t): New type.
43826 (grub_env_write_hook_t): Likewise.
43827 (grub_env_var): Change the types of "read_hook" and "write_hook"
43828 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
43829 (grub_register_variable_hook): Likewise.
43830
43831 * include/grub/device.h (grub_device_set_root): Removed.
43832 (grub_device_set_root): Likewise.
43833
43834 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
43835 make sure that DIRNAME terminates with '/', so that
43836 grub_fat_find_dir will fail if PATH is not a directory.
43837
43838 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
43839 from DIRNAME.
43840 Use the qualifier auto for print_files and print_files_long.
43841 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
43842 as a regular file.
43843 Put a newline only if there is no error.
43844 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
43845 used.
43846
43847 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
43848
43849 * kern/partition.c (grub_partition_probe): Initialize PART to
43850 NULL. Otherwise, when no partition map is registered, this returns
43851 a garbage.
43852
43853 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
43854
43855 * partmap/apple.c (apple_partition_map_iterate): Check if POS
43856 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
43857 valid.
43858
43859 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
43860
43861 * commands/ls.c (grub_ls_list_disks): Print the filesystem
43862 information on each device, if it does not have partitions. Print
43863 "Device" instead of "Disk", because this function is not specific
43864 to disk devices.
43865
43866 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
43867 static to ensure that it is put on the memory rather than a
43868 register.
43869
43870 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
43871
43872 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
43873 (grub_cat_init): Likewise.
43874 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
43875 (options): Likewise.
43876 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
43877 (grub_configfile_init): Likewise.
43878 * font/manager.c (GRUB_MOD_INIT): Likewise.
43879 * commands/help.c (GRUB_MOD_INIT): Likewise.
43880 (grub_help_init): Likewise.
43881 * normal/command.c (grub_command_init): Likewise.
43882 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
43883 * disk/loopback.c (grub_loop_init): Likewise.
43884 (GRUB_MOD_INIT): Likewise.
43885 * commands/ls.c (grub_ls_init): Likewise.
43886 (GRUB_MOD_INIT): Likewise.
43887 (options): Likewise.
43888 * commands/boot.c (grub_boot_init): Likewise.
43889 (GRUB_MOD_INIT): Likewise.
43890 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
43891 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
43892 (GRUB_MOD_INIT): Likewise.
43893 * commands/cmp.c (grub_cmp_init): Likewise.
43894 (GRUB_MOD_INIT): Likewise.
43895
43896 * normal/arg.c: Use <> instead of "" to include header files.
43897 (SHORT_ARG_HELP): New macro.
43898 (SHORT_ARG_USAGE): Likewise.
43899 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
43900 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
43901 descriptions.
43902 (find_short): Check if C is 'h' or 'u' explicitly.
43903 (grub_arg_show_help): Use space characters instead of tabs. Treat
43904 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
43905 are shown with --help and --usage only if they are not used for
43906 the command itself.
43907 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
43908 'h' and 'u'.
43909
43910 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
43911 const into "longarg". Change the type of "shortarg" to int.
43912
43913 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
43914
43915 * boot/i386/pc/boot.S (boot_drive_check): New label.
43916
43917 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
43918 macro.
43919
43920 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
43921 which do not pass a boot drive correctly. Copied from GRUB Legacy.
43922
43923 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
43924
43925 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
43926 When turning off Gate A20, skip the check and return immediately,
43927 because this is not fatal usually.
43928
43929 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
43930
43931 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
43932 be 0x7C00 instead of 0x8000.
43933
43934 * boot/i386/pc/pxeboot.S: Rewritten.
43935
43936 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
43937 EXT_C.
43938 (gate_a20_check_state): Read a byte from 0x108000. Invert the
43939 result.
43940
43941 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
43942
43943 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
43944 robustness. This routine now supports a BIOS call and System
43945 Control Port A to modify the gate A20.
43946
43947 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
43948 Increased to 0x440.
43949
43950 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
43951
43952 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
43953 device path and resulting ihandle.
43954 (grub_ofdisk_close): dprintf the ihandle being closed.
43955 (grub_ofdisk_read): dprintf function parameters.
43956 * kern/mm.c (grub_mm_init_region): Likewise.
43957 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
43958 (grub_linux_boot): dprintf the Linux entry point, initrd address and
43959 size, and boot arguments.
43960 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
43961 before loading into memory.
43962 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
43963 before loading into memory.
43964
43965 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
43966
43967 * kern/mm.c: Added much documentation.
43968 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
43969 8, set to 5 instead of 8.
43970
43971 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
43972
43973 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
43974
43975 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
43976 (grub_mkdevicemap_SOURCES): New variable.
43977
43978 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
43979 lib/device.c of GRUB Legacy.
43980
43981 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
43982
43983 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
43984 instead of PATH is NULL.
43985
43986 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
43987
43988 * commands/cmp.c (BUFFER_SIZE): New macro.
43989 (grub_cmd_cmp): Close the right file at the right time. Compare
43990 only data just read. Don't report files of different size as
43991 identical. Dynamically allocate buffers. Move variable
43992 declarations at the beginning of function.
43993
43994 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
43995
43996 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
43997 reverse.
43998
43999 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
44000
44001 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
44002 when backspace is pressed at beginning of line.
44003
44004 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
44005
44006 * DISTLIST: Added genfslist.sh.
44007
44008 * normal/main.c (fs_module_list): New variable.
44009 (autoload_fs_module): New function.
44010 (read_fs_list): Likewise.
44011 (grub_normal_execute): Call read_fs_list.
44012
44013 * kern/fs.c (grub_fs_autoload_hook): New variable.
44014 (grub_fs_probe): Added support for auto-loading.
44015
44016 * include/grub/normal.h (struct grub_fs_module_list): New struct.
44017 (grub_fs_module_list_t): New type.
44018
44019 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
44020 (grub_fs_autoload_hook): New prototype.
44021
44022 * genfslist.sh: New file.
44023
44024 * genmk.rb: Added a rule to generate a filesystem list.
44025
44026 2005-06-30 Marco Gerards <metgerards@student.han.nl>
44027
44028 * configure.ac: Fix the test for cross-compiling.
44029
44030 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
44031 define GRUB_UTIL anymore.
44032
44033 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
44034 so this function works on other systems than just big endian.
44035 (load_modules): Likewise.
44036 (add_segments): Likewise.
44037
44038 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
44039
44040 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
44041 contains `l' modifier, get a long from va_arg().
44042
44043 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
44044
44045 * kern/mm.c (grub_free): If the next free block which is being
44046 merged is the first free block, set the first block to the block
44047 being freed.
44048 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
44049
44050 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
44051
44052 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
44053 `grub_ieee1275_chosen'.
44054
44055 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
44056
44057 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
44058 (grub_ieee1275_chosen): New variable.
44059 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
44060 `chosen'.
44061 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
44062 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
44063 Rename first argument to `phandle' for consistency.
44064 (grub_ieee1275_get_property_length): Likewise.
44065 (grub_ieee1275_next_property): Likewise. Change type of first argument
44066 to grub_ieee1275_phandle_t.
44067 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
44068 Move export next to declaration.
44069 (grub_ieee1275_chosen): New variable.
44070 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
44071 Correct cosmetic typo.
44072 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
44073 `grub_ieee1275_chosen'.
44074 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
44075 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
44076 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
44077 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
44078 `grub_ieee1275_chosen'.
44079
44080 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
44081
44082 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
44083 /chosen/bootargs.
44084 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
44085 /chosen/bootargs as "variable=value" pairs.
44086
44087 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
44088
44089 * include/grub/misc.h (grub_dprintf): New macro.
44090 (grub_real_dprintf): New prototype.
44091 (grub_strword): Likewise.
44092 (grub_iswordseparator): Likewise.
44093 * kern/misc.c (grub_real_dprintf): New function.
44094 (grub_strword): Likewise.
44095 (grub_iswordseparator): Likewise.
44096
44097 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
44098
44099 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
44100 (roundup): Remove macro.
44101 (grub_ieee1275_flags): Make static.
44102 (grub_ieee1275_realmode): Remove.
44103 (grub_ieee1275_test_flag): New function.
44104 (grub_ieee1275_set_flag): Likewise.
44105 (find_options): Rename to `grub_ieee1275_find_options'; update
44106 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
44107 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
44108 (cmain): New prototype.
44109 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
44110 `grub_ieee1275_flags' directly.
44111 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
44112 machine/biosdisk.h.
44113 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
44114 Don't include grub/machine/init.h.
44115 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
44116 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
44117 Remove prototype.
44118 (grub_ieee1275_realmode): Likewise.
44119 (grub_ieee1275_flag): New enum.
44120 (grub_ieee1275_test_flag): New prototype.
44121 (grub_ieee1275_set_flag): New prototype.
44122 * include/grub/powerpc/ieee1275/init.h: Remove file.
44123 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
44124 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
44125 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
44126 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
44127 comment.
44128 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
44129 `grub_ieee1275_test_flag'.
44130 (grub_ieee1275_encode_devname): Likewise.
44131
44132 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
44133
44134 * include/grub/powerpc/ieee1275/ieee1275.h
44135 (grub_ieee1275_encode_devname): New prototype.
44136 (grub_ieee1275_get_filename): Likewise.
44137 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
44138 function.
44139 (grub_set_prefix): Likewise.
44140 (grub_machine_init): Call grub_set_prefix.
44141 * kern/powerpc/ieee1275/openfw.c: Fix typos.
44142 (grub_parse_type): New enum.
44143 (grub_ieee1275_get_devargs): New function.
44144 (grub_ieee1275_get_devname): Likewise.
44145 (grub_ieee1275_parse_args): Likewise.
44146 (grub_ieee1275_get_filename): Likewise.
44147 (grub_ieee1275_encode_devname): Likewise.
44148
44149 2005-03-30 Marco Gerards <metgerards@student.han.nl>
44150
44151 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
44152 `grub_loader_unset'.
44153
44154 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
44155
44156 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
44157 instead of grub_ieee1275_interpret.
44158 (grub_halt_init): New function.
44159 (grub_halt_fini): Likewise.
44160 (GRUB_MOD_INIT): Correct message grammar.
44161 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
44162 instead of grub_ieee1275_interpret.
44163 (grub_reboot_init): New function.
44164 (grub_reboot_fini): Likewise.
44165 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
44166 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
44167 util/i386/pc/misc.c with commands/ieee1275/halt.c,
44168 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
44169 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
44170 function.
44171 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
44172 Add prototype.
44173 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
44174 prototype.
44175 (grub_halt): Likewise.
44176 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
44177 (cmain): Remove __attribute__((unused)).
44178 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
44179 (grub_heap_len): Likewise.
44180 (grub_machine_fini): New function.
44181 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
44182 (grub_halt): Likewise.
44183 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
44184 function.
44185 * util/powerpc/ieee1275/misc.c: New file.
44186
44187 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
44188
44189 * DISTLIST: New file.
44190 * gendistlist.sh: Likewise.
44191
44192 * Makefile.in (COMMON_DISTFILES): Removed.
44193 (BOOT_DISTFILES): Likewise.
44194 (CONF_DISTFILES): Likewise.
44195 (DISK_DISTFILES): Likewise.
44196 (FS_DISTFILES): Likewise.
44197 (INCLUDE_DISTFILES): Likewise.
44198 (KERN_DISTFILES): Likewise.
44199 (LOADER_DISTFILES): Likewise.
44200 (TERM_DISTFILES): Likewise.
44201 (UTIL_DISTFILES): Likewise.
44202 (DISTFILES): Likewise.
44203 (uninstall): Uninstall files in $(pkgdata_DATA).
44204 (DISTLIST): New target.
44205 (distdir): Use the contents of the file DISTLIST to get a list of
44206 distributed files.
44207
44208 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
44209
44210 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
44211 descriptor. This is ported from GRUB Legacy.
44212
44213 * gencmdlist.sh: Added an extra semicolon to make it work with
44214 old sed versions. Reported by Robert Bihlmeyer
44215 <robbe@orcus.priv.at>.
44216
44217 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
44218
44219 Automatic loading of commands is supported.
44220
44221 * normal/main.c (read_command_list): New function.
44222 (grub_normal_execute): Call read_command_list.
44223
44224 * normal/command.c (grub_register_command): Return zero or CMD.
44225 Allocate CMD->NAME from the heap.
44226 Initialize CMD->MODULE_NAME to zero.
44227 Find the same name as well. If the same command is found and it is
44228 a dummy command, overwrite members. If it is not a dummy command,
44229 return zero.
44230 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
44231 (grub_command_find): If a dummy command is found, load a module
44232 and retry to find a command only once.
44233
44234 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
44235 make sure that each command is loaded.
44236
44237 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
44238 macro.
44239 (struct grub_command): Remove const from the member `name'.
44240 Add a new member `module_name'.
44241 (grub_register_command): Return grub_command_t.
44242
44243 * commands/help.c (grub_cmd_help): Call grub_command_find to make
44244 sure that each command is loaded.
44245
44246 * genmk.rb (PModule::rule): Specify a module name without the
44247 suffix ".mod" to gencmdlist.sh.
44248
44249 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
44250
44251 * gencmdlist.sh: New file.
44252
44253 * genmk.rb (PModule::rule): Generate a rule for a command list.
44254 Clean command.lst.
44255 Generate command.lst from $(COMMANDFILES).
44256
44257 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
44258 (DATA): Added $(pkgdata_DATA).
44259 (install-local): Install files in $(pkgdata_DATA).
44260
44261 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
44262
44263 * term/i386/pc/vga.c (debug_command): Removed.
44264 (GRUB_MOD_INIT): Do not register the command "debug".
44265
44266 From Hollis Blanchard:
44267 * commands/configfile.c: New file.
44268 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
44269 commands/configfile.c.
44270 (pkgdata_MODULES): Added configfile.mod.
44271 (configfile_mod_SOURCES): New variable.
44272 (configfile_mod_CFLAGS): Likewise.
44273 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
44274 commands/configfile.c.
44275 (pkgdata_MODULES): Added configfile.mod.
44276 (configfile_mod_SOURCES): New variable.
44277 (configfile_mod_CFLAGS): Likewise.
44278 * util/grub-emu.c (main): Call grub_configfile_init and
44279 grub_configfile_fini.
44280 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
44281 prototype.
44282 [GRUB_UTIL] (grub_configfile_fini): Likewise.
44283
44284 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
44285
44286 * normal/arg.c (grub_arg_show_help): Do not show the bug report
44287 address.
44288
44289 * commands/help.c (grub_cmd_help): Do not print newlines after
44290 the last command in print_command_help.
44291
44292 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
44293
44294 * commands/default.h: New file.
44295 * commands/timeout.h: Likewise.
44296 * normal/context.c: Likewise.
44297
44298 * util/misc.c: Do not include sys/times.h.
44299 Include sys/time.h and grub/machine/time.h.
44300 (grub_get_rtc): Rewritten with gettimeofday.
44301
44302 * util/grub-emu.c (main): Call grub_default_init and
44303 grub_timeout_init before grub_normal_init, and call
44304 grub_timeout_fini and grub_default_fini after grub_main.
44305
44306 * util/console.c (grub_ncurses_checkkey): Return the read
44307 character or -1.
44308
44309 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
44310 timeouts.
44311
44312 * normal/main.c (read_config_file): Push MENU. If this fails,
44313 print an error and wait for a user input.
44314 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
44315 If a menu is empty or an error occurs, pop MENU.
44316 (grub_normal_execute): Pop and free MENU after grub_menu_run
44317 returns.
44318
44319 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
44320
44321 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
44322 include time.h.
44323 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
44324 without GRUB_UTIL.
44325 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
44326 time.h.
44327 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
44328 without GRUB_UTIL.
44329
44330 * include/grub/normal.h (struct grub_menu_list): New struct.
44331 (grub_menu_list_t): New type.
44332 (struct grub_context): New struct.
44333 (grub_context_t): New type.
44334 (grub_register_command): Got rid of EXPORT_FUNC.
44335 (grub_unregister_command): Likewise.
44336 (grub_context_get): New prototype.
44337 (grub_context_get_current_menu): Likewise.
44338 (grub_context_push_menu): Likewise.
44339 (grub_context_pop_menu): Likewise.
44340 [GRUB_UTIL] (grub_default_init): Likewise.
44341 [GRUB_UTIL] (grub_default_fini): Likewise.
44342 [GRUB_UTIL] (grub_timeout_init): Likewise.
44343 [GRUB_UTIL] (grub_timeout_fini): Likewise.
44344
44345 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
44346 commands/timeout.c and normal/context.c.
44347 (pkgdata_MODULES): Added default.mod and timeout.mod.
44348 (normal_mod_SOURCES): Added normal/context.c.
44349 (default_mod_SOURCES): New variable.
44350 (default_mod_CFLAGS): Likewise.
44351 (timeout_mod_SOURCES): Likewise.
44352 (timeout_mod_CFLAGS): Likewise.
44353 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
44354 conf/i386-pc.rmk.
44355 (pkgdata_MODULES): Added default.mod and timeout.mod.
44356 (normal_mod_SOURCES): Added normal/context.c.
44357 (default_mod_SOURCES): New variable.
44358 (default_mod_CFLAGS): Likewise.
44359 (timeout_mod_SOURCES): Likewise.
44360 (timeout_mod_CFLAGS): Likewise.
44361
44362 * Makefile.in (all-local): Added $(MKFILES).
44363
44364 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
44365
44366 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
44367 (grub_emu_SOURCES): Likewise.
44368 (pkgdata_MODULES): Add `sun.mod'.
44369 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
44370 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
44371 `partmap/sun.c'.
44372 (pkgdata_MODULES): Add `sun.mod'.
44373 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
44374 * include/grub/partition.h (grub_sun_partition_map_init): New
44375 prototype.
44376 (grub_sun_partition_map_fini): Likewise.
44377 * partmap/sun.c: New file.
44378 * util/grub-emu.c (main): Initialize and de-initialize the sun
44379 partitionmap support.
44380
44381 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
44382
44383 This implements an Emacs-like menu entry editor.
44384
44385 * normal/menu_entry.c: New file.
44386
44387 * util/console.c (grub_ncurses_putchar): Translate some Unicode
44388 characters to ASCII.
44389 (saved_char): New variable.
44390 (grub_ncurses_checkkey): Rewritten completely.
44391 (grub_ncurses_getkey): Likewise.
44392 (grub_ncurses_init): Call raw instead of cbreak.
44393
44394 * normal/menu.c (print_entry): Do not put a space.
44395 (init_page): Renamed to ...
44396 (grub_menu_init_page): ... this. All callers changed.
44397 (edit_menu_entry): Removed.
44398 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
44399
44400 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
44401
44402 * kern/misc.c (grub_vprintf): Call grub_refresh.
44403
44404 * normal/menu.c (DISP_LEFT): Renamed to ...
44405 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
44406 * normal/menu.c (DISP_UP): Renamed to ...
44407 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
44408 * normal/menu.c (DISP_RIGHT): Renamed to ...
44409 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
44410 * normal/menu.c (DISP_DOWN): Renamed to ...
44411 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
44412 * normal/menu.c (DISP_HLINE): Renamed to ...
44413 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
44414 * normal/menu.c (DISP_VLINE): Renamed to ...
44415 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
44416 * normal/menu.c (DISP_UL): Renamed to ...
44417 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
44418 * normal/menu.c (DISP_UR): Renamed to ...
44419 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
44420 * normal/menu.c (DISP_LL): Renamed to ...
44421 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
44422 * normal/menu.c (DISP_LR): Renamed to ...
44423 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
44424 * normal/menu.c (TERM_WIDTH): Renamed to ...
44425 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
44426 * normal/menu.c (TERM_HEIGHT): Renamed to ...
44427 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
44428 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
44429 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
44430 * normal/menu.c (TERM_MARGIN): Renamed to ...
44431 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
44432 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
44433 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
44434 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
44435 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
44436 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
44437 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
44438 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
44439 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
44440 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
44441 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
44442 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
44443 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
44444 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
44445 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
44446 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
44447 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
44448 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
44449 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
44450 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
44451 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
44452 All callers changed.
44453
44454 * include/grub/normal.h: New prototype.
44455
44456 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
44457 normal/menu_entry.c.
44458 (normal_mod_SOURCES): Likewise.
44459 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44460 (normal_mod_SOURCES): Likewise.
44461
44462 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
44463
44464 * include/grub/normal.h (grub_halt_init): New prototype.
44465 (grub_halt_fini): Likewise.
44466 (grub_reboot_init): Likewise.
44467 (grub_reboot_fini): Likewise.
44468
44469 * util/grub-emu.c: Include signal.h.
44470 (main_env): New global variable.
44471 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
44472 catch C-c.
44473 (grub_machine_fini): New function.
44474 (main): Call grub_halt_init and grub_reboot_init before
44475 grub_main, and grub_reboot_fini and grub_halt_fini after it.
44476 Call setjmp with MAIN_ENV to go back afterwards.
44477 Call grub_machine_fini right before return.
44478
44479 * include/grub/util/misc.h: Include setjmp.h.
44480 (main_env): New prototype.
44481
44482 * include/grub/kernel.h (grub_machine_fini): New prototype.
44483 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
44484 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
44485
44486 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
44487 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
44488 * term/i386/pc/console.c (grub_console_fini): Likewise.
44489
44490 * util/i386/pc/misc.c: New file.
44491
44492 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
44493 util/i386/pc/misc.c, commands/i386/pc/halt.c and
44494 commands/i386/pc/reboot.c.
44495
44496 2005-02-14 Guillem Jover <guillem@hadrons.org>
44497
44498 * include/grub/dl.h (grub_dl_check_header): New prototype.
44499 (grub_arch_dl_check_header): Change return type to grub_err_t,
44500 remove size parameter and export function. Update all callers.
44501 * kern/dl.c (grub_dl_check_header): New function.
44502 (grub_dl_load_core): Use `grub_dl_check_header' instead of
44503 `grub_arch_dl_check_header'. Check ELF type. Check if sections
44504 are inside the core.
44505 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
44506 independent ELF header checks.
44507 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
44508 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
44509 `grub_dl_check_header' instead of explicit checks. Check for the
44510 ELF type.
44511 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
44512 `grub_dl_check_header' instead of explicit checks. Remove arch
44513 specific ELF header checks.
44514
44515 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
44516 argument SIZE.
44517
44518 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
44519
44520 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
44521 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
44522
44523 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
44524
44525 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
44526 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
44527 (part_map_iterate): Clear `grub_errno' and return 0 if
44528 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
44529 * partmap/amiga.c (amiga_partition_map_iterate): Return
44530 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
44531 * partmap/apple.c (apple_partition_map_iterate): Likewise.
44532
44533 2005-02-01 Guillem Jover <guillem@hadrons.org>
44534
44535 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
44536 help info.
44537
44538 2005-01-31 Marco Gerards <metgerards@student.han.nl>
44539
44540 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
44541 Removed prototype.
44542 (grub_rescue_cmd_linux): New prototype.
44543 (grub_rescue_cmd_initrd): Likewise.
44544 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
44545 `bi_rec'.
44546 (grub_linux_release_mem): Release the memory for the initrd.
44547 (grub_load_linux): Renamed from this...
44548 (grub_rescue_cmd_linux): ...To this. Changed all callers.
44549 Changed `entry' not to be static. Loop over memory regions to
44550 find another one when the default fails.
44551 (grub_rescue_cmd_initrd): New function.
44552 (grub_linux_init): Remove function.
44553 (grub_linux_fini): Likewise.
44554 (GRUB_MOD_INIT): Register `initrd'.
44555 (GRUB_MOD_FINI): Unregister `initrd'.
44556 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
44557 Function removed.
44558 (grub_linux_normal_fini): Likewise.
44559 (GRUB_MOD_INIT): Register `initrd'.
44560 (GRUB_MOD_FINI): Unregister `initrd'.
44561
44562 2005-01-31 Marco Gerards <metgerards@student.han.nl>
44563
44564 * commands/help.c: New file.
44565 * normal/arg.c (show_help): Renamed to...
44566 (grub_arg_show_help): ... this.
44567 * commands/i386/pc/halt.c: New file.
44568 * commands/i386/pc/reboot.c: Likewise.
44569 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
44570 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
44571 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
44572 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
44573 variables.
44574 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
44575 `commands/help.c'.
44576 (pkgdata_MODULES): Add `help.mod'.
44577 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
44578 * grub/i386/pc/init.h (grub_reboot): New prototype.
44579 (grub_halt): Likewise.
44580 * include/grub/normal.h (grub_arg_show_help): New prototype.
44581 (grub_help_init): Likewise.
44582 (grub_help_fini): Likewise.
44583 * util/grub-emu.c (main): Initialize and deinitialize the help
44584 command.
44585
44586 * normal/cmdline.c (grub_cmdline_get): Doc fix.
44587
44588 * normal/command.c (grub_command_init): Fixed the description of
44589 the `set' and `unset' commands.
44590
44591 2005-01-31 Marco Gerards <metgerards@student.han.nl>
44592
44593 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
44594 function.
44595 * commands/ieee1275/halt.c: New file.
44596 * commands/ieee1275/reboot.c: Likewise.
44597 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
44598 `__attribute__ ((unused))'. Some GCS related fixed.
44599 (grub_suspend_init) [GRUB_UTIL]: Function removed.
44600 (grub_suspend_fini): Likewise.
44601 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
44602 and `halt.mod'.
44603 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
44604 (halt_mod_CFLAGS): New variables.
44605 * include/grub/powerpc/ieee1275/ieee1275.h
44606 (grub_ieee1275_interpret): New prototype.
44607
44608 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
44609
44610 * include/grub/misc.h (memmove): New prototype.
44611 (memcpy): Likewise.
44612
44613 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
44614
44615 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
44616 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
44617
44618 2005-01-22 Marco Gerards <metgerards@student.han.nl>
44619
44620 * kern/misc.c (grub_strndup): Function rewritten.
44621
44622 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
44623
44624 * normal/menu.c (TERM_WIDTH): Macro redefined.
44625 (TERM_TOP_BORDER_Y): Likewise.
44626 (draw_border): Replaced while-loop by a for-loop. Make the number
44627 of lines consistent with the number of lines displayed in
44628 print_entries. Added a margin below the rectangle.
44629 (print_entry): Make the entry fit in the rectangle.
44630 (print_entries): Display the scroll arrows next to the right
44631 border.
44632
44633 2005-01-21 Marco Gerards <metgerards@student.han.nl>
44634
44635 * fs/minix.c (grub_minix_find_file): Reserve more space for
44636 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
44637 `grub_strncpy' to copy `path' into it.
44638
44639 2005-01-21 Marco Gerards <metgerards@student.han.nl>
44640
44641 Add the loopback device, a device via which files can be accessed
44642 as devices.
44643
44644 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
44645 (pkgdata_MODULES): Add loopback.mod.
44646 (loopback_mod_SOURCES): New variable.
44647 (loopback_mod_CFLAGS): Likewise.
44648 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
44649 `disk/loopback.c'.
44650 (pkgdata_MODULES): Add loopback.mod.
44651 (loopback_mod_SOURCES): New variable.
44652 (loopback_mod_CFLAGS): Likewise.
44653 * disk/loopback.c: new file.
44654 * include/grub/normal.h (grub_loop_init): New prototype.
44655 (grub_loop_fini): New prototype.
44656 * util/grub-emu.c (main): Initialize and de-initialize loopback
44657 support.
44658 * include/grub/disk.h (grub_disk_dev_id): Add
44659 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
44660
44661 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
44662
44663 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
44664 function.
44665 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
44666 (suspend_mod_SOURCES): New variable.
44667 (suspend_mod_CFLAGS): Likewise.
44668 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
44669 New prototype.
44670 * commands/ieee1275/suspend.c: New file.
44671
44672 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
44673
44674 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
44675 ((unused))' to `__attribute__ ((used))'.
44676 (GRUB_MOD_FINI): Likewise.
44677 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
44678 * genmk.rb (PModule): Assign space to common symbols when linking
44679 modules.
44680
44681 2005-01-20 Marco Gerards <metgerards@student.han.nl>
44682
44683 * include/grub/mm.h (grub_mm_init_region): Change the type of the
44684 `unsigned' arguments to `grub_size_t'.
44685 (grub_malloc): Likewise.
44686 (grub_realloc): Likewise.
44687 (grub_memalign): Likewise.
44688 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
44689 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
44690 * util/misc.c (grub_malloc): Likewise.
44691 (grub_realloc): Likewise.
44692 * kern/mm.c (get_header_from_pointer): Change the casts to
44693 `unsigned' into a cast to `grub_size_t'.
44694
44695 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
44696 point to `currnode' when `currnode' is changed.
44697
44698 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
44699 Schottelius <nico-linux@schottelius.org>.
44700
44701 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
44702
44703 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
44704 (note_path): Remove variable.
44705 (GRUB_IEEE1275_NOTE_NAME): New macro.
44706 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
44707 (grub_ieee1275_note_hdr): New structure.
44708 (grub_ieee1275_note_desc): Likewise.
44709 (grub_ieee1275_note): Likewise.
44710 (load_note): Remove `dir' argument. All callers updated. Remove
44711 `note_img' and `path'. Do not load a file from `note_path'.
44712 Initialize a struct grub_ieee1275_note and write that to `out'.
44713 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
44714
44715 2005-01-05 Marco Gerards <metgerards@student.han.nl>
44716
44717 * util/misc.c (grub_util_read_image): Revert last change. It
44718 called `grub_util_read_at', which seeks from the beginning of the
44719 file.
44720
44721 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
44722
44723 * TODO: Add note about endianness in grub-mkimage.
44724 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
44725 section.
44726 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
44727 (grub_mkimage_SOURCES): New target.
44728 * include/grub/kernel.h (grub_start_addr): Remove variable.
44729 (grub_end_addr): Likewise.
44730 (grub_total_module_size): Likewise.
44731 (grub_kernel_image_size): Likewise.
44732 (GRUB_MODULE_MAGIC): New constant.
44733 (grub_module_info): New structure.
44734 (grub_arch_modules_addr): New prototype.
44735 (grub_get_end_addr): Remove prototype.
44736 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
44737 * include/grub/powerpc/ieee1275/kernel.h: New file.
44738 * include/grub/util/misc.h (grub_util_get_fp_size): New
44739 prototype.
44740 (grub_util_read_at): Likewise.
44741 (grub_util_write_image_at): Likewise.
44742 * kern/main.c (grub_get_end_addr): Remove function.
44743 (grub_load_modules): Call grub_arch_modules_addr instead of using
44744 grub_end_addr. Look for a grub_module_info struct in memory. Use
44745 the grub_module_info fields instead of calling grub_get_end_addr
44746 as loop conditions. Move grub_add_unused_region code here.
44747 (grub_add_unused_region): Remove function.
44748 * kern/i386/pc/init.c: Include grub/cache.h.
44749 (grub_machine_init): Remove call to grub_get_end_addr. Remove
44750 one call to add_mem_region.
44751 (grub_arch_modules_addr): New function.
44752 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
44753 (grub_total_module_size): Likewise.
44754 Include grub/machine/kernel.h.
44755 (grub_arch_modules_addr): New function.
44756 * util/grub-emu.c (grub_end_addr): Remove variable.
44757 (grub_total_module_size): Likewise.
44758 (grub_arch_modules_addr): New function.
44759 * util/misc.c: Include unistd.h.
44760 (grub_util_get_fp_size): New function.
44761 (grub_util_read_at): Likewise.
44762 (grub_util_write_image_at): Likewise.
44763 (grub_util_read_image): Call grub_util_read_at.
44764 (grub_util_write_image): Call grub_util_write_image_at.
44765 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
44766 additional memory in kernel_img for a struct grub_module_info.
44767 Fill in that grub_module_info.
44768 * util/powerpc/ieee1275/grub-mkimage.c: New file.
44769
44770 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
44771
44772 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
44773 New function.
44774 * include/grub/powerpc/ieee1275/ieee1275.h
44775 (grub_ieee1275_milliseconds): New prototype.
44776 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
44777 Change to 1000.
44778 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
44779 grub_ieee1275_milliseconds.
44780
44781 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
44782
44783 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
44784 variable.
44785 (find_options): New function.
44786 (cmain): Call find_options.
44787 * include/grub/powerpc/ieee1275/ieee1275.h
44788 (grub_ieee1275_realmode): New extern variable.
44789 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
44790 grub_map if grub_ieee1275_realmode is false.
44791
44792 2004-12-29 Marco Gerards <metgerards@student.han.nl>
44793
44794 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
44795 lines are inserted and make it work like readline. Reported by
44796 Vincent Pelletier <subdino2004@yahoo.fr>.
44797
44798 2004-12-28 Marco Gerards <metgerards@student.han.nl>
44799
44800 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
44801
44802 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
44803 `kern/powerpc/cache.S'.
44804
44805 2004-12-27 Marco Gerards <metgerards@student.han.nl>
44806
44807 * genmk.rb: Handle the `Program' class in the main loop. Written
44808 by Johan Rydberg <jrydberg@gnu.org>.
44809 (Program): New class.
44810 (programs): New variable.
44811 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
44812 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
44813 instead of "grub/kernel.h". Include <grub/machine/init.h>.
44814 (help_arch): Function removed.
44815 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
44816 `powerpc/libgcc.h' and `loader.h'.
44817 (pkgdata_PROGRAMS): New variable.
44818 (sbin_UTILITIES): Variable removed.
44819 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
44820 (grubof_SOURCES): Variable re-defined so it only includes the
44821 core functionality.
44822 (grubof_CFLAGS): Remove `-DGRUBOF'.
44823 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
44824 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
44825 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
44826 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
44827 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
44828 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
44829 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
44830 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
44831 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
44832 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
44833 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
44834 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
44835 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
44836 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
44837 (pc_mod_CFLAGS): New variables.
44838 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
44839 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
44840 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
44841 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
44842 Moved from here...
44843 * include/grub/i386/pc/init.h (grub_os_area_addr)
44844 (rub_os_area_size): ... to here.
44845 * include/grub/powerpc/ieee1275/ieee1275.h
44846 (grub_ieee1275_entry_fn): Export symbol.
44847 * include/grub/powerpc/ieee1275/init.h: New file.
44848 * include/grub/powerpc/libgcc.h: Likewise.
44849 * include/grub/cache.h: Likewise.
44850 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
44851 <hollis@penguinppc.org>.
44852 * kern/dl.c: Include <grub/cache.h>.
44853 (grub_dl_flush_cache): New function.
44854 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
44855 for this module.
44856 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
44857 (grub_console_init): Removed prototypes.
44858 (grub_machine_init): Don't initialize the modules anymore.
44859 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
44860 static.
44861 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
44862 Macro undef removed.
44863 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
44864 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
44865 relocation `R_PPC_REL32'. Return an error when the relocation is
44866 unknown.
44867 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
44868 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
44869 * util/misc.c (grub_arch_sync_caches): Likewise.
44870
44871 2004-12-19 Marco Gerards <metgerards@student.han.nl>
44872
44873 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
44874 `symlist.c', add `grubof_symlist.c'.
44875 (symlist.c): Variable removed.
44876 (grubof_HEADERS): Variable added.
44877 (grubof_symlist.c): New target.
44878 (kernel_syms.lst): Use `grubof_HEADERS' instead of
44879 `kernel_img_HEADERS'.
44880 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
44881 * kern/powerpc/dl.c: New file.
44882 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
44883 Function removed.
44884 (grub_arch_dl_relocate_symbols): Likewise.
44885 (grub_register_exported_symbols): Likewise.
44886
44887 2004-12-13 Marco Gerards <metgerards@student.han.nl>
44888
44889 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
44890 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
44891 to fail instead. Reported by Vincent Pelletier
44892 <subdino2004@yahoo.fr>.
44893
44894 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
44895 it is not allocated. Reported by Vincent Pelletier
44896 <subdino2004@yahoo.fr>.
44897
44898 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
44899 output so the output looks better.
44900
44901 2004-12-04 Marco Gerards <metgerards@student.han.nl>
44902
44903 Modulize the partition map support and add support for the amiga
44904 partition map.
44905
44906 * commands/ls.c: Include <grub/partition.h> instead of
44907 <grub/machine/partition.h>.
44908 * kern/disk.c: Likewise.
44909 * kern/rescue.c: Likewise.
44910 * loader/i386/pc/chainloader.c: Likewise.
44911 * normal/cmdline.c: Likewise.
44912 * kern/powerpc/ieee1275/init.c: Likewise.
44913 (grub_machine_init): Call `grub_pc_partition_map_init',
44914 `grub_amiga_partition_map_init' and
44915 `grub_apple_partition_map_init'.
44916 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
44917 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
44918 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
44919 `partition.h' and `pc_partition.h'.
44920 (grub_setup_SOURCES): Remove
44921 `disk/i386/pc/partition.c'. Add `kern/partition.c',
44922 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
44923 (grub_emu_SOURCES): Likewise.
44924 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
44925 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
44926 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
44927 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
44928 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
44929 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
44930 (grubof_SOURCES): Likewise.
44931 * disk/i386/pc/partition.c: File removed.
44932 * disk/powerpc/ieee1275/partition.c: Likewise.
44933 * include/grub/powerpc/ieee1275/partition.h: Likewise.
44934 * include/grub/i386/pc/partition.h: Likewise.
44935 * kern/partition.c: New file.
44936 * partmap/amiga.c: Likewise.
44937 * partmap/apple.c: Likewise.
44938 * partmap/pc.c: Likewise.
44939 * include/grub/partition.h: Likewise..
44940 * include/grub/pc_partition.h: Likewise.
44941 * util/grub-emu.c: Include <grub/partition.h> instead of
44942 <grub/machine/partition.h>.
44943 (main): Call `grub_pc_partition_map_init',
44944 `grub_amiga_partition_map_init' and
44945 `grub_apple_partition_map_init' and deinitialize afterwards.
44946 * util/i386/pc/biosdisk.c: Include `#include
44947 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
44948 `<grub/machine/partition.h>'.
44949 * util/i386/pc/grub-setup.c: Likewise.
44950 * util/i386/pc/biosdisk.c: Likewise.
44951 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
44952 partition information in case of a PC partition.
44953 * util/i386/pc/grub-setup.c: Include `#include
44954 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
44955 `<grub/machine/partition.h>'.
44956 (setup): Only access the PC specific partition information in case
44957 of a PC partition.
44958
44959 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
44960
44961 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
44962 (grub_longjmp): Likewise.
44963 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
44964 20.
44965 * normal/powerpc/setjmp.S: New file.
44966 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
44967 `normal/powerpc/setjmp.S'.
44968 (grubof_CFLAGS): Add `-DGRUBOF'.
44969 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
44970 [GRUB_UTIL && !GRUBOF].
44971
44972 2004-11-16 Marco Gerards <metgerards@student.han.nl>
44973
44974 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
44975 property named `name'. Correctly handle the error returned by
44976 `grub_ieee1275_finddevice' if a device can not be opened.
44977
44978 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
44979
44980 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
44981 `actual' for negativity.
44982 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
44983 kern/fshelp.c.
44984
44985 2004-11-01 Marco Gerards <metgerards@student.han.nl>
44986
44987 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
44988 (PAGE_OFFSET): New macro.
44989 (CRTC_ADDR_PORT): Likewise.
44990 (CRTC_DATA_PORT): Likewise.
44991 (START_ADDR_HIGH_REGISTER): Likewise.
44992 (START_ADDR_LOW_REGISTER): Likewise.
44993 (GRAPHICS_ADDR_PORT): Likewise.
44994 (GRAPHICS_DATA_PORT): Likewise.
44995 (READ_MAP_REGISTER): Likewise.
44996 (INPUT_STATUS1_REGISTER): Likewise.
44997 (INPUT_STATUS1_VERTR_BIT): Likewise.
44998 (page): New variable.
44999 (wait_vretrace): New function.
45000 (set_read_map): Likewise.
45001 (set_start_address): Likewise.
45002 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
45003 the right page.
45004 (check_vga_mem): Take the page into account.
45005 (write_char): Likewise.
45006 (write_cursor): Likewise.
45007 (scroll_up): Likewise. Copy the page to the page that is not
45008 shown and switch between both pages.
45009 (grub_vga_putchar): Fix off by one error.
45010 (grub_vga_cls): Wait for the vertical retrace. Take the page into
45011 account.
45012
45013 2004-11-01 Marco Gerards <metgerards@student.han.nl>
45014
45015 Add support for iso9660 (including rockridge).
45016
45017 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
45018 (iso9660_mod_SOURCES): New variable.
45019 (iso9660_mod_CFLAGS): Likewise.
45020 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
45021 * include/grub/fs.h (grub_iso9660_init): New prototype.
45022 * util/grub-emu.c (main): Call `grub_iso9660_init'.
45023 * fs/iso9660.c: New file.
45024
45025 * include/grub/misc.h (grub_strncat): New prototype.
45026 * kern/misc.c (grub_strncat): New function.
45027
45028 * fs/hfs.c (grub_hfs_mount): Translate the error
45029 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
45030 * fs/jfs.c (grub_jfs_mount): Likewise.
45031 * fs/ufs.c (grub_ufs_mount): Likewise.
45032
45033 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
45034
45035 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
45036 which initialized BAT registers.
45037 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
45038 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
45039 Move from here...
45040 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
45041 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
45042 ... to here.
45043 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
45044 (grub_mapclaim): Likewise.
45045 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
45046 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
45047 hand.
45048
45049 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
45050
45051 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
45052 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
45053 -ffreestanding and -msoft-float.
45054
45055 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
45056
45057 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
45058 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
45059 set in grub_ieee1275_flags.
45060
45061 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
45062
45063 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
45064 prototype.
45065 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
45066 grub_console_init first.
45067 Change the memory range used for grub_ieee1275_claim and
45068 grub_mm_init_region.
45069 Print an error message if the claim fails.
45070 Include <grub/misc.h>.
45071
45072 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
45073
45074 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
45075 Call grub_children_iterate for device nodes of type `scsi',
45076 `ide', or `ata'.
45077 (grub_ofdisk_open): Remove manual device alias resolution.
45078 Fix memory leak when device cannot be opened.
45079 * include/grub/powerpc/ieee1275/ieee1275.h
45080 (grub_children_iterate): New prototype.
45081 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
45082 New function.
45083 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
45084 Return -1 if args.size was -1.
45085
45086 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
45087
45088 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
45089 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
45090 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
45091 Open Firmware's memory for it; claim memory from _start to _end.
45092 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
45093 (_end): New extern.
45094 (_start): Zero BSS from __bss_start to _end.
45095 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
45096 New extern.
45097 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
45098
45099 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
45100
45101 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
45102 -1 if args.base was -1.
45103
45104 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
45105
45106 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
45107 escape sequence instead of a literal ^L. Also call
45108 grub_ofconsole_gotoxy.
45109
45110 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
45111
45112 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
45113 void * arguments to grub_addr_t. All callers updated. Also make
45114 the `result' argument optional.
45115 (grub_ieee1275_release): change void * arguments to grub_addr_t.
45116 All callers updated.
45117
45118 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
45119
45120 * commands/ls.c (grub_ls_list_files): Use the string following the
45121 initial ')', if present, as the filesystem path.
45122 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
45123
45124 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
45125
45126 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
45127
45128 Make the source code of the menu interface more readable.
45129
45130 * normal/menu.c: Include grub/mm.h.
45131 (TERM_WIDTH): New macro.
45132 (TERM_HEIGHT): Likewise.
45133 (TERM_INFO_HEIGHT): Likewise.
45134 (TERM_MARGIN): Likewise.
45135 (TERM_SCROLL_WIDTH): Likewise.
45136 (TERM_TOP_BORDER_Y): Likewise.
45137 (TERM_LEFT_BORDER_X): Likewise.
45138 (TERM_BORDER_WIDTH): Likewise.
45139 (TERM_MESSAGE_HEIGHT): Likewise.
45140 (TERM_BORDER_HEIGHT): Likewise.
45141 (TERM_NUM_ENTRIES): Likewise.
45142 (TERM_FIRST_ENTRY_Y): Likewise.
45143 (TERM_ENTRY_WIDTH): Likewise.
45144 (TERM_CURSOR_X): Likewise.
45145 (draw_border): Use macros instead of magic numbers.
45146 (print_entry): Likewise.
45147 (print_entries): Likewise.
45148 (run_menu): Likewise. Also, handle the key 'e'.
45149 (run_menu_entry): Ignore empty command lines.
45150 (print_message): Added a new argument EDIT. If EDIT is true,
45151 print a different message.
45152 (init_page): Likewise.
45153 (edit_menu_entry): New function. Not implemented yet.
45154
45155 2004-09-17 Marco Gerards <metgerards@student.han.nl>
45156
45157 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
45158 can be loaded from normal mode.
45159
45160 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
45161 `multiboot.mod'.
45162 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
45163 (multiboot_mod_CFLAGS): New variables.
45164 * loader/i386/pc/linux_normal.c: New file.
45165 * loader/i386/pc/multiboot_normal.c: Likewise.
45166
45167 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
45168 attribute `unused'.
45169
45170 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
45171 `fdiro' to read the mode information from instead of `diro'.
45172
45173 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
45174 looking up a symlink.
45175
45176 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
45177 macro.
45178 * normal/command.c (grub_command_execute): Don't parse the
45179 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
45180 flags of the command.
45181
45182 * normal/menu.c (grub_menu_run): Fix typo.
45183
45184 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
45185
45186 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
45187
45188 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
45189 `y + 1' instead of `y - 1'.
45190
45191 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
45192
45193 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
45194
45195 From Hollis Blanchard <hollis@penguinppc.org>:
45196 * kern/misc.c (memmove): New alias for grub_memmove.
45197 (memcmp): New alias for grub_memcmp.
45198 (memset): New alias for grub_memset.
45199 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
45200 Change "int handle" to "grub_ieee1275_phandle_t handle".
45201 * include/grub/powerpc/ieee1275/ieee1275.h
45202 (grub_ieee1275_get_property): Likewise.
45203
45204 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
45205
45206 Added normal mode command `chainloader' as module chain.mod, which
45207 depends on normal.mod and _chain.mod.
45208
45209 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
45210 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
45211 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
45212 Deleted prototype.
45213 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
45214 but arguments parsing moved to ...
45215 (grub_chainloader_cmd): ... here. New function.
45216 * include/grub/i386/pc/chainloader.h: New file.
45217 * loader/i386/pc/chainloader_normal.c: Likewise.
45218
45219 2004-09-11 Marco Gerards <metgerards@student.han.nl>
45220
45221 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
45222 (grub_mkimage_LDFLAGS): Likewise.
45223 (grub_emu_SOURCES): Likewise.
45224 (kernel_img_HEADERS): Added fshelp.h.
45225 * fs/ext2.c: Include <grub/fshelp.h>.
45226 (FILETYPE_REG): New macro.
45227 (FILETYPE_INO_REG): Likewise.
45228 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
45229 Changed all users.
45230 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
45231 all users.
45232 (grub_fshelp_node): New struct.
45233 (grub_ext2_data): Added member `diropen'. Changed member `inode'
45234 to a pointer.
45235 (grub_ext2_get_file_block): Removed function.
45236 (grub_ext2_read_block): New function.
45237 (grub_ext2_read_file): Replaced parameter `data' by `node'.
45238 This function was written.
45239 (grub_ext2_mount): Read the root inode. Create a diropen struct.
45240 (grub_ext2_find_file): Removed function.
45241 (grub_ext2_read_symlink): New function.
45242 (grub_ext2_iterate_dir): Likewise.
45243 (grub_ext2_open): Rewritten.
45244 (grub_ext2_dir): Rewritten.
45245 * include/grub/fshelp.h: New file.
45246 * fs/fshelp.c: Likewise.
45247
45248 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
45249
45250 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
45251 (print_message): Add a missing newline.
45252 (run_menu): Added timeout support.
45253 (run_menu_entry): New local function.
45254 (grub_menu_run): Added support for booting.
45255
45256 * kern/loader.c (grub_loader_is_loaded): New function.
45257
45258 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
45259 (grub_get_rtc): Exported.
45260
45261 * include/grub/i386/pc/time.h: Include grub/symbol.h.
45262 (grub_get_rtc): Exported.
45263
45264 * include/grub/normal.h (struct grub_command_list): Remove
45265 constant from the member `command'.
45266
45267 * include/grub/loader.h (grub_loader_is_loaded): Declared.
45268
45269 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
45270
45271 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
45272
45273 2004-08-28 Marco Gerards <metgerards@student.han.nl>
45274
45275 Add support for the JFS filesystem.
45276
45277 * fs/jfs.c: New file.
45278 * include/grub/fs.h (grub_jfs_init): New prototype.
45279 (grub_jfs_fini): New prototype.
45280 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
45281 (grub_emu_SOURCES): Likewise.
45282 (pkgdata_MODULES): Add jfs.mod.
45283 (jfs_mod_SOURCES): New variable.
45284 (jfs_mod_CFLAGS): Likewise.
45285 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
45286 (grubof_SOURCES): Likewise.
45287 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
45288
45289 * fs/fat.c (grub_fat_find_dir): Convert the filename little
45290 endian to the host endian.
45291 (grub_fat_utf16_to_utf8): Move function from there...
45292 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
45293 the endianness of the source string anymore.
45294 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
45295
45296 2004-08-24 Marco Gerards <metgerards@student.han.nl>
45297
45298 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
45299 (grub_boot_fini) [GRUB_UTIL]: Likewise.
45300 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
45301 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
45302
45303 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
45304 (grub_hfs_iterate_dir): Make the function static. Add prototypes
45305 for `node_found' and `it_dir'.
45306 (grub_hfs_dir): Add prototype for `dir_hook'.
45307
45308 * fs/minix.c (grub_minix_get_file_block): Add prototype for
45309 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
45310 and `indir32' to silence a gcc warning.
45311
45312 * include/grub/fs.h (grub_hfs_init): New prototype.
45313 (grub_hfs_fini): Likewise.
45314
45315
45316 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
45317
45318 Each disk device has its own id now. This is useful to make use
45319 of multiple disk devices.
45320
45321 * include/grub/disk.h (grub_disk_dev_id): New enum.
45322 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
45323 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
45324
45325 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
45326 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
45327
45328 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
45329 GRUB_DISK_DEVICE_OFDISK_ID as an id.
45330
45331 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
45332 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
45333
45334 * include/grub/disk.h (struct grub_disk_dev): Added a new member
45335 "id" which is used by the cache manager.
45336
45337 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
45338 of just "GRUB".
45339
45340 2004-08-18 Marco Gerards <metgerards@student.han.nl>
45341
45342 * fs/hfs.c: New file.
45343 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
45344 (grub_emu_SOURCES): Likewise.
45345 (pkgdata_MODULES): Add hfs.mod.
45346 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
45347 (grubof_SOURCES): Likewise.
45348 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
45349
45350 * include/grub/misc.h (grub_strncasecmp): Add prototype.
45351 * kern/misc.c (grub_strncasecmp): Add function.
45352
45353 2004-08-14 Marco Gerards <metgerards@student.han.nl>
45354
45355 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
45356 with parentheses.
45357
45358 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
45359 (grub_ext2_dir): In case the directory entry type is unknown, read
45360 it from the inode.
45361
45362 2004-08-02 Peter Bruin <pjbruin@dds.nl>
45363
45364 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
45365 grub_load_linux instead of grub_rescue_cmd_linux as second
45366 argument of grub_rescue_register_command.
45367
45368 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
45369
45370 2004-07-27 Marco Gerards <metgerards@student.han.nl>
45371
45372 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
45373 function.
45374 * commands/boot.c: Remove the check for `GRUB_UTIL'.
45375 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
45376 `loader/powerpc/ieee1275/linux.c',
45377 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
45378 * include/grub/powerpc/ieee1275/ieee1275.h
45379 (grub_ieee1275_release): New prototype.
45380 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
45381 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
45382 normal, boot, linux and linux_normal.
45383 * loader/powerpc/ieee1275/linux.c: New file.
45384 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
45385
45386 2004-07-12 Marco Gerards <metgerards@student.han.nl>
45387
45388 * normal/arg.c (grub_arg_parse): Correct error handling after
45389 reallocating the argumentlist (check if `argl' is not null instead
45390 of checking if `args' is not null).
45391 * kern/mm.c (grub_realloc): Return the same pointer when using the
45392 same region, instead of returning the header address.
45393
45394 2004-07-11 Marco Gerards <metgerards@student.han.nl>
45395
45396 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
45397 one block instead of two when looking for the initial partition.
45398 (grub_partition_probe): Initialize the local variable `p' with 0.
45399 Use base 10 for the grub_strtoul call.
45400 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
45401 need for one local variable.
45402 (grub_strtoul): Don't add the new value to `num', instead of that
45403 just assign it.
45404
45405 2004-07-11 Marco Gerards <metgerards@student.han.nl>
45406
45407 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
45408 (pxeboot_img_SOURCES): New variable.
45409 (pxeboot_img_ASFLAGS): Likewise.
45410 (pxeboot_img_LDFLAGS): Likewise.
45411 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
45412 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
45413 <lode_leroy@hotmail.com>.
45414
45415 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
45416
45417 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
45418 there was no input.
45419
45420 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
45421
45422 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
45423 the history buffer logic.
45424
45425 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
45426
45427 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
45428 (FILETYPE_INO_SYMLINK): New macros.
45429 (grub_ext2_find_file): Check if the node is a directory using the
45430 inode stat information instead of using the filetype in the
45431 dirent. Exclude the first character of an absolute symlink.
45432 (grub_ext2_dir): Mask out the filetype part of the mode member of
45433 the inode.
45434
45435 2004-05-24 Marco Gerards <metgerards@student.han.nl>
45436
45437 Add support for UFS version 1 and 2. Add support for the minix
45438 filesystem version 1 and 2, both the variants with 14 and 30 long
45439 filenames.
45440
45441 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
45442 fs/minix.c.
45443 (grub_emu_SOURCES): Likewise.
45444 (pkgdata_MODULES): Add ufs.mod and minix.mod.
45445 (ufs_mod_SOURCES): New variable.
45446 (ufs_mod_CFLAGS): Likewise.
45447 (minix_mod_SOURCES): Likewise.
45448 (minix_mod_CFLAGS): Likewise.
45449 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
45450 fs/minix.c.
45451 (grubof_SOURCES): Likewise.
45452 * fs/ufs.c: New file.
45453 * fs/minix.c: New file.
45454 * include/grub/fs.h (grub_ufs_init): New prototype.
45455 (grub_ufs_fini): Likewise.
45456 (grub_minix_init): Likewise.
45457 (grub_minix_fini): Likewise.
45458 * util/grub-emu.c (main): Initialize and deinitialize UFS and
45459 minix fs.
45460
45461 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
45462
45463 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
45464 commands/ls.c, commands/terminal.c, commands/boot.c,
45465 commands/cmp.c and commands/cat.c.
45466 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
45467
45468 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
45469 "env.h"
45470
45471 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
45472
45473 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
45474 and grub_, respectively. Because the conversion is trivial and
45475 mechanical, I omit the details here. Please refer to the CVS
45476 if you need more information.
45477
45478 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
45479
45480 * include/pupa: Renamed to ...
45481 * include/grub: ... this.
45482 * util/i386/pc/pupa-mkimage.c: Renamed to ...
45483 * util/i386/pc/grub-mkimage.c: ... this.
45484 * util/i386/pc/pupa-setup.c: Renamed to ...
45485 * util/i386/pc/grub-setup.c: ... this.
45486 * util/pupa-emu.c: Renamed to ...
45487 * util/grub-emu.c: ... this.
45488
45489 2004-03-29 Marco Gerards <metgerards@student.han.nl>
45490
45491 Add support for the newworld apple macintosh (PPC). This has been
45492 tested on the powerbook 2000 only. It only adds support for
45493 generic ieee1275 functions, console and disk support. This should
45494 be easy to port to other architectures with support for Open
45495 Firmware.
45496
45497 * configure.ac: Accept the powerpc as host_cpu. In the case of
45498 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
45499 specific tests are only executed while building for the i386.
45500 Inverse test for crosscompile.
45501 * genmk.rb (Utility): Allow assembler files.
45502 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
45503 * conf/powerpc-ieee1275.rmk: New file.
45504 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
45505 * disk/powerpc/ieee1275/partition.c: Likewise.
45506 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
45507 * include/pupa/powerpc/ieee1275/console.h: Likewise.
45508 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
45509 * include/pupa/powerpc/ieee1275/time.h: Likewise.
45510 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
45511 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
45512 * include/pupa/powerpc/ieee1275/loader.h
45513 * include/pupa/powerpc/setjmp.h: Likewise.
45514 * include/pupa/powerpc/types.h: Likewise.
45515 * kern/powerpc/ieee1275/init.c: Likewise.
45516 * kern/powerpc/ieee1275/openfw.c: Likewise.
45517 * term/powerpc/ieee1275/ofconsole.c: Likewise.
45518
45519 These files were written by Johan Rydberg
45520 (jrydberg@night.trouble.net) and I only modified them slightly.
45521
45522 * boot/powerpc/ieee1275/cmain.c: New file.
45523 * boot/powerpc/ieee1275/crt0.S: Likewise.
45524 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
45525 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
45526
45527 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
45528
45529 * Makefile.in: Update copyright.
45530 * genmodsrc.sh: Likewise.
45531 * gensymlist.sh: Likewise.
45532 * term/i386/pc/vga.c: Indent correctly.
45533
45534 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
45535 bugreporting address.
45536 * util/i386/pc/pupa-setup.c (usage): Likewise,
45537 (main): Call pupa_ext2_init and pupa_ext2_fini.
45538
45539 * fs/fat.c (log2): Renamed to ...
45540 (fat_log2): ... this.
45541 All callers changed.
45542 * kern/misc.c (memcpy): Alias to pupa_memmove.
45543 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
45544 lvalue cast.
45545 * util/console.c (pupa_ncurses_fini): Return 0.
45546
45547 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
45548 Move fail label here.
45549 [__GNU__]: Don't warn when using stat.
45550 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
45551 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
45552 long int. Use strtol instead of strtoul.
45553
45554 2004-03-14 Marco Gerards <metgerards@student.han.nl>
45555
45556 * commands/boot.c: New file.
45557 * commands/cat.c: Likewise.
45558 * commands/cmp.c: Likewise.
45559 * commands/ls.c: Likewise.
45560 * commands/terminal.c: Likewise.
45561 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
45562 (pupa_register_command): Changed interface to match the new
45563 argument parser.
45564 (pupa_command_execute): Changed (almost rewritten) so it uses
45565 pupa_split_command. Added support for setting variables using the
45566 syntax `foo=bar'.
45567 (rescue_command): Changed to work with the new argument parser.
45568 (terminal_command): Moved from here to commands/terminal.c.
45569 (set_command): New function.
45570 (unset_command): New function.
45571 (insmod_command): New function.
45572 (rmmod_command): New function.
45573 (lsmod_command): New function.
45574 (pupa_command_init): Don't initialize the command terminal
45575 anymore. Initialize the commands set, unset, insmod, rmmod and
45576 lsmod.
45577 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
45578 (kernel_img_HEADERS): Add arg.h and env.h.
45579 (pupa_mkimage_LDFLAGS): Add kern/env.c.
45580 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
45581 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
45582 normal/arg.c.
45583 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
45584 terminal.mod.
45585 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
45586 (boot_mod_SOURCES): New variable.
45587 (terminal_mod_SOURCES): Likewise.
45588 (ls_mod_SOURCES): Likewise.
45589 (cmp_mod_SOURCES): Likewise.
45590 (cat_mod_SOURCES): Likewise.
45591
45592 * normal/arg.c: New file.
45593 * kern/env.c: Likewise.
45594 * include/pupa/arg.h: Likewise.
45595 * include/pupa/env.h: Likewise.
45596 * font/manager.c (font_command): Changed to match argument parsing
45597 interface changes.
45598 (PUPA_MOD_INIT): Likewise.
45599 * hello/hello.c (pupa_cmd_hello): Likewise.
45600 (PUPA_MOD_INIT): Likewise.
45601 * include/pupa/disk.h: Include <pupa/device.h>.
45602 (pupa_print_partinfo): New prototype.
45603 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
45604 (pupa_dl_get_prefix): Likewise.
45605 * include/pupa/misc.h: Include <pupa/err.h>.
45606 (pupa_isgraph): New prototype.
45607 (pupa_isdigit): Likewise.
45608 (pupa_split_cmdline): Likewise.
45609 * include/pupa/normal.h: Include <pupa/arg.h>.
45610 (pupa_command): Changed the prototype of the member `func' to
45611 match the argument parsing interface. Added member `options'.
45612 (pupa_register_command): Updated to match function.
45613 (pupa_arg_parse): New prototype.
45614 (pupa_hello_init) [PUPA_UTIL]: New prototype.
45615 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
45616 (pupa_ls_init) [PUPA_UTIL]: Likewise.
45617 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
45618 (pupa_cat_init) [PUPA_UTIL]: Likewise.
45619 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
45620 (pupa_boot_init) [PUPA_UTIL]: Likewise.
45621 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
45622 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
45623 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
45624 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
45625 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
45626 * kern/disk.c: Include <pupa/file.h>.
45627 (pupa_print_partinfo): New function.
45628 * kern/dl.c: Include <pupa/env.h>.
45629 (pupa_dl_dir): Variable removed.
45630 (pupa_dl_load): Use the environment variable `prefix' instead of
45631 the variable pupa_dl_dir.
45632 (pupa_dl_set_prefix): Function removed.
45633 (pupa_dl_get_prefix): Likewise.
45634 * kern/i386/pc/init.c: Include <pupa/env.h>.
45635 (pupa_machine_init): Use the environment variable `prefix' instead of
45636 using pupa_dl_set_prefix to set the prefix.
45637 * kern/main.c: Include <pupa/env.h>.
45638 (pupa_set_root_dev): Use the environment variable `prefix' instead of
45639 using pupa_dl_get_prefix to get the prefix.
45640 * kern/misc.c: Include <pupa/env.h>.
45641 (pupa_isdigit): New function.
45642 (pupa_isgraph): Likewise.
45643 (pupa_ftoa): Likewise.
45644 (pupa_vsprintf): Added support for printing values of the type
45645 `double'. Make it possible to format variable output when using
45646 formatting like `%1.2%f'.
45647 (pupa_split_cmdline): New function.
45648 * kern/rescue.c: Include <pupa/env.h>.
45649 (next_word): Removed function.
45650 (pupa_rescue_cmd_prefix): Likewise.
45651 (pupa_rescue_cmd_set): New function.
45652 (pupa_rescue_cmd_unset): New function.
45653 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
45654 split the command line instead of splitting it here. Added
45655 support for setting variables using the syntax `foo=bar'. Don't
45656 initialize the prefix command anymore. Initialized the set and
45657 unset commands.
45658 * normal/cmdline.c: Include <pupa/env.h>.
45659 (pupa_tab_complete): Added prototypes for print_simple_completion,
45660 print_partition_completion, add_completion, iterate_commands,
45661 iterate_dev, iterate_part and iterate_dir. Moved code to print
45662 partition information from here to kern/disk.c.
45663 (pupa_cmdline_run): Don't check if the function exists anymore.
45664 * normal/main.c: Include <pupa/env.h>.
45665 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
45666 instead of using pupa_dl_get_prefix to get the prefix.
45667 * term/i386/pc/vga.c: Include <pupa/arg.h>.
45668 (check_vga_mem): Cast pointers to `void *' to silence a gcc
45669 warning.
45670 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
45671 (pupa_vga_setcolor): Declare unused variables with `__attribute__
45672 ((unused))' to silence a gcc warning.
45673 (pupa_vga_setcolor): Likewise.
45674 (debug_command): Changed to match argument parsing
45675 interface changes.
45676 * util/pupa-emu.c: Include <pupa/env.h>.
45677 (options): Added 0's for unused fields to silence a gcc warning.
45678 (argp): Likewise.
45679 (main): Use the environment variable `prefix' instead of using
45680 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
45681 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
45682 and terminal.
45683
45684 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
45685 * util/misc.c: Include <malloc.h>.
45686 (pupa_malloc): Rewritten so errors are correctly reported.
45687 (pupa_realloc): Likewise.
45688 (pupa_memalign): Likewise.
45689 (pupa_mm_init_region): Declare unused variables with
45690 `__attribute__ ((unused))' to silence a gcc warning.
45691 * normal/i386/setjmp.S: Remove tab at the end of the file to
45692 silence a gcc warning.
45693 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
45694 variables with `__attribute__ ((unused))' to silence a gcc
45695 warning.
45696 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
45697 local variable i unsigned to silence a gcc warning.
45698
45699 * kern/term.c: Include <pupa/misc.h>.
45700 (pupa_more_lines): New variable.
45701 (pupa_more): Likewise.
45702 (pupa_putcode): When the pager is active pause at the end of every
45703 screen.
45704 (pupa_set_more): New function.
45705 * include/pupa/term.h (pupa_set_more): New prototype.
45706
45707
45708 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
45709
45710 Now this project is GRUB 2 rather than PUPA. The location of
45711 the CVS repository was moved to GRUB's.
45712
45713 * configure.ac: Use bug-grub as the reporting address.
45714 Use GRUB instead of PUPA.
45715 Change the version number to 1.90.
45716
45717 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
45718
45719 * genkernsyms.sh: Updated copyright information.
45720 * genmk.rb: Likewise.
45721 * genmodsrc.sh: Likewise.
45722 * gensymlist.sh: Likewise.
45723 * boot/i386/pc/boot.S: Likewise.
45724 * boot/i386/pc/diskboot.S: Likewise.
45725 * disk/i386/pc/biosdisk.c: Likewise.
45726 * disk/i386/pc/partition.c: Likewise.
45727 * font/manager.c: Likewise.
45728 * fs/ext2.c: Likewise.
45729 * fs/fat.c: Likewise.
45730 * include/pupa/boot.h: Likewise.
45731 * include/pupa/device.h: Likewise.
45732 * include/pupa/disk.h: Likewise.
45733 * include/pupa/dl.h: Likewise.
45734 * include/pupa/elf.h: Likewise.
45735 * include/pupa/err.h: Likewise.
45736 * include/pupa/file.h: Likewise.
45737 * include/pupa/font.h: Likewise.
45738 * include/pupa/fs.h: Likewise.
45739 * include/pupa/kernel.h: Likewise.
45740 * include/pupa/loader.h: Likewise.
45741 * include/pupa/misc.h: Likewise.
45742 * include/pupa/mm.h: Likewise.
45743 * include/pupa/net.h: Likewise.
45744 * include/pupa/normal.h: Likewise.
45745 * include/pupa/rescue.h: Likewise.
45746 * include/pupa/setjmp.h: Likewise.
45747 * include/pupa/symbol.h: Likewise.
45748 * include/pupa/term.h: Likewise.
45749 * include/pupa/types.h: Likewise.
45750 * include/pupa/i386/setjmp.h: Likewise.
45751 * include/pupa/i386/types.h: Likewise.
45752 * include/pupa/i386/pc/biosdisk.h: Likewise.
45753 * include/pupa/i386/pc/boot.h: Likewise.
45754 * include/pupa/i386/pc/console.h: Likewise.
45755 * include/pupa/i386/pc/init.h: Likewise.
45756 * include/pupa/i386/pc/kernel.h: Likewise.
45757 * include/pupa/i386/pc/linux.h: Likewise.
45758 * include/pupa/i386/pc/loader.h: Likewise.
45759 * include/pupa/i386/pc/memory.h: Likewise.
45760 * include/pupa/i386/pc/multiboot.h: Likewise.
45761 * include/pupa/i386/pc/partition.h: Likewise.
45762 * include/pupa/i386/pc/time.h: Likewise.
45763 * include/pupa/i386/pc/vga.h: Likewise.
45764 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
45765 * include/pupa/util/getroot.h: Likewise.
45766 * include/pupa/util/misc.h: Likewise.
45767 * include/pupa/util/resolve.h: Likewise.
45768 * kern/device.c: Likewise.
45769 * kern/disk.c: Likewise.
45770 * kern/dl.c: Likewise.
45771 * kern/err.c: Likewise.
45772 * kern/file.c: Likewise.
45773 * kern/fs.c: Likewise.
45774 * kern/loader.c: Likewise.
45775 * kern/main.c: Likewise.
45776 * kern/misc.c: Likewise.
45777 * kern/mm.c: Likewise.
45778 * kern/rescue.c: Likewise.
45779 * kern/term.c: Likewise.
45780 * kern/i386/dl.c: Likewise.
45781 * kern/i386/pc/init.c: Likewise.
45782 * kern/i386/pc/lzo1x.S: Likewise.
45783 * kern/i386/pc/startup.S: Likewise.
45784 * loader/i386/pc/chainloader.c: Likewise.
45785 * loader/i386/pc/linux.c: Likewise.
45786 * loader/i386/pc/multiboot.c: Likewise.
45787 * normal/cmdline.c: Likewise.
45788 * normal/command.c: Likewise.
45789 * normal/main.c: Likewise.
45790 * normal/menu.c: Likewise.
45791 * normal/i386/setjmp.S: Likewise.
45792 * term/i386/pc/console.c: Likewise.
45793 * term/i386/pc/vga.c: Likewise.
45794 * util/console.c: Likewise.
45795 * util/genmoddep.c: Likewise.
45796 * util/misc.c: Likewise.
45797 * util/pupa-emu.c: Likewise.
45798 * util/resolve.c: Likewise.
45799 * util/unifont2pff.rb: Likewise.
45800 * util/i386/pc/biosdisk.c: Likewise.
45801 * util/i386/pc/getroot.c: Likewise.
45802 * util/i386/pc/pupa-mkimage.c: Likewise.
45803 * util/i386/pc/pupa-setup.c: Likewise.
45804
45805 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
45806
45807 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
45808 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
45809 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
45810 reading and reset it after reading.
45811 (pupa_ext2_close): Return PUPA_ERR_NONE.
45812
45813 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
45814 Correct value.
45815 (struct linux_kernel_header): Add kernel_version and
45816 initrd_addr_max.
45817 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
45818 pupa_file_read succeeds.
45819 (pupa_rescue_cmd_initrd): Implement.
45820
45821 2003-12-03 Marco Gerards <metgerards@student.han.nl>
45822
45823 * fs/ext2.c (pupa_ext2_label): New function.
45824 (pupa_ext2_fs): Added label.
45825 * fs/fat.c (pupa_fat_label): New function.
45826 (pupa_fat_fs): Added label.
45827 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
45828
45829 * kern/misc.c (pupa_strndup): New function.
45830 * include/pupa/misc.h (pupa_strndup): New prototype.
45831
45832 * include/pupa/normal.h: Include <pupa/err.h>.
45833 (pupa_set_history): New prototype.
45834 (pupa_iterate_commands): New prototype.
45835 * normal/cmdline.c: Include <pupa/machine/partition.h>,
45836 <pupa/disk.h>, <pupa/file.h>.
45837 (hist_size): New variable.
45838 (hist_lines): Likewise.
45839 (hist_end): Likewise.
45840 (hist_used): Likewise.
45841 (pupa_set_history): New function.
45842 (pupa_history_get): Likewise.
45843 (pupa_history_add): Likewise.
45844 (pupa_history_replace): Likewise.
45845 (pupa_tab_complete): Likewise.
45846 (pupa_cmdline_run): Added tab completion and history buffer. Tab
45847 completion shows partitionnames while completing partitions, this
45848 feature was suggested by Jeff Bailey.
45849 * normal/command.c (pupa_iterate_commands): New function.
45850 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
45851 (pupa_normal_init): Initialize history buffer.
45852 (PUPA_MOD_INIT): Likewise.
45853 (pupa_normal_fini): Free the history buffer.
45854 (PUPA_MOD_FINI): Likewise.
45855
45856 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
45857 key.
45858
45859 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
45860 * configure.ac [i386]: Check for regparam bug.
45861 (NESTED_FUNC_ATTR) [! i386]: Defined.
45862
45863 2003-11-17 Marco Gerards <metgerards@student.han.nl>
45864
45865 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
45866 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
45867 (pupa_emu_SOURCES): New variable.
45868 (pupa_emu_LDFLAGS): Likewise.
45869 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
45870 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
45871 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
45872 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
45873 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
45874 (pupa_jmp_buf): New typedef.
45875 (pupa_setjmp) [PUPA_UTIL]: New macro.
45876 (pupa_longjmp) [PUPA_UTIL]: Likewise.
45877 * include/pupa/term.h (struct pupa_term): New member `refresh'.
45878 (pupa_refresh): New prototype.
45879 * include/pupa/util/getroot.h: New file.
45880 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
45881 it.
45882 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
45883 (pupa_rescue_cmd_cat): Likewise.
45884 (pupa_rescue_cmd_ls): Likewise.
45885 (pupa_rescue_cmd_testload): Likewise.
45886 (pupa_rescue_cmd_lsmod): Likewise.
45887 * normal/cmdline.c (pupa_cmdline_get): Likewise.
45888 * normal/menu.c (run_menu): Likewise.
45889 * kern/term.c (pupa_cls): Likewise.
45890 (pupa_refresh): New function.
45891 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
45892 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
45893 * util/console.c: New file.
45894
45895 * util/i386/pc/getroot.c: New file.
45896 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
45897 (pupa_putchar): New function.
45898 (pupa_refresh): Likewise.
45899 (xgetcwd): Function moved to ...
45900 (strip_extra_slashes): Likewise.
45901 (get_prefix): Likewise.
45902 * util/i386/pc/getroot.c: ... here.
45903 (find_root_device): Function moved and renamed to...
45904 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
45905 Changed all callers.
45906 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
45907 and renamed to...
45908 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
45909 Changed all callers.
45910 * util/misc.c (pupa_memalign): New function.
45911 (pupa_mm_init_region): Likewise.
45912 (pupa_register_exported_symbols): Likewise.
45913 (pupa_putchar): Function removed.
45914 * util/pupa-emu.c: New file.
45915
45916 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
45917
45918 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
45919 (_multiboot_mod_SOURCES): New variable.
45920 (_multiboot_mod_CFLAGS): Likewise.
45921 * loader/i386/pc/multiboot.c: New file.
45922 * include/pupa/i386/pc/multiboot.h: Likewise.
45923 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
45924 (pupa_multiboot_real_boot): New function.
45925 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
45926 (pupa_multiboot_real_boot): New prototype.
45927 (pupa_rescue_cmd_multiboot): Likewise
45928 (pupa_rescue_cmd_module): Likewise.
45929
45930 * kern/loader.c (pupa_loader_set): Continue when
45931 pupa_loader_unload_func() fails.
45932 (pupa_loader_unset): New function.
45933 * include/pupa/loader.h (pupa_loader_unset): New prototype.
45934
45935 * kern/misc.c (pupa_stpcpy): New function.
45936 * include/pupa/misc.h (pupa_stpcpy): New prototype.
45937
45938 2003-11-12 Marco Gerards <metgerards@student.han.nl>
45939
45940 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
45941 for available extensions.
45942
45943 * include/pupa/i386/pc/time.h: New file.
45944 * kern/disk.c: Include <pupa/machine/time.h>.
45945 (PUPA_CACHE_TIMEOUT): New macro.
45946 (pupa_last_time): New variable.
45947 (pupa_disk_open): Flush the cache when there was a timeout.
45948 (pupa_disk_close): Reset the timer.
45949 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
45950 pupa_currticks.
45951 * util/misc.c: Include <sys/times.h>
45952 (pupa_get_rtc): New function.
45953
45954 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
45955
45956 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
45957 as blocks.
45958 (pupa_ext2_get_file_block): Use blocks member.
45959
45960 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
45961 first block. Return -1 instead of pupa_errno on error.
45962
45963 2003-10-27 Marco Gerards <metgerards@student.han.nl>
45964
45965 * README: In the pupa-mkimage example use _chain instead of chain
45966 and ext2 instead of fat.
45967 * TODO: Replace ext2fs with jfs as an example. Add an item for
45968 adding journal playback for ext2fs.
45969 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
45970 (pkgdata_MODULES): Added ext2.mod.
45971 (ext2_mod_SOURCES): New variable.
45972 (ext2_mod_CFLAGS): Likewise.
45973 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
45974 * include/pupa/misc.h (pupa_strncpy): New prototype.
45975 (pupa_strcat): Likewise.
45976 (pupa_strncmp): Likewise.
45977 * kern/misc.c (pupa_strcat): Enable function.
45978 (pupa_strncpy): New function.
45979 (pupa_strncmp): Likewise.
45980 * fs/ext2.c: New file.
45981
45982 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
45983 when the read failed before retrying.
45984 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
45985 (_FILE_OFFSET_BITS): Likewise.
45986 * configure.ac: Added AC_SYS_LARGEFILE.
45987
45988 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
45989
45990 * genmk.rb (PModule#rule): Make sure to get only symbol names
45991 from the output of nm.
45992 Reported by Robert Millan <rmh.grub@aybabtu.com>.
45993
45994 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
45995
45996 I forgot to check in these changes for a long time. This adds
45997 incomplete support for VGA console, and this is still very
45998 buggy. Also, a lot of consideration is required for I18N,
45999 UNICODE, and VGA font issues. Therefore, assume that this is
46000 such that "better than nothing".
46001
46002 * font/manager.c: New file.
46003 * include/pupa/font.h: Likewise.
46004 * include/pupa/i386/pc/vga.h: Likewise.
46005 * term/i386/pc/vga.c: Likewise.
46006 * util/unifont2pff.rb: Likewise.
46007
46008 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
46009 (pkgdata_MODULES): Added vga.mod and font.mod.
46010 (vga_mod_SOURCES): New variables.
46011 (vga_mod_CFLAGS): Likewise.
46012 (font_mod_SOURCES): Likewise.
46013 (font_mod_CFLAGS): Likewise.
46014
46015 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
46016
46017 * include/pupa/term.h: Include pupa/err.h.
46018 (struct pupa_term): Added init and fini.
46019 Changed the argument of putchar to pupa_uint32_t.
46020
46021 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
46022 (pupa_console_real_putchar): New prototype.
46023 (pupa_console_putchar): Removed.
46024 (pupa_console_checkkey): Exported.
46025 (pupa_console_getkey): Likewise.
46026
46027 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
46028 characters.
46029
46030 * kern/term.c (pupa_term_set_current): Rewritten.
46031 (pupa_putchar): Likewise.
46032 (pupa_putcode): New function.
46033
46034 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
46035 (pupa_console_real_putchar): ... this.
46036 (pupa_vga_set_mode): New function.
46037 (pupa_vga_get_font): Likewise.
46038
46039 * normal/command.c: Include pupa/term.h.
46040 (terminal_command): New function.
46041 (pupa_command_init): Register the command "terminal".
46042
46043 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
46044 (DISP_UP): Likewise.
46045 (DISP_RIGHT): Likewise.
46046 (DISP_DOWN): Likewise.
46047 (DISP_HLINE): Likewise.
46048 (DISP_VLINE): Likewise.
46049 (DISP_UL): Likewise.
46050 (DISP_UR): Likewise.
46051 (DISP_LL): Likewise.
46052 (DISP_LR): Likewise.
46053
46054 * term/i386/pc/console.c (pupa_console_putchar): New function.
46055
46056 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
46057
46058 * util/resolve.c (pupa_util_resolve_dependencies): BUG
46059 FIX. Reverse the path_list.
46060
46061 * include/pupa/normal.h: Export pupa_register_command and
46062 pupa_unregister_command.
46063
46064 * hello/hello.c (pupa_cmd_hello): New module.
46065 * conf/i386-pc.rmk: Added hello.mod.
46066
46067 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
46068
46069 * kern/i386/pc/lzo1x.S: New file.
46070
46071 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
46072 (compress_kernel): New variable.
46073 (generate_image): Heavily modified to support compressing a
46074 large part of the core image.
46075
46076 * util/misc.c (pupa_util_read_image): Fix a file descriptor
46077 leak.
46078 (pupa_util_load_image): New function.
46079
46080 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
46081 (pupa_compressed_size): New variable.
46082 (codestart): Enable Gate A20 here.
46083 Decompress the compressed part of the core image.
46084 Rearrange the code to put functions and variables which are
46085 required for initialization in the non-compressed part.
46086 Include lzo1x.S.
46087
46088 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
46089 here.
46090
46091 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
46092
46093 * include/pupa/i386/pc/kernel.h
46094 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
46095 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
46096 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
46097 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
46098 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
46099
46100 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
46101
46102 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
46103 (Utility#rule): Likewise.
46104
46105 * configure.ac: Check if LZO is available.
46106
46107 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
46108
46109 * include/pupa/normal.h: New file.
46110 * include/pupa/setjmp.h: Likewise.
46111 * include/pupa/i386/setjmp.h: Likewise.
46112 * normal/cmdline.c: Likewise.
46113 * normal/command.c: Likewise.
46114 * normal/main.c: Likewise.
46115 * normal/menu.c: Likewise.
46116 * normal/i386/setjmp.S: Likewise.
46117
46118 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
46119 (pupa_rescue_cmd_initrd): Likewise.
46120
46121 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
46122 Likewise.
46123
46124 * kern/i386/pc/startup.S (translation_table): New variable.
46125 (translate_keycode): New function.
46126 (pupa_console_getkey): Call translate_keycode.
46127
46128 * kern/rescue.c (attempt_normal_mode): New function.
46129 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
46130 it failed, print a message.
46131
46132 * kern/mm.c (pupa_real_malloc): Print more information when a
46133 free magic is broken.
46134 (pupa_free): If the first free header is not free actually, set
46135 it to P.
46136
46137 * kern/main.c (pupa_load_normal_mode): Just load the module
46138 "normal".
46139 (pupa_main): Don't print the message
46140 "Entering into rescue mode..." here.
46141
46142 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
46143 Declared.
46144 (pupa_rescue_cmd_initrd): Likewise.
46145 (pupa_rescue_cmd_initrd): Likewise.
46146
46147 * include/pupa/symbol.h (FUNCTION): Specify the type.
46148 (VARIABLE): Likewise.
46149
46150 * include/pupa/err.h (pupa_err_t): Added
46151 PUPA_ERR_UNKNOWN_COMMAND.
46152
46153 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
46154 (pupa_dl_get_prefix): Likewise.
46155
46156 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
46157 Added _chain.mod and _linux.mod instead of chain.mod and
46158 linux.mod.
46159 (chain_mod_SOURCES): Renamed to ...
46160 (_chain_mod_SOURCES): ... this.
46161 (chain_mod_CFLAGS): Renamed to ...
46162 (_chain_mod_CFLAGS): ... this.
46163 (linux_mod_SOURCES): Renamed to ...
46164 (_linux_mod_SOURCES): ... this.
46165 (linux_mod_CFLAGS): Renamed to ...
46166 (_linux_mod_CFLAGS): ... this.
46167 (normal_mod_SOURCES): New variable.
46168 (normal_mod_CFLAGS): Likewise.
46169 (normal_mod_ASFLAGS): Likewise.
46170
46171 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
46172
46173 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
46174 possible.
46175
46176 * kern/dl.c (pupa_dl_ref): Refer depending modules
46177 recursively.
46178 (pupa_dl_unref): Unrefer depending modules recursively.
46179 Don't call pupa_dl_unload implicitly, because PUPA can crash if
46180 a module is unloaded before one depending on that module is
46181 unloaded.
46182 (pupa_dl_unload): Unload depending modules explicitly,
46183 if possible.
46184
46185 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
46186
46187 * include/pupa/i386/pc/linux.h: New file.
46188 * loader/i386/pc/linux.c: Likewise.
46189
46190 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
46191 Removed.
46192 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
46193 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
46194 of PUPA_CHAINLOADER_BOOT_SECTOR.
46195
46196 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
46197 (pupa_linux_prot_size): New variable.
46198 (pupa_linux_tmp_addr): Likewise.
46199 (pupa_linux_real_addr): Likewise.
46200 (pupa_linux_boot_zimage): New function.
46201 (pupa_linux_boot_bzimage): Likewise.
46202
46203 * kern/i386/pc/init.c (struct mem_region): New structure.
46204 (MAX_REGIONS): New macro.
46205 (mem_regions): New variable.
46206 (num_regions): Likewise.
46207 (pupa_os_area_addr): Likewise.
46208 (pupa_os_area_size): Likewise.
46209 (pupa_lower_mem): Likewise.
46210 (pupa_upper_mem): Likewise.
46211 (add_mem_region): New function.
46212 (compact_mem_regions): Likewise.
46213 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
46214 the size of the conventional memory and that of so-called upper
46215 memory (before the first memory hole).
46216 Instead of adding each found region to free memory, use
46217 add_mem_region and add them after removing overlaps.
46218 Also, add only 1/4 of the upper memory to free memory. The rest
46219 is used for loading OS images. Maybe this is ad hoc, but this
46220 makes it much easier to relocate OS images when booting.
46221
46222 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
46223 (pupa_enter_rescue_mode): Don't register initrd and module.
46224
46225 * kern/mm.c: Include pupa/dl.h.
46226
46227 * kern/main.c: Include pupa/file.h and pupa/device.h.
46228
46229 * kern/loader.c (pupa_loader_load_module_func): Removed.
46230 (pupa_loader_load_module): Likewise.
46231
46232 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
46233 ``.o''.
46234
46235 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
46236 (pupa_linux_tmp_addr): Likewise.
46237 (pupa_linux_real_addr): Likewise.
46238 (pupa_linux_boot_zimage): Likewise.
46239 (pupa_linux_boot_bzimage): Likewise.
46240
46241 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
46242 (pupa_upper_mem): Likewise.
46243 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
46244 module is too dangerous.
46245
46246 * include/pupa/loader.h (pupa_os_area_addr): Declared.
46247 (pupa_os_area_size): Likewise.
46248 (pupa_loader_set): Remove the first argument. Loader doesn't
46249 manage modules or initrd any longer.
46250 (pupa_loader_load_module): Removed.
46251
46252 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
46253 (linux_mod_SOURCES): New variable.
46254 (linux_mod_CFLAGS): Likewise.
46255
46256 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
46257
46258 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
46259 the length of a blocklist correctly.
46260
46261 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
46262 Use ioctl only if the OS file is a block device.
46263 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
46264 not very useful for normal files.
46265
46266 * kern/main.c (pupa_set_root_dev): New function.
46267 (pupa_load_normal_mode): Likewise.
46268 (pupa_main): Call those above.
46269
46270 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
46271 pupa_uint16_t.
46272
46273 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
46274
46275 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
46276
46277 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
46278 (setup): Configure the installed partition information and the
46279 dl prefix.
46280
46281 * loader/i386/pc/chainloader.c (my_mod): New variable.
46282 (pupa_chainloader_unload): New function.
46283 (pupa_rescue_cmd_chainloader): Refer itself.
46284 (PUPA_MOD_INIT): Save its own module in MY_MOD.
46285
46286 * kern/i386/pc/startup.S (install_partition): Removed.
46287 (version_string): Likewise.
46288 (config_file): Likewise.
46289 (pupa_install_dos_part): New variable.
46290 (pupa_install_bsd_part): Likewise.
46291 (pupa_prefix): Likewise.
46292 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
46293
46294 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
46295 and pupa/misc.h.
46296 (make_install_device): New function.
46297 (pupa_machine_init): Set the dl prefix.
46298
46299 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
46300 (buf): Renamed to ...
46301 (linebuf): ... this.
46302 (pupa_rescue_cmd_prefix): New function.
46303 (pupa_rescue_cmd_insmod): Likewise.
46304 (pupa_rescue_cmd_rmmod): Likewise.
46305 (pupa_rescue_cmd_lsmod): Likewise.
46306 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
46307 rmmod and lsmod.
46308
46309 * kern/mm.c (pupa_memalign): If failed even after invalidating
46310 disk caches, unload unneeded modules and retry.
46311
46312 * kern/misc.c (pupa_memmove): New function.
46313 (pupa_memcpy): Removed.
46314 (pupa_strcpy): New function.
46315 (pupa_itoa): Made static.
46316
46317 * kern/dl.c (pupa_dl_iterate): New function.
46318 (pupa_dl_ref): Likewise.
46319 (pupa_dl_unref): Likewise.
46320 (pupa_dl_unload): Return if succeeded or not.
46321 (pupa_dl_unload_unneeded): New function.
46322 (pupa_dl_unload_all): Likewise.
46323 (pupa_dl_init): Renamed to ...
46324 (pupa_dl_set_prefix): ... this.
46325 (pupa_dl_get_prefix): New function.
46326
46327 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
46328 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
46329 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
46330 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
46331 (pupa_install_dos_part): Declared.
46332 (pupa_install_bsd_part): Likewise.
46333 (pupa_prefix): Likewise.
46334 (pupa_boot_drive): Likewise.
46335
46336 * include/pupa/types.h: Fix a typo.
46337
46338 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
46339 pupa_memmove.
46340 (pupa_memmove): Declared.
46341 (pupa_strcpy): Likewise.
46342
46343 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
46344 pupa_mod_init takes one argument, its own module.
46345 (pupa_dl_unload_unneeded): Declared.
46346 (pupa_dl_unload_all): Likewise.
46347 (pupa_dl_ref): Likewise.
46348 (pupa_dl_unref): Likewise.
46349 (pupa_dl_iterate): Likewise.
46350 (pupa_dl_init): Renamed to ...
46351 (pupa_dl_set_prefix): ... this.
46352 (pupa_dl_get_prefix): Declared.
46353
46354 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
46355 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
46356 unloaded.
46357 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
46358 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
46359
46360 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
46361 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
46362
46363 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
46364
46365 * util/i386/pc/pupa-setup.c (setup): Define the internal
46366 function find_first_partition_start at the top level, because GCC
46367 3.0.x cannot compile internal functions in deeper scopes
46368 correctly.
46369 (find_root_device): Use lstat instead of stat.
46370 Don't follow symbolic links.
46371 Fix the path-constructing code.
46372
46373 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
46374 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
46375 by a BLKGETSIZE ioctl first, because block devices don't fill
46376 the member st_mode of the structure stat on Linux.
46377 [__linux__] (linux_find_partition): Use a temporary buffer
46378 REAL_DEV for the working space. Copy it to DEV before returning.
46379 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
46380 buffer cache consistent.
46381 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
46382 strncmp. The previous value was merely wrong.
46383 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
46384
46385 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
46386 FAT size is 12. The previous value was merely wrong.
46387
46388 * kern/main.c (pupa_main): Don't split the starting message from
46389 newlines.
46390
46391 * kern/term.c (pupa_putchar): Put CR after LF instead of before
46392 LF, because BIOS goes crazy about character attributes in this
46393 case.
46394
46395 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
46396
46397 * include/i386/pc/util/biosdisk.h: New file.
46398 * util/i386/pc/biosdisk.c: Likewise.
46399 * util/i386/pc/pupa-setup.c: Likewise.
46400
46401 * Makefile.in (INCLUDE_DISTFILES): Added
46402 include/pupa/i386/pc/util/biosdisk.h.
46403 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
46404 directory util/i386/pc.
46405 (install-local): Added a rule for sbin_UTILITIES.
46406 (uninstall): Likewise.
46407
46408 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
46409
46410 * util/misc.c (xrealloc): New function.
46411 (pupa_malloc): Likewise.
46412 (pupa_free): Likewise.
46413 (pupa_realloc): Likewise.
46414 (pupa_stop): Likewise.
46415 (pupa_putchar): Likewise.
46416
46417 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
46418
46419 * include/pupa/util/misc.h (xrealloc): Declared.
46420
46421 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
46422 macro.
46423 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
46424 (PUPA_BOOT_MACHINE_BPB_END): ... this.
46425
46426 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
46427 [PUPA_UTIL] (pupa_fat_fini): Likewise.
46428
46429 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
46430 way should be implemented.
46431 [PUPA_UTIL] (pupa_fat_fini): Likewise.
46432
46433 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
46434 the size of NAME for safety.
46435 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
46436 0x88.
46437
46438 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
46439 (pupa_setup_SOURCES): Likewise.
46440
46441 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
46442
46443 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
46444
46445 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
46446 bunch of pushl's from pusha, because this destroys the return
46447 value.
46448
46449 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
46450
46451 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
46452 This means that any missing prototypes could be fatal. Also, you
46453 must take care when writing assembly code. See the comments at
46454 the beginning of startup.S, for more details.
46455
46456 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
46457 compilation mechanism.
46458 (pupa_chainloader_real_boot): Likewise.
46459 (pupa_biosdisk_rw_int13_extensions): Likewise.
46460 (pupa_biosdisk_rw_standard): Likewise.
46461 (pupa_biosdisk_check_int13_extensions): Likewise.
46462 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
46463 (pupa_biosdisk_get_diskinfo_standard): Likewise.
46464 (pupa_get_memsize): Likewise.
46465 (pupa_get_mmap_entry): Likewise.
46466 (pupa_console_putchar): Likewise.
46467 (pupa_console_setcursor): Likewise.
46468 (pupa_getrtsecs): Use pushl instead of push.
46469
46470 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
46471 memory instead of the stack for a mmap entry, because some
46472 BIOSes may ignore the maximum size and overflow.
46473
46474 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
46475
46476 * genmk.rb (PModule#rule): Compile automatically generated
46477 sources with module-specific CFLAGS as well as other sources.
46478
46479 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
46480
46481 * configure.ac: Check ld.
46482 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
46483 respectively, before checking endianness and sizes.
46484
46485 * Makefile.in (LD): New variable.
46486
46487 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
46488
46489 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
46490
46491 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
46492
46493 * Changelog: New file.
46494