]> git.proxmox.com Git - grub2.git/blob - ChangeLog
* grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
[grub2.git] / ChangeLog
1 2012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
4 * util/getroot.c (grub_find_device): Likewise.
5 (get_mdadm_uuid): Likewise.
6 (grub_util_is_imsm): Likewise.
7 (grub_util_pull_device): Likewise.
8 * util/grub-probe.c (probe): Likewise.
9
10 2012-09-10 Benoit Gschwind <gschwind>
11
12 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
13 (devs): Add devpath_8.
14
15 2012-09-08 Peter Jones <pjones@redhat.com>
16
17 * grub-core/Makefile.core.def (efifwsetup): New module.
18 * grub-core/commands/efi/efifwsetup.c: New file.
19 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
20 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
21 New define.
22 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
23
24 2012-09-05 Jiri Slaby <jslaby@suse.cz>
25
26 * configure.ac: Add SuSe path.
27
28 2012-09-05 Colin Watson <cjwatson@ubuntu.com>
29
30 * NEWS: Fix typo.
31
32 2012-09-05 Colin Watson <cjwatson@ubuntu.com>
33
34 * util/import_gcry.py: Sort cipher_files, to make build system
35 generation more deterministic.
36
37 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
38
39 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
40 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
41 (grub_set_datetime): Likewise.
42
43 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
44
45 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
46 warnings.
47
48 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
49
50 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
51
52 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
53
54 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
55
56 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
57
58 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
59 required for checkouts from bzr, but it may be useful for users or
60 distributors wishing to update translations against a tarball
61 distribution, and it can be helpful for the tarball to be a superset
62 of what's in bzr.
63
64 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
65
66 * Makefile.am (EXTRA_DIST): Add
67 grub-core/tests/boot/linux.init-mips.S,
68 grub-core/tests/boot/linux.init-ppc.S, and
69 grub-core/tests/boot/linux-ppc.cfg.
70
71 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
72
73 * grub-core/mmap/mips/loongson: Remove empty directory.
74
75 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
76
77 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
78 gone.
79
80 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
81
82 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
83 grub-sparc64-setup.
84
85 2012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
86
87 * configure.ac: Strengthen the test for working -nostdinc -isystem.
88
89 2012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
90
91 * po/POTFILES.in: Regenerated.
92
93 2012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
94
95 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
96 (NetBSD): New subsection.
97
98 2012-07-22 Ales Nesrsta <starous@volny.cz>
99
100 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
101 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
102
103 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
104
105 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
106 * util/grub.d/10_hurd.in: Add missing quoting.
107 * util/grub.d/10_illumos.in: Likewise.
108 * util/grub.d/10_kfreebsd.in: Likewise.
109 * util/grub.d/10_linux.in: Likewise.
110 * util/grub.d/20_linux_xen.in: Likewise.
111
112 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
113
114 New command `lsefi'.
115
116 * grub-core/Makefile.core.def (lsefi): New module.
117 * grub-core/commands/efi/lsefi.c: New file.
118 * include/grub/efi/api.h: Add more GUIDs.
119
120 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
121
122 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
123 (grub_bsd_elf32_hook): Likewise.
124 (grub_bsd_elf64_size_hook): Likewise.
125 (grub_bsd_elf64_hook): Likewise.
126 (grub_bsd_load_elf): Likewise.
127
128 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
129
130 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
131 if hash function is unavailable.
132 (dec_stream_header): Likewise.
133
134 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
135
136 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
137 filter state.
138
139 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
140
141 Fix coreboot compilation.
142
143 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
144 (grub_vga_text_init_real): ... this.
145 (grub_vga_text_fini): Rename to ...
146 (grub_vga_text_fini_real): ... this.
147
148 2012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
149
150 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
151
152 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
153
154 * grub-core/lib/legacy_parse.c: Support clear and testload.
155
156 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
157
158 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
159
160 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
161
162 * grub-core/fs/ext2.c: Experimental support for 64-bit.
163
164 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
165
166 * grub-core/net/tftp.c (ack): Fix endianness problem.
167 (tftp_receive): Likewise.
168 Reported by: Michael Davidsaver.
169
170 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
171
172 * gentpl.py: Make mans depend on grub-mkconfig_lib.
173
174 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
175
176 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
177 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
178 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
179
180 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
181
182 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
183 efi_mmap_size.
184 Reported by: Stuart Hayes.
185
186 2012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
187
188 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
189
190 * grub-core/Makefile.core.def (mda_text): New module.
191 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
192 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
193 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
194 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
195 here.
196 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
197 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
198 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
199 here.
200 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
201 to ..
202 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
203 ... here
204 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
205 here.
206 * grub-core/term/i386/vga_common.c: Removed.
207 * include/grub/i386/vga_common.h: Likewise.
208 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
209 (grub_vga_cr_bw_read): Likewise.
210 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
211 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
212 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
213 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
214 grub_vga_cr_read/grub_vga_cr_write.
215 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
216
217 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
218
219 * configure.ac: Bump version to 2.00.
220 * grub-core/normal/main.c (features): Add feature_200_final.
221
222 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
223 2012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
224
225 * NEWS: Fix unclarity and language mistakes.
226
227 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
228
229 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
230 additional size to 3 pages.
231 Reported by: Stuart Hayes.
232
233 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
234
235 * NEWS: Add 2.00 entry.
236
237 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
238
239 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
240 put explicit "/" for empty path.
241 (wildcard_expand): Improve dprintf.
242
243 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
244
245 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
246 it's equal to currnode. This can happen with "" symlink.
247
248 2012-06-27 Yves Blusseau <blusseau@zetam.org>
249
250 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
251 echo shell command by printf command.
252
253 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
254
255 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
256 the value returned by firmware is the maximal position, not diumension.
257 (grub_terminfo_output_state): Use a more sane fallback.
258
259 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
260
261 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
262
263 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
264
265 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
266 frequency to 150 MHz.
267
268 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
269
270 Apple fixes.
271
272 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
273 __APPLE_
274 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
275 definition.
276 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
277
278 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
279
280 Handle slash in HFS label.
281
282 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
283 (grub_hfs_dir): Tanslate slash.
284 (grub_hfs_label): Don't translate slash.
285
286 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
287
288 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
289 network protocol listing since it introduces problematic dependency on
290 net module.
291
292 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
293
294 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
295
296 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
297
298 Init video early on yeeloong to avoid being rebooted by watchdog.
299
300 * grub-core/Makefile.am (gensm712): New target.
301 (sm712_start.S): Likewise.
302 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
303 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
304 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
305 description.
306 * include/grub/vga.h: Move registry definitions to...
307 * include/grub/vgaregs.h: ... here.
308
309 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
310
311 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
312 signedness.
313
314 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
315
316 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
317 platforms with firmware disk drivers in the core.
318
319 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
320
321 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
322 informative verbose message.
323 (read_lv): Handle 64-bit segment size.
324
325 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
326
327 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
328
329 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
330
331 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
332 character but still remove trainling spaces.
333 (grub_fat_label): Ignore archive flag.
334
335 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
336
337 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
338 cast between linux_kernel_header and linux_kernel_params.
339
340 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
341
342 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
343 type for size.
344 (grub_raid6_recover_func_t): Likewise.
345 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
346 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
347
348 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
349
350 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
351
352 2012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
353
354 Fix overflow.
355
356 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
357 [__NetBSD__]: Add explicit cast before bitshift.
358
359 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
360
361 * configure.ac: Bump to 2.00~rc1.
362
363 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
364
365 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
366 half of $a0.
367
368 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
369 2012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
370
371 * docs/grub.texi: Fix search syntax.
372 (Multi-boot manual config): Put msdos rather than GPT example.
373 Grammar corrections.
374
375 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
376
377 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
378
379 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
380
381 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
382
383 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
384
385 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
386 message on double free. Put the value of magic in case of mismatch.
387
388 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
389
390 Speed-up video on yeeloong.
391
392 * grub-core/video/sm712.c (framebuffer): Remove render_target and
393 add cached_ptr.
394 (grub_video_sm712_video_fini): Unmap cached_ptr.
395 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
396 (grub_video_sm712_set_active_render_target): Removed.
397 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
398 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
399 sync caches.
400
401 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
402
403 Avoid flushing the same line multiple times on loongson.
404
405 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
406 Step in 32 bytes and not 1 byte.
407 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
408 Likewise.
409
410 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
411
412 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
413 subvolumes.
414
415 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
416
417 Implement flow control for http.
418
419 * grub-core/net/http.c (parse_line): Handle response 206.
420 (http_receive): Stall if too many packets are in the queue.
421 (http_establish): Fix range header.
422 (http_seek): Fix double free.
423 (http_close): Likewise.
424 (http_packets_pulled): New function.
425 (grub_http_protocol): Set http_seek
426 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
427 (ack_real): Set window depending on i_stall.
428 (grub_net_send_tcp_packet): Likewise.
429 (grub_net_tcp_stall): New function.
430 (grub_net_tcp_unstall): Likewise.
431 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
432 (grub_net_tcp_unstall): Likewise.
433
434 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
435
436 * grub-core/net/tftp.c: Decrease stall to 50 packets.
437
438 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
439
440 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
441
442 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
443
444 * tests/util/grub-shell.in: Fix a typo.
445
446 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
447
448 Implement flow control for tftp.
449
450 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
451 packets but stop only if stop condition is satisfied.
452 (grub_net_fs_read_real): Call packets_pulled after real read. Use
453 `stall' instead of `eof' as stop condition.
454 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
455 (http_err): Likewise.
456 * grub-core/net/tftp.c (ack): Replace the first argument with data
457 instead of socket.
458 (tftp_receive): Stall if too many packets are in wait queue.
459 (tftp_packets_pulled): New function.
460 (grub_tftp_protocol): Set packets_pulled.
461 * include/grub/net.h (grub_net_packets): New field count.
462 (grub_net_put_packet): Increment count.
463 (grub_net_remove_packet): Likewise.
464 (grub_net_app_protocol): New field `packets_pulled'.
465 (grub_net): New field `stall'.
466
467 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
468
469 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
470 sync part to handle them.
471
472 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
473
474 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
475 * grub-core/net/drivers/ieee1275/ofnet.c
476 (grub_ieee1275_net_config_real): Likewise.
477
478 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
479
480 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
481 the direct route for server/gateway.
482
483 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
484
485 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
486 IP address to server name since we may not hame the DNS.
487
488 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
489
490 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
491 freeing random buffer on failure.
492 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
493
494 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
495
496 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
497
498 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
499
500 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
501 reserved bytes.
502 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
503 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
504 Handle malloc error correctly.
505
506 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
507
508 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
509 blocks.
510
511 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
512
513 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
514 increment.
515
516 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
517
518 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
519 none is explicitly specified.
520
521 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
522
523 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
524 while reallocating.
525
526 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
527
528 Respect netmask from bootp/dhcp.
529
530 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
531 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
532 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
533 into ...
534 (grub_net_add_ipv4_local): ... this.
535 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
536 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
537 (grub_net_add_ipv4_local): New proto.
538
539 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
540
541 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
542 determining EFI memory map size.
543
544 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
545
546 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
547
548 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
549
550 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
551 when looking for partition separator.
552
553 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
554
555 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
556 Escape commas.
557
558 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
559
560 Restructure FAT driver to avoid hook in label reading as it hits a
561 GCC bug.
562
563 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
564 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
565 (grub_fat_iterate_dir): Split into ...
566 (grub_fat_iterate_init): ... this, ...
567 (grub_fat_iterate_fini): ... this, ...
568 (grub_fat_iterate_dir_next): ... and this. All users updated.
569
570 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
571
572 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
573 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
574 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
575 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
576 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
577 New fields last_key and last_key_time.
578 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
579 extended key-esc into extended key-extended key.
580
581 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
582
583 Avoid unnecessary memcpy of whole video buffer.
584
585 * grub-core/video/fb/video_fb.c (dirty): New struct.
586 (framebuffer): Add members current_dirty and previous_dirty.
587 (dirty): New function.
588 (grub_video_fb_fill_rect): Update dirty.
589 (common_blitter): Likewise.
590 (grub_video_fb_scroll): Likewise.
591 (doublebuf_blit_update_screen): Copy only dirty part.
592 (doublebuf_pageflipping_update_screen): Likewise.
593 (grub_video_fb_doublebuf_blit_init): Init dirty.
594 (doublebuf_pageflipping_init): Likewise.
595 (grub_video_fb_setup): Likewise.
596
597 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
598
599 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
600 poll rate.
601
602 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
603
604 Fix wildcard regexp dot and other special characters handling.
605 Reported by: Robert Mabee.
606
607 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
608 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
609 (split_path): Trigger expansion on '?'.
610 (unescape): New function.
611 (wildcard_expand): Unescape parts copied without globbing.
612 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
613 (grub_script_arglist_to_argv): Don't unescape expansions.
614
615 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
616
617 * include/grub/net.h (grub_net_card): New member txbufsize.
618 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
619 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
620 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
621 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
622 txbufsize.
623 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
624 compatible property to check for macs. Set
625 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
626 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
627 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
628 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
629 (send_card_buffer): Use txbuf.
630 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
631 nested function out of the parent while on it.
632
633 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
634
635 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
636 presence check.
637 (grub_ieee1275_net_config_real): Fix config pointer.
638
639 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
640
641 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
642 filename parsing to non-block devices.
643
644 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
645
646 * grub-core/kern/device.c (grub_device_open): Remove dead code.
647
648 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
649
650 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
651 All users updated.
652
653 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
654
655 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
656 UUID search command even if hints probing failed.
657
658 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
659
660 * po/POTFILES.in: Regenerated.
661
662 2012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
663
664 Speed-up video on fuloong.
665
666 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
667 New function.
668 (grub_pci_device_unmap_range): Handle non-cached address.
669 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
670 add direct_ptr.
671 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
672 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
673 (grub_video_sis315pro_set_active_render_target): Removed.
674 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
675 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
676 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
677 sync caches.
678 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
679 New proto.
680
681 2012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
682
683 * docs/grub.texi (Multi-boot manual config): New section.
684
685 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
686
687 Avoid slow read-back from VRAM.
688
689 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
690 Move from here ...
691 * grub-core/video/fb/video_fb.c
692 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
693 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
694 (front_target): Remove front_target. Add pages.
695 (grub_video_fb_init): Skip setting front_pages.
696 (grub_video_fb_fini): Likewise.
697 (doublebuf_blit_update_screen): Use pages.
698 (grub_video_fb_doublebuf_blit_init): Likewise.
699 (doublebuf_pageflipping_init): Allocate offscreen buffer.
700 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
701 (grub_video_fb_setup): Prefer doublebuffing.
702
703 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
704
705 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
706 gzio.
707
708 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
709
710 Add loongson tests.
711
712 * tests/util/grub-shell.in: Handle loongson.
713 * tests/partmap_test.in: Add loongson to the list of platform using ATA
714 drivers.
715 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
716 Reboot instead of shutdown if REBOOT is defined.
717
718 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
719
720 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
721 sized ports since unlike on real hardware qemu supports only 32-bit
722 regs.
723
724 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
725
726 * Makefile.util.def (grub-mkrescue): Enable on loongson.
727 * util/grub-mkrescue.in: Handle loongson.
728
729 2012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
730
731 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
732 Set is_part appropriately.
733 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
734 names. Canonicalize partition without full disk.
735
736 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
737
738 Revert usb-quiesce since it's wrong.
739
740 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
741 (grub_ofdisk_init): Don't do quiesce.
742
743 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
744
745 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
746 PowerMac workaround to Xserves as well.
747 Information supplied by: Benjamin Herrenschmidt.
748
749 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
750
751 Don't assume that beginning address is also the entry point on ppc.
752
753 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
754 (grub_linux_boot): Use linux_entry.
755 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
756 (grub_linux_load64): Likewise.
757
758 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
759
760 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
761
762 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
763
764 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
765 needlessly lose the console.
766
767 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
768
769 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
770 space.
771
772 2012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
773
774 Remove non-functional EFI grub_get_rtc. Put a better fatal message
775 than current grub_get_rtc() not implemented when booted with
776 coreboot without TSC.
777
778 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
779 Add machine/time.h to kernel headers on loongson.
780 * grub-core/Makefile.core.def (kernel): Remove
781 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
782 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
783 (grub_get_rtc): Likewise.
784 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
785 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
786 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
787 * grub-core/kern/i386/tsc.c (grub_tsc_init)
788 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
789 rather than installing known non-working time source.
790 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
791 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
792 * include/grub/time.h: Don't include machine/time.h.
793 * include/grub/efi/time.h: Removed.
794 * include/grub/i386/efi/time.h: Likewise.
795 * include/grub/i386/ieee1275/time.h: Likewise.
796 * include/grub/powerpc/ieee1275/time.h: Likewise.
797 * include/grub/sparc64/ieee1275/time.h: Likewise.
798 * include/grub/x86_64/efi/time.h: Likewise.
799
800 2012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
801
802 Remove dot on i and j when combining with above diacritics.
803
804 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
805 value.
806 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
807 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
808 with dotless variants when any combining above is present.
809
810 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
811
812 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
813 text and not binary.
814
815 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
816
817 Stop polling as soon as we have the packet we were waiting for.
818
819 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
820 All users updated.
821 * grub-core/net/arp.c (have_pending): New var.
822 (pending_req): Likewise.
823 (grub_net_arp_send_request): Fill pending_req and use have_pending as
824 stop indicator.
825 (grub_net_arp_receive): Set have_pending.
826 * grub-core/net/dns.c (recv_data): New field stop.
827 (recv_hook): Set stop.
828 (grub_net_dns_lookup): Init stop and use as stop condition.
829 * grub-core/net/http.c (http_establish): Use headers_recv as stop
830 condition.
831 * grub-core/net/net.c (grub_net_poll_cards): New argument
832 stop_condition. Stop when it goes true.
833 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
834 indicator.
835 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
836
837 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
838
839 Keep TX and RX buffers on EFI rather than always allocate new ones.
840
841 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
842 card. All users updated.
843 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
844 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
845 (get_card_packet): Likewise.
846 (grub_efinet_findcards): Init new fields.
847
848 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
849
850 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
851 compilation error on sparc64.
852
853 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
854
855 Use ITC on IA64 rather than broken routine based on daytime.
856
857 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
858 ia64.
859 (grub_get_rtc) [__ia64__]: Likewise.
860 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
861 (get_itc): New function.
862 (grub_rtc_get_time_ms): Likewise.
863 (grub_machine_init): Calibrate ITC.
864 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
865 Keep only on non-ia64. Don't export since it's broken and used only
866 if TSC is unavailable.
867
868 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
869
870 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
871 even if it's used.
872 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
873 Skip if parent is unused.
874
875 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
876
877 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
878
879 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
880
881 Fix wildcard escaping.
882
883 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
884 * grub-core/script/execute.c (wildcard_escape): .. to here.
885 Don't escape dot.
886 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
887 * grub-core/script/execute.c (wildcard_unescape): .. to here.
888 Don't escape dot.
889 * grub-core/script/execute.c (gettext_append): Always escape.
890 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
891 * grub-core/script/yylex.l: Don't cut away the escaping.
892 * tests/grub_script_echo1.in: Add tests with wildcard.
893
894 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
895
896 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
897 (ftdi_hw_configure): Likewise.
898 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
899 define.
900 (real_config): Handle 1.5 stop bits.
901 (pl2303_hw_configure): Likewise.
902
903 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
904
905 * Makefile.am: Add ppc linux bootcheck.
906 * grub-core/tests/boot/linux-ppc.cfg: New file.
907 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
908
909 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
910
911 * tests/grub_script_expansion.in: Skip network protocols.
912
913 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
914
915 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
916
917 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
918
919 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
920 --rom-directory.
921 Add -graft-points.
922
923 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
924
925 ESCC serial driver for conducting sautomated tests in qemu.
926 Not tested on real hardware.
927
928 * include/grub/serial.h (grub_serial_port): New field escc_desc.
929 * grub-core/term/ieee1275/escc.c: New file.
930 * grub-core/Makefile.core.def (escc): New module.
931
932 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
933
934 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
935 invalid on error.
936 (serial_hw_fetch): Don't read invalid handle.
937 (serial_hw_put): Don't write into invalid handle.
938
939 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
940
941 Add a 1.5 stop bits value.
942
943 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
944 * include/grub/serial.h (grub_serial_stop_bits_t): Add
945 GRUB_SERIAL_STOP_BITS_1_5.
946
947 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
948
949 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
950 value rather than let it uninited.
951
952 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
953
954 * grub-core/commands/wildcard.c (+check_file): New function.
955 (wildcard_expand): Don't expand to non-existing files, expand with
956 suffix and not attempt to expand if not needed.
957
958 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
959
960 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
961 out of partitions containing other partitions.
962
963 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
964
965 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
966 on some qemu versions with GRUB.
967
968 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
969 define.
970 (grub_openbsd_bootarg_pcibios): New struct.
971 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
972 Add PCIINFO.
973
974 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
975
976 * tests/util/grub-shell.in: Trim firmware output on EFI.
977
978 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
979
980 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
981 and coreboot since it's already in kernel.
982
983 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
984
985 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
986 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
987 to here. New return value start. All users updated.
988 Recursively scan linear mappings.
989 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
990 proto.
991 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
992 Use grub_util_get_dm_node_linear_info.
993 * util/getroot.c (convert_system_partition_to_system_disk): Use
994 grub_util_info rather than grub_dprintf.
995 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
996
997 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
998
999 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
1000
1001 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
1002 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
1003
1004 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1005
1006 * include/grub/types.h (grub_set_unaligned64): New function.
1007 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
1008 (setup): Likewise.
1009
1010 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1011
1012 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
1013 (grub_ofdisk_fini): Quiesce USB devices.
1014
1015 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1016
1017 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
1018 caches.
1019
1020 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1021
1022 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
1023
1024 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1025
1026 * grub-core/disk/pata.c (grub_pata_pio_read)
1027 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
1028 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
1029
1030 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1031
1032 Extend automated tests to qemu-mips.
1033
1034 * Makefile.am: reorganise tests and enable qemu-mips.
1035 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
1036 * grub-core/tests/boot/linux.init-mips.S: New file.
1037 * tests/partmap_test.in: Handle ata0 disks.
1038 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
1039 non-pc i386.
1040
1041 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1042
1043 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
1044 ia64.
1045 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
1046 quotes while on it.
1047
1048 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1049
1050 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
1051 (grub_halt): Likewise.
1052 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
1053
1054 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1055
1056 * grub-core/term/serial.c (grub_serial_register)
1057 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
1058 the behaviour in line with x86 platforms.
1059
1060 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1061
1062 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
1063 (grub_ata_strncpy): Likewise.
1064 (grub_ata_identify): Add missing byteswaps.
1065
1066 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1067
1068 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
1069 byte-swap.
1070 (screen_read_char): Likewise.
1071 (grub_vga_text_cls): Likewise.
1072
1073 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1074
1075 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
1076 filenames.
1077 (make_file_path): Likewise.
1078
1079 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1080
1081 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
1082 machines.
1083 Tested by: Paulo Flabiano Smorigo.
1084 Crucial information about API supplied by: Coleen <Last name unknown>.
1085 Reviewed by: Coleen <Last name unknown>.
1086
1087 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1088
1089 * util/grub-mkimage.c: Disable -Wcast-align.
1090
1091 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1092
1093 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
1094 as they are fatal.
1095
1096 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1097
1098 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
1099
1100 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1101
1102 * util/grub-probe.c (escape_of_path): Fix double free.
1103
1104 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1105
1106 * grub-core/commands/videoinfo.c (hook): Show pitch.
1107
1108 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1109
1110 * util/grub.d/20_linux_xen.in: Skip xen-syms.
1111
1112 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1113
1114 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
1115 (probe): Add ieee1275 to OFW devices.
1116
1117 2012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
1118
1119 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
1120
1121 2012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
1122
1123 Handle IBM OFW path.
1124
1125 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
1126 available.
1127 (of_path_of_scsi): Handle vdevice.
1128
1129 2012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
1130
1131 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
1132 Allocate in multiples of 16 to avoid adding a few bytes free region the
1133 windows bugs upon.
1134
1135 2012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
1136
1137 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
1138 Allocate in multiples of 16 to avoid adding a few bytes free region the
1139 windows bugs upon.
1140 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
1141
1142 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1143
1144 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
1145 resolutions.
1146 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
1147 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
1148
1149 2012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
1150
1151 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
1152
1153 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1154
1155 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
1156 resulted in \\ at the end of the line.
1157
1158 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1159
1160 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
1161 (grub_parser_cmdline_state): Likewise.
1162 (grub_parser_split_cmdline): Likewise.
1163
1164 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1165
1166 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
1167 /dev/root and /dev/dm-*.
1168
1169 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1170
1171 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
1172 fix partially stale display.
1173
1174 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1175
1176 * grub-core/normal/menu_entry.c (backward_char): Use right line for
1177 substraction.
1178
1179 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1180
1181 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
1182 Fix MBR remapping workaround.
1183 (grub_util_biosdisk_read) [__linux__]: Likewise.
1184
1185 2012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
1186
1187 * util/grub-install.in: Check for ieee1275 and not ieee1276.
1188
1189 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1190
1191 * configure.ac: Bump to beta6.
1192
1193 2012-05-31 Christer Weinigel <christer@weinigel.se>
1194
1195 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
1196
1197 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1198
1199 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
1200 (grub_cmd_linux): Likewise.
1201
1202 2012-05-31 Christer Weinigel <christer@weinigel.se>
1203
1204 Fix EHCI low-speed.
1205
1206 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
1207 (GRUB_EHCI_MULT_TWO): Likewise.
1208 (GRUB_EHCI_MULT_THREE): Likewise.
1209 (GRUB_EHCI_CMASK_MASK): New enum value.
1210 (GRUB_EHCI_SMASK_MASK): Likewise.
1211 (GRUB_EHCI_CMASK_OFF): Likewise.
1212 (GRUB_EHCI_SMASK_OFF): Likewise.
1213 (grub_ehci_pci_iter): Enable periodic schedule.
1214 (grub_ehci_parse_notrun): Likewise.
1215 (grub_ehci_restore_hw): Likewise.
1216 (grub_ehci_setup_qh): Set flags for low speed transfers.
1217 (grub_ehci_find_qh): Use periodic list for low speed.
1218 (grub_ehci_setup_transfer): Check periodic queue as well.
1219 (grub_ehci_check_transfer): Likewise.
1220 (grub_ehci_cancel_transfer): Cancel periodic transfer.
1221
1222 2012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1223
1224 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
1225 parameter is used.
1226
1227 2012-05-31 Peter Jones <pjones@redhat.com>
1228
1229 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
1230 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
1231 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
1232
1233 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1234
1235 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
1236 uninited variable. Allocate at least setup_sects.
1237
1238 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1239
1240 Fix handling of EFI with big memory maps.
1241
1242 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
1243 (real_mode_mem): Likewise.
1244 (real_mode_target): Likewise.
1245 (real_mode_pages): Likewise.
1246 (prot_mode_pages): Likewise.
1247 (linux_params): New var.
1248 (linux_cmdline): Likewise.
1249 (free_pages): Don't set real mode variables.
1250 (allocate_pages): Don't allocate real mode memory.
1251 (grub_e820_add_region): Remove the limit.
1252 (grub_linux_boot): Allocate and copy real mode memory.
1253 (grub_linux_unload): Free linux_cmdline.
1254 (grub_cmd_linux): Use temporary storage for parameters.
1255 (grub_cmd_initrd): Likewise.
1256 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
1257 (linux_kernel_params): Make it 1K big.
1258
1259 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1260
1261 * Makefile.util.def: Remove -Wno-format.
1262 * grub-core/Makefile.core.def: Likewise.
1263
1264 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1265
1266 * tests/cmp_unit_test.c: Add missing failure message.
1267 * tests/example_unit_test.c: Likewise.
1268 * tests/printf_unit_test.c: Likewise.
1269
1270 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1271
1272 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
1273 relaxation of protective MBR requirements.
1274
1275 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
1276
1277 * configure.ac: Add condition for COND_HOST_XNU.
1278 * Makefile.util.def (10_xnu): New script.
1279 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
1280
1281 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
1282
1283 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
1284 objconv bug.
1285
1286 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
1287
1288 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
1289 Binary on other platforms stays identical.
1290
1291 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1292
1293 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
1294 Apple.
1295
1296 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1297
1298 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
1299
1300 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1301
1302 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
1303 rather than defining size_t ourselves to avoid conflict.
1304
1305 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1306
1307 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
1308 initialisation to avoid __bzero reference.
1309
1310 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1311
1312 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
1313 version.
1314 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
1315 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
1316 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
1317 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
1318 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
1319
1320 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1321
1322 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
1323 * grub-core/kern/misc.c: Likewise.
1324 * grub-core/loader/i386/xnu.c: Likewise.
1325 * include/grub/i386/tsc.h: Likewise.
1326 * include/grub/symbol.h: Likewise.
1327
1328 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1329
1330 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
1331 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
1332 on older compiler.
1333
1334 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1335
1336 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
1337 Implement Apple flavour.
1338 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
1339
1340 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1341
1342 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
1343 (memmove) [__APPLE__]: Likewise.
1344 (memcpy) [__APPLE__]: Likewise.
1345 (memset) [__APPLE__]: Likewise.
1346 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
1347 (memmove) [__APPLE__]: Likewise.
1348 (memcpy) [__APPLE__]: Likewise.
1349 (memset) [__APPLE__]: Likewise.
1350
1351 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1352
1353 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
1354 dependency discard.
1355
1356 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1357
1358 * grub-core/normal/main.c (read_config_file): Provide config_file and
1359 config_directory.
1360 * util/grub.d/41_custom.in: Use config_directoy when available.
1361
1362 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1363
1364 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
1365 (grub_bfs_dir): Likewise.
1366
1367 2012-05-27 Peter Jones <pjones@redhat.com>
1368
1369 The old code gives arguments to a printf function which can't work
1370 correctly, and the compiler complains.
1371
1372 * grub-core/tests/example_functional_test.c (example_test): Add
1373 missing text.
1374 * grub-core/tests/lib/test.c (add_failure): Rewrite.
1375 * include/grub/test.h (grub_test_assert_helper): New declaration.
1376 (grub_test_assert): Use grub_test_assert_helper.
1377
1378 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1379
1380 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
1381 (exfctest): ... this to avoid overlong filenames.
1382 All users updated.
1383
1384 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1385
1386 Handle "." and ".." on squashfs.
1387
1388 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
1389 Make inode numbers into stack.
1390 (grub_squash_read_symlink): Use stack.
1391 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
1392 (make_root_node): Fill stack.
1393 (grub_squash_open): Use stack.
1394
1395 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1396
1397 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
1398 freeing.
1399
1400 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1401
1402 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
1403 stderr on test calls.
1404
1405 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1406
1407 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
1408
1409 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1410
1411 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
1412
1413 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1414
1415 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
1416 "..".
1417
1418 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1419
1420 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
1421 (grub_hfsplus_iterate_dir): Add "." and "..".
1422
1423 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1424
1425 * grub-core/fs/cpio.c (canonicalize): Handle "..".
1426 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
1427
1428 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1429
1430 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
1431 (find_path): Handle "." and "..".
1432
1433 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1434
1435 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
1436 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
1437 (grub_affs_iterate_dir): Handle hardlinks.
1438
1439 2012-05-26 Matthew Garrett <mjg@redhat.com>
1440
1441 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
1442 (grub_efi_console_fini): Likewise.
1443 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
1444 (grub_video_gop_fill_mode_info): Rename to ...
1445 (grub_video_gop_fill_real_mode_info): ... this.
1446 (grub_video_gop_fill_mode_info): New function.
1447 (grub_video_gop_setup): Setup double framebuffer.
1448 (grub_video_gop_get_info_and_fini): Use original framebuffer.
1449 Free offscreen.
1450 (grub_video_gop_swap_buffers): Copy framebuffer.
1451 (grub_video_gop_fini): Free offscreen buffer.
1452 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
1453 New enum.
1454 (grub_efi_gop_blt_pixel): New struct.
1455
1456 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
1457
1458 * gentpl.py: Remove error disabling for objconv.
1459
1460 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
1461
1462 * configure.ac: Remove -Wunitialized as it's not available on older
1463 compilers.
1464
1465 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
1466
1467 Fix extent overflow comparator.
1468
1469 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
1470 (grub_hfsplus_read_block): Set type.
1471 (grub_hfsplus_cmp_extkey): Compare type.
1472
1473 2012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
1474
1475 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
1476
1477 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
1478
1479 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
1480 than 0.
1481
1482 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
1483
1484 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
1485 (dejavu_bold_14.pf2): New target.
1486
1487 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
1488
1489 * configure.ac: Fix djvu font detection.
1490
1491 2012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1492
1493 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
1494 ext* instead of ext2.
1495
1496 2012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1497
1498 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
1499 name with \0.
1500
1501 2012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
1502
1503 * docs/grub-dev.texi: Remove dot from .png.
1504
1505 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1506
1507 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
1508 protective entry in any slot.
1509 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
1510 if protective entry is found in any slot.
1511
1512 Protective entry in non-first slot make no sense but is a widespread
1513 brain damage.
1514
1515 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1516
1517 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
1518
1519 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1520
1521 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
1522 with old reiserfs.
1523 (grub_reiserfs_open): Don't free root.
1524
1525 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1526
1527 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
1528 after freeing for safety.
1529
1530 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1531
1532 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
1533 Reported by: Jordan Uggla.
1534
1535 2012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
1536
1537 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
1538 actual implementation. Specifically, clarify that the grub menu will
1539 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
1540 passed.
1541
1542 2012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
1543
1544 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
1545 of r0.
1546
1547 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1548
1549 Remove unjustified hard dependency of normal.mod on gfxterm.
1550
1551 * include/grub/term.h (grub_term_output): New member fullscreen.
1552 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
1553 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
1554 (grub_gfxterm): Set .fullscreen.
1555 * grub-core/normal/menu.c (menu_init): Use fullscreen.
1556 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
1557
1558 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1559
1560 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
1561 mentioning possible problems with non-ASCII (non-compliant) ISOs.
1562 Mention case-insensitive AFFS, SFS and JFS.
1563
1564 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1565
1566 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
1567
1568 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1569
1570 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
1571 a bad FS.
1572
1573 2012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1574
1575 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
1576 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
1577
1578 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1579
1580 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
1581 (grub_jfs_mount): Fill caseins.
1582 (grub_jfs_find_file): Respect caseins.
1583
1584 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1585
1586 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
1587 through UTF-16.
1588
1589 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1590
1591 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
1592 New argument origpath. All users updated.
1593
1594 2012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1595
1596 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
1597 (read_attr): Ensure that we read start of possibly compressed block.
1598
1599 2012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1600
1601 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
1602 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
1603 All users updated.
1604
1605 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1606
1607 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
1608 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
1609 (dejavu.pf2): Replace with ...
1610 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
1611 this.
1612
1613 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1614
1615 * util/grub.d/20_linux_xen.in: Add missing line.
1616
1617 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1618
1619 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
1620 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
1621 (grub_utf16_to_utf8): Likewise.
1622
1623 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
1624
1625 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
1626 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
1627 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
1628 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
1629 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
1630 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
1631
1632 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
1633
1634 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
1635 a bad FS.
1636
1637 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
1638
1639 * grub-core/fs/udf.c (read_string): Bail out on size=0.
1640 (grub_udf_read_symlink): Handle read_string failure.
1641
1642 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1643
1644 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
1645 comment.
1646
1647 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1648
1649 Fix handling of UDF symlinks.
1650
1651 * grub-core/fs/udf.c (read_string): New argument outbuf.
1652 All users updated.
1653 (grub_ufs_read_symlink): Rename to ...
1654 (grub_udf_read_symlink): ... this. All users updated.
1655 Handle symlinks with more than one component.
1656
1657 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1658
1659 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
1660 symlinks. Replace leading colon with a slash.
1661
1662 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1663
1664 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
1665 filename.
1666
1667 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1668
1669 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
1670 match in inner node.
1671
1672 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1673
1674 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
1675 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
1676 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
1677 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
1678 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
1679 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
1680 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
1681 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
1682 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
1683
1684 2012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1685
1686 Use grub-probe and not cmp to check that disk is empty.
1687
1688 * util/grub-install.in: Use grub-probe for zero-check.
1689 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
1690 (probe): Handle PRINT_ZERO_CHECK.
1691 (argp_parser): Handle -t zero_check.
1692
1693 2012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1694
1695 Flush block cache on adding disk to device map.
1696
1697 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
1698 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
1699 adding.
1700 (read_device_map): Likewise.
1701 (open_device): Flush on opening.
1702
1703 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1704
1705 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
1706 (handle_symlink): Fix off-by-one error.
1707 Canonicalize the target.
1708 (grub_cpio_dir): Canonicalize the name.
1709 Fix memory leak.
1710 Set directory.
1711 (grub_cpio_open): Canonicalize the name.
1712
1713 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1714
1715 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
1716 handling.
1717
1718 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1719
1720 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
1721 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
1722
1723 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1724
1725 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
1726 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
1727 All users updated.
1728
1729 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1730
1731 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
1732 counterpart.
1733
1734 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1735
1736 Fix UFS1 big file support.
1737
1738 * grub-core/fs/ufs.c (INODE): Removed.
1739 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
1740 64-bit.
1741 (INODE_MODE): Simplify.
1742 (grub_ufs_inode): Use uint64_t for size and not int64_t.
1743 (grub_ufs_lookup_symlink): Don't use INODE.
1744
1745 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1746
1747 Fix minixfs with non-power-of-two blocks since it's supported by minix.
1748
1749 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
1750 (grub_minix_data): Replace log_block_size with block_size.
1751 (grub_minix_read_file): Use block_size but avoid 64-bit division.
1752 (grub_minix_mount): Fill block_size.
1753
1754 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1755
1756 * configure.ac: Bump to beta5.
1757
1758 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1759
1760 Fix wrapped HFS+ handling.
1761
1762 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
1763 blocks_start. All users updated.
1764 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
1765 wrapping offset.
1766 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
1767
1768 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1769
1770 Fix long symlinks on reiserfs.
1771
1772 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
1773 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
1774 (grub_reiserfs_iterate_dir): Save size for non-directories.
1775 (grub_reiserfs_open): Don't reread stat block as we already know the
1776 size.
1777 (grub_reiserfs_read): Split into...
1778 (grub_reiserfs_read_real): ... and ...
1779 (grub_reiserfs_read): ...this.
1780
1781 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1782
1783 Fix non-indexed JFS.
1784
1785 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
1786 (grub_jfs_data): New field namecomponentlen.
1787 (grub_jfs_mount): Fill namecomponentlen.
1788 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
1789
1790 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1791
1792 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
1793 * tests/grub_script_echo1.in: Add tests.
1794
1795 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1796
1797 * util/grub-install.in: Ignore empty devicetree directory.
1798
1799 2012-05-08 Bean <bean123ch@gmail.com>
1800
1801 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
1802 All users updated.
1803 (free_rsm): Free header as well.
1804 (free_old_fragments): Fix memory leak.
1805 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
1806 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
1807 (destroy_pq): Likewise.
1808 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
1809
1810 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1811
1812 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
1813 resulting hash as a precaution.
1814
1815 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1816
1817 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
1818 '_' in variable names.
1819 * grub-core/net/net.c (grub_net_network_level_interface_register):
1820 Likewise.
1821
1822 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1823
1824 Fix AFFS with non-512B blocks.
1825
1826 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
1827 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
1828 (grub_affs_data): Replace blocksize with log_blocksize.
1829 (grub_affs_read_block): Fix non-512B blocks.
1830 (grub_affs_read_symlink): Likewise.
1831 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
1832 (grub_affs_read): Fix non-512B blocks.
1833 (grub_affs_label): Likewise.
1834 (grub_affs_mtime): Likewise.
1835 (grub_affs_mount): Fix block detection routine.
1836
1837 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1838
1839 Add filesystem mtime to AFFS.
1840
1841 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
1842 (aftime2ctime): New function.
1843 (grub_affs_dir): Use aftime2ctime.
1844 (grub_affs_label): Fix return value.
1845 (grub_affs_mtime): New function.
1846 (grub_affs_fs): Add mtime.
1847
1848 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1849
1850 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
1851 UTF-8.
1852
1853 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1854
1855 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
1856 UTF-8.
1857
1858 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1859
1860 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
1861
1862 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1863
1864 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
1865 flags.
1866 (FLAGS_CASE_SENSITIVE): New enum value.
1867 (cache_entry): New struct.
1868 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
1869 cache_size and cache.
1870 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
1871 Add log_blocksize and fshelp_flags.
1872 (grub_sfs_read_extent): Handle non-512 blocks.
1873 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
1874 (grub_sfs_read_file): Handle non-512 blocks.
1875 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
1876 fshelp_flags.
1877 (grub_sfs_read_symlink): Handle non-512 blocks.
1878 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
1879 (grub_sfs_dir): Free cache.
1880 (grub_sfs_close): Likewise.
1881
1882 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
1883
1884 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
1885 filesystems.
1886
1887 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
1888
1889 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
1890
1891 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
1892
1893 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
1894
1895 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
1896
1897 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
1898 (grub_sfs_read_extent): Likewise.
1899 (grub_sfs_read_block): Likewise.
1900 (grub_sfs_mount): Likewise.
1901 (grub_sfs_iterate_dir): Likewise.
1902 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
1903 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
1904
1905 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1906
1907 Fix errors on compressed NTFS with 512B clusters.
1908
1909 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
1910 types.
1911 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
1912 not 0.
1913 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
1914 Relax check for inline extents.
1915 (ntfscomp): Return correct -1 on error and not 0.
1916
1917 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1918
1919 * util/grub-install.in: Fix handling of prefix containing spaces.
1920
1921 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1922
1923 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
1924 (grub_squash_read_data): Fix offset byte-swapping.
1925
1926 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1927
1928 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
1929 per common usage and preffered in several parts of code.
1930 (grub_memcmp): Likewise.
1931 (grub_strncmp): Likewise.
1932 * include/grub/misc.h (grub_strcasecmp): Likewise.
1933 (grub_strncasecmp): Likewise.
1934 * Makefile.util.def (cmp_test): New test.
1935 (grub_script_strcmp): Likewise.
1936 * tests/cmp_unit_test.c: New file.
1937 * tests/grub_script_strcmp.in: Likewise.
1938 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
1939
1940 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1941
1942 * include/grub/pci.h: Move enums into no-asm part.
1943
1944 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1945
1946 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
1947
1948 2012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
1949
1950 * util/getroot.c (find_hurd_root_device): Try to make error message
1951 and comments to translators clearer.
1952
1953 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1954
1955 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
1956
1957 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1958
1959 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
1960 btrfs.
1961
1962 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1963
1964 * docs/grub.cfg: Update.
1965
1966 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1967
1968 * docs/grub.texi (PXE): Remove not present variables.
1969
1970 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1971
1972 * grub-core/net/net.c (defserver_set_env): New function.
1973 (defserver_get_env): Likewise.
1974 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
1975
1976 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1977
1978 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
1979 entries.
1980
1981 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1982
1983 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
1984 * grub-core/kern/emu/hostdisk.c: Likewise.
1985
1986 2012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
1987
1988 Handle hurd userspace partitions.
1989
1990 * util/getroot.c (find_hurd_root_device): New function.
1991 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
1992
1993 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1994
1995 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
1996 names.
1997 Reported by: Bastian Blank.
1998
1999 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2000
2001 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
2002 crossing page boundary.
2003
2004 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2005
2006 Fix B-tree search in BFS, especially in presence of non-ASCII
2007 characters.
2008
2009 * grub-core/fs/bfs.c (bfs_strcmp): New function.
2010 (find_in_b_tree): Use standard bsearch + btree algorithm.
2011
2012 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2013
2014 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
2015 and so on.
2016
2017 2012-05-03 Matthew Garrett <mjg@redhat.com>
2018 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2019
2020 Suspend broadcom cards in order to stop their DMA.
2021
2022 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
2023 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
2024 (pci): Don't build on x86 EFI.
2025 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
2026 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
2027 New function.
2028 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
2029 stop_broadcom if running on EFI.
2030 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
2031 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
2032 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
2033 (grub_pci_find_capability): New proto.
2034
2035 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2036
2037 * docs/grub.texi: Remove dot from the extension as it apparently
2038 doesn't work with some makeinfo versions.
2039
2040 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2041
2042 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
2043 with GRUB expectance.
2044
2045 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2046
2047 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
2048
2049 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2050
2051 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
2052 zero after directory block since last entry may be not 0-terminated if
2053 it ends on block boundary. Use continue instead of if spanning whole
2054 loop.
2055
2056 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2057
2058 Support 4K sectors UDF inline files.
2059
2060 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
2061 (grub_udf_extended_file_entry): Likewise.
2062 (grub_fshelp_node): Name the anonymous union. Put block at the end.
2063 All users updated.
2064 (get_fshelp_size): New function.
2065 (grub_udf_read_icb): Read whole block.
2066 (grub_udf_iterate_dir): Likewise.
2067 (grub_udf_dir): Likewise.
2068 (grub_udf_open): Likewise.
2069
2070 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2071
2072 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
2073
2074 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2075
2076 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
2077 inline symlinks in addition to workaround.
2078
2079 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2080
2081 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
2082
2083 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2084
2085 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
2086
2087 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2088
2089 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
2090
2091 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2092
2093 Fix reiserfs big seek times.
2094
2095 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
2096 exact. All users updated.
2097 (grub_reiserfs_read): Use nearest btree search for seeking.
2098 Fix return value on error.
2099
2100 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2101
2102 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
2103 entries.
2104 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
2105 * docs/grub.texi: Update menuentry description.
2106
2107 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2108
2109 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
2110 crash when embedding onto filesystem.
2111
2112 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2113
2114 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
2115 name.
2116
2117 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2118
2119 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
2120
2121 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2122
2123 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
2124 commit.
2125
2126 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2127 2012-05-01 Bean <bean123ch@gmail.com>
2128
2129 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
2130
2131 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2132
2133 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
2134 Special behaviour for len = 0 to read whole file isn't used anywhere and
2135 can cause buffer ovewrflows in several places.
2136
2137 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2138
2139 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
2140
2141 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2142
2143 Handle RAIDZ on non-512B sectors.
2144
2145 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
2146 max_children_ashift.
2147 (fill_vdev_info_real): Fill max_children_ashift.
2148 (read_device): Use max_children_ashift.
2149
2150 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2151
2152 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
2153
2154 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2155
2156 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
2157 disk names.
2158 * docs/grub.texi: Update device.map parts.
2159
2160 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2161
2162 Don't scan into non-diskfilter devices having diskfilter names.
2163
2164 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
2165 (scan_disk): New argument accept_diskfilter. Fix recursion depth
2166 handling.
2167 (scan_disk_hook): New function.
2168
2169 2012-04-29 Bean <bean123ch@gmail.com>
2170
2171 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
2172 allocation.
2173
2174 2012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
2175
2176 * configure.ac: Detect starfield theme font path
2177 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
2178
2179 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2180
2181 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
2182 geometry on serial consoles.
2183
2184 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2185
2186 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
2187 because of network consoles.
2188
2189 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2190
2191 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
2192 handling.
2193
2194 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2195
2196 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
2197 falls on Q syndrom.
2198
2199 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2200
2201 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
2202 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
2203
2204 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2205
2206 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
2207 Allocate at lest 8192 for temporary buffer as required for lzo.
2208
2209 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2210
2211 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
2212 to cluster_bits, since it's already added in.
2213 (grub_fat_read_data): Likewise.
2214
2215 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2216
2217 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
2218 as long as cluster size is multiple of 512 bytes.
2219
2220 2012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
2221
2222 * util/grub-mkrescue.in: Fix locale directory.
2223
2224 2012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
2225
2226 * grub-core/kern/emu/hostdisk.c (map): Make static.
2227
2228 2012-04-23 Bean <bean123ch@gmail.com>
2229
2230 * util/grub-fstest.c (fstest): Add missing break.
2231
2232 2012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
2233
2234 Fix hurd build.
2235
2236 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
2237 not define nr variable.
2238 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
2239 find_root_devices_from_poolname, find_root_devices_from_libzfs,
2240 grub_find_device): Do not define.
2241
2242 2012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2243
2244 Fix kfreebsd compile and behaviour.
2245
2246 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
2247 format-security.
2248 * util/getroot.c: Fix wait.h include.
2249 (grub_guess_root_devices): Error if grub_find_device fails.
2250 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
2251 (grub_util_get_dev_abstraction): Likewise.
2252 (grub_util_pull_device): Likewise.
2253 (grub_util_get_grub_dev): Likewise.
2254 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
2255
2256 2012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2257
2258 Fix and unify wholedisk detection.
2259
2260 * util/getroot.c (convert_system_partition_to_system_disk): New argument
2261 is_part. All users updated.
2262 (device_is_wholedisk): Removed.
2263 (grub_util_biosdisk_get_grub_dev): Use is_part.
2264
2265 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2266
2267 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
2268 mode.
2269
2270 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2271
2272 * configure.ac: Bump to beta4.
2273
2274 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2275
2276 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
2277 --fs-uuid --set UUID syntax.
2278
2279 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2280
2281 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
2282 disunification.
2283
2284 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2285
2286 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
2287
2288 2012-04-18 Mads Kiilerich <mads@kiilerich.com>
2289
2290 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
2291
2292 2012-04-18 Mike Gilbert <floppym@gentoo.org>
2293
2294 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
2295
2296 2012-04-18 Bean <bean123ch@gmail.com>
2297
2298 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
2299 place.
2300
2301 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2302
2303 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
2304 users updated.
2305 (grub_util_biosdisk_read): Handle Linux partitions not exactly
2306 corresponding to GRUB partitions.
2307 (grub_util_biosdisk_write): Likewise.
2308
2309 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2310
2311 Scan mdraid before LVM.
2312
2313 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
2314 (grub_diskfilter_register_front): ... this.
2315 (grub_diskfilter_register_back): New function.
2316 All users of grub_diskfilter_register updated.
2317
2318 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2319
2320 * util/grub-install.in: Fix an automatic target detection bug.
2321
2322 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2323
2324 * util/grub-install.in: New option --efi-directory.
2325
2326 2012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2327
2328 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
2329 boot services if we have no other choice.
2330
2331 2012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2332
2333 * util/grub-mknetdir.in: Rename --override-directory to --directory and
2334 document it.
2335 * tests/util/grub-shell.in: Update to --directory.
2336
2337 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2338
2339 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
2340
2341 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2342
2343 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
2344 (grub_minix_read_file): Likewise.
2345 (grub_minix_read_inode): Likewise.
2346 (grub_minix_find_file): Likewise.
2347 (grub_minix_dir): Likewise.
2348
2349 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2350
2351 * util/grub-setup.c (setup): Fix partition handling and blocklist
2352 check.
2353
2354 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2355
2356 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
2357 redundant buggy overlap check.
2358
2359 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2360
2361 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
2362 and grub-mknetdir.
2363
2364 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2365
2366 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
2367 kh.loadflags on pre-2.00 kernels.
2368
2369 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2370
2371 Terminate UNDI and PXE before launching the payload to avoid problems
2372 with DMA.
2373
2374 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
2375 (grub_loader_flags): ... this. All users updated.
2376 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
2377 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
2378 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
2379 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
2380 function.
2381 (grub_pxe_restore): Likewise.
2382 (fini_hnd): New var.
2383 (GRUB_MOD_INIT): Register shutdown hook.
2384 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
2385 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
2386 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
2387 (grub_loader_set): Rename second argument to flags.
2388
2389 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2390
2391 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
2392 written bytes.
2393 (grub_get_num_of_utf8_bytes): New function.
2394 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
2395 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
2396 executing it.
2397 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
2398 (grub_ucs4_to_utf8): Change return type.
2399
2400 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2401
2402 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
2403 warning.
2404 * grub-core/fs/bfs.c (hop_level): Likewise.
2405 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
2406
2407 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2408
2409 * grub-core/lib/adler32.c: Recode due to license unclearness.
2410
2411 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2412
2413 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
2414 (test_header): Likewise.
2415
2416 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2417
2418 Fix --help formatting.
2419
2420 * util/grub-mkconfig_lib.in (print_option_help): New function.
2421 (grub_fmt): Likewise.
2422 * util/grub-install.in: Use print_option_help and grub_fmt.
2423 * util/grub-kbdcomp.in: Likewise.
2424 * util/grub-mkconfig.in: Likewise.
2425 * util/grub-mknetdir.in: Likewise.
2426 * util/grub-mkrescue.in: Likewise.
2427 * util/grub-mkstandalone.in: Likewise.
2428 * util/grub-reboot.in: Likewise.
2429 * util/grub-set-default.in: Likewise.
2430 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2431
2432 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2433
2434 * linguas.sh: Remove autogenerated *.po.
2435
2436 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2437
2438 * po/README: Move language fetcing to ...
2439 * linguas.sh: ... here.
2440 * po/README: Point to linguas.sh.
2441
2442 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2443
2444 * po/README: Exclude ko.po due to disclaimer problems.
2445
2446 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2447
2448 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
2449 len = 0.
2450 (grub_gettext_translate_real): Handle 0th string.
2451 (grub_gettext_translate): Ensure that "" isn't translated.
2452
2453 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2454
2455 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
2456 TRANSLATORS comment.
2457 (grub_diskfilter_print_partmap): Propagate changing of error into
2458 warning.
2459
2460 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2461
2462 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
2463 to uint64_t to prevent overflow.
2464 (grub_diskfilter_lv): Increase start_extent and extent_count
2465 to uint64_t to prevent overflow.
2466
2467 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2468
2469 * configure.ac: Increase version.
2470
2471 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2472
2473 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
2474
2475 * po/Rules-translit: New file.
2476 * po/arabic.sed: Likewise.
2477 * po/cyrillic.sed: Likewise.
2478 * po/greek.sed: Likewise.
2479 * po/hebrew.sed: Likewise.
2480 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
2481 * po/Makefile.in.in: Add extra_dist4.
2482
2483 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2484
2485 Handle big-endian minixfs (fixes minixfs tests on bigendian).
2486
2487 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
2488 modify names. Introduce MODE_BIGENDIAN.
2489 * grub-core/fs/minix_be.c: New file.
2490 * grub-core/fs/minix2_be.c: Likewise
2491 * grub-core/fs/minix3_be.c: Likewise.
2492 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
2493 minix3_be.
2494 * grub-core/Makefile.core.def (minix_be): New module.
2495 (minix2_be): Likewise.
2496 (minix3_be): Likewise.
2497
2498 2012-04-01 Felix <email@hamburg.de>
2499
2500 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
2501 (devs): Add MBP 2011.
2502
2503 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2504
2505 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
2506
2507 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2508
2509 * grub-core/normal/cmdline.c (print_completion): New field
2510 prompt_len.
2511 (grub_cmdline_get): Handle width properly.
2512
2513 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2514
2515 * grub-core/commands/lsacpi.c (options): Add missing terminator.
2516
2517 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2518
2519 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
2520 after 29th of February.
2521
2522 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2523
2524 Fix exfat endianness handling.
2525
2526 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
2527 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
2528 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
2529 Byte-swap utf16 when necessary.
2530 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
2531
2532 2012-03-31 Anton Blanchard <anton@samba.org>
2533 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2534
2535 Fix btrfs endianness handling.
2536
2537 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
2538 (lower_bound): Make root uint64_t. Use root in le.
2539 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
2540 (find_path): Fix template key init.
2541 (grub_btrfs_dir): Fix mtime byteswap.
2542 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
2543
2544 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2545
2546 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
2547 recursion_depth. Break infinite resursions. All users updated.
2548
2549 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2550
2551 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
2552 after free.
2553 Reported by: Peter Jones.
2554
2555 2012-03-31 Anton Blanchard <anton@samba.org>
2556
2557 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
2558 8 bit values.
2559
2560 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2561
2562 * util/grub-install.in: Fix nvram call for PreP.
2563
2564 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2565
2566 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
2567 the error when some elements are missing into a warning.
2568
2569 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2570
2571 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
2572
2573 2012-03-28 Colin Watson <cjwatson@ubuntu.com>
2574
2575 * docs/grub.texi (Invoking grub-probe): New section.
2576 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
2577
2578 2012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
2579
2580 Fix tab and wide character handling in editor and menu.
2581
2582 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
2583 agglomerate control characters with combining marks.
2584 (bidi_line_wrap): Allow break on tab.
2585 (grub_unicode_get_comb_start): New function.
2586 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
2587 and tab correctly.
2588 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
2589 with a space.
2590 * grub-core/normal/term.c (print_ucs4_terminal): New argument
2591 fixed_tab_size. All users updated.
2592 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
2593 (grub_term_getcharwidth): Handle \t.
2594 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
2595 and copy.
2596
2597 2012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2598
2599 Handle big-endian mdraid.
2600
2601 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
2602 * grub-core/Makefile.core.def (mdraid09_be): New module.
2603 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
2604 rather than grub_le_to_cpu* and grub_cpu_to_le*.
2605 * grub-core/disk/mdraid_linux_be.c: New file.
2606
2607 2012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2608
2609 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
2610
2611 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2612
2613 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
2614 missing quotes which caused confusion among translators.
2615
2616 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2617
2618 * util/grub-mkconfig_lib.in: Fix typo.
2619
2620 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2621
2622 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
2623 spaces.
2624 * tests/grub_script_leading_whitespace.in: New file.
2625 * Makefile.util.def (grub_script_leading_whitespace): New test.
2626
2627 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2628
2629 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
2630 to work.
2631
2632 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2633
2634 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
2635 starts with control character.
2636
2637 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2638
2639 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
2640 overflow.
2641 (grub_gdb_outbuf): Likewise.
2642
2643 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2644
2645 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
2646 zero terminator. Fixes a crash.
2647
2648 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2649
2650 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
2651 beyond 4 GiB.
2652 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
2653 images independently of preffered adderss field.
2654
2655 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2656
2657 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
2658 * grub-core/commands/regexp.c: Likewise.
2659 * grub-core/loader/i386/linux.c: Likewise.
2660 * grub-core/partmap/msdos.c: Likewise.
2661 * grub-core/script/execute.c: Likewise.
2662 * grub-core/term/gfxterm.c: Likewise.
2663
2664 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2665
2666 Add variable parsing in $"..." and fix several mismatches with bash.
2667
2668 * Makefile.util.def (grub_script_gettext): New test.
2669 * grub-core/script/execute.c (parse_string): New function.
2670 (gettext_append): Likewise.
2671 (grub_script_arglist_to_argv): Use gettext_append.
2672 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
2673 * tests/grub_script_gettext.in: New file.
2674
2675 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2676
2677 Fix handling of leading spaces in scripts.
2678
2679 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
2680 spaces.
2681 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
2682 other than skipping \r. All users updated.
2683 * tests/grub_script_echo1.in: Add space-related tests.
2684 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
2685
2686 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2687
2688 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
2689
2690 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2691
2692 * configure.ac: Bump up the version to beta2.
2693
2694 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2695
2696 Fix gettext reload bugs (e.g. inability to disable gettext
2697 once enabled).
2698
2699 * grub-core/gettext/gettext.c: Encapsulate all static variables in
2700 main_context and secondary_context. All functions updated.
2701 (grub_gettext_translate): Rename to ...
2702 (grub_gettext_translate_real): ... this. Return NULL on failed
2703 translate.
2704 (grub_gettext_translate): Handle secondary context.
2705 (grub_gettext_delete_list): Close file and zero-out the context.
2706 (grub_mofile_open): Don't call grub_gettext_delete_list.
2707 Don't close file.
2708 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
2709 if locale="" to avoid pointless error message.
2710 (grub_gettext_env_write_lang): Update lang even if load fails.
2711 Handle secondary context.
2712 (grub_gettext_reread_prefix): New function.
2713 (read_main): Likewise.
2714 (read_secondary): Likewise.
2715 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
2716 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
2717 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
2718 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
2719
2720 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2721
2722 * configure.ac: Decrease warning level to avoid spurious warnings and
2723 to be able to compile with GCC 4.2.
2724 * Makefile.util.def: Remove -Wno-error=logical-op.
2725
2726 2012-03-10 William Bittner <william.bittner@gmail.com>
2727
2728 * util/import_unicode.py: Add missing brackets around string for
2729 python 3 support.
2730
2731 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2732
2733 Fix efi chainloader on network root.
2734
2735 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
2736 network devices.
2737 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
2738 New function.
2739
2740 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2741
2742 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
2743 unused show_text member.
2744 * docs/grub.texi: Document "text" property.
2745
2746 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2747
2748 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
2749 in dprintf.
2750
2751 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2752
2753 Fix IMSM handling on Fedora.
2754
2755 * util/getroot.c (grub_util_is_imsm): New function.
2756 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
2757
2758 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2759
2760 * Makefile.am: Strip gold section.
2761 * conf/Makefile.common: Likewise.
2762 * gentpl.py: Likewise.
2763 * grub-core/Makefile.core.def: Likewise.
2764 * grub-core/genmod.sh.in: Likewise.
2765
2766 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2767
2768 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
2769 * util/grub.d/20_linux_xen.in: Likewise.
2770 Based on Debian patch.
2771
2772 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2773
2774 * util/grub.d/10_linux.in: Fix syntax error resulting in
2775 Richard Laager's patch.
2776 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
2777
2778 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2779
2780 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
2781 dependencies.
2782
2783 2012-03-10 Richard Laager <rlaager@wiktel.com>
2784
2785 * util/grub.d/10_linux.in: Fix ZFS root passing.
2786
2787 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2788
2789 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
2790 * grub-core/commands/xnu_uuid.c: Likewise.
2791 * grub-core/loader/efi/appleloader.c: Likewise.
2792 * grub-core/script/execute.c: Likewise.
2793 * grub-core/script/main.c: Likewise.
2794 * util/grub-mkfont.c: Likewise.
2795
2796 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2797
2798 * util/grub-mkfont.c (options): Use more appropriate "select" that
2799 "set" for face index.
2800
2801 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2802
2803 * util/grub-editenv.c (options): Gettextize command summaries.
2804
2805 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2806
2807 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
2808 "out of memory" error messagge.
2809
2810 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2811
2812 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
2813 of diskfilter for diskfilter on diskfilter support.
2814
2815 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2816
2817 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
2818
2819 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2820
2821 * util/grub-install.in: Check for themes/starfield/theme.txt and not
2822 themes/starfield.
2823
2824 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2825
2826 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
2827
2828 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2829
2830 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
2831
2832 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2833
2834 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
2835 of error message.
2836
2837 2012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
2838
2839 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
2840
2841 2012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
2842
2843 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
2844 message.
2845 * util/grub-install.in: Fix and gettextize error message.
2846
2847 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2848
2849 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
2850 Gettextize.
2851 * util/grub-mount.c (options): Likewise.
2852
2853 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2854
2855 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
2856 gettextize.
2857 * grub-core/commands/search_wrap.c (options): Likewise.
2858
2859 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2860
2861 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
2862
2863 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2864
2865 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
2866 size calculation.
2867 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
2868 none is known.
2869
2870 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2871
2872 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
2873 "temporary" since it's used in identifier and is limited in space.
2874
2875 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2876
2877 * po/POTFILES.in: Regenerate. Include *.h since they contain
2878 translatable strings as well.
2879
2880 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2881
2882 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
2883 byte-swap on big-endian.
2884 Reported by: Lennart Sorensen
2885
2886 2012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
2887
2888 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
2889 (allocate_pages): Improve dprintf.
2890 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
2891 code32_start. Fill code32_start and kernel_alignment in params.
2892 (grub_cmd_initrd): Use prot_init_space.
2893
2894 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2895
2896 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
2897
2898 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2899
2900 * util/grub-install.in: Add missing dot at the end of sentence.
2901
2902 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2903
2904 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
2905 * grub-core/commands/videotest.c: Likewise.
2906 * grub-core/loader/i386/linux.c: Likewise.
2907
2908 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2909
2910 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
2911 sentence.
2912 Reported by: Milo Casagrande.
2913
2914 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2915
2916 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
2917 * grub-core/commands/gptsync.c: Likewise.
2918 * grub-core/commands/hashsum.c: Likewise.
2919 * grub-core/commands/i386/pc/sendkey.c: Likewise.
2920 * grub-core/commands/legacycfg.c: Likewise.
2921 * grub-core/io/gzio.c: Likewise.
2922 * grub-core/net/net.c: Likewise.
2923 * grub-core/term/gfxterm.c: Likewise.
2924 * grub-core/term/terminfo.c: Likewise.
2925 * grub-core/tests/test_blockarg.c: Likewise.
2926 * grub-core/video/video.c: Likewise.
2927 * util/grub-install.in: Likewise.
2928 * util/grub-mkfont.c: Likewise.
2929
2930 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2931
2932 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
2933
2934 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2935
2936 * grub-core/commands/search_wrap.c (options): Fix a typo.
2937 Reported by: David Prévot.
2938
2939 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2940
2941 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
2942 description.
2943
2944 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2945
2946 * util/grub-script-check.c (main): Fix a syntax error message which was
2947 unclear.
2948
2949 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2950
2951 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
2952
2953 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2954
2955 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
2956 messages.
2957
2958 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2959
2960 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
2961 without argument.
2962 * util/grub-mount.c (options): Likewise.
2963
2964 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2965
2966 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
2967
2968 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2969
2970 * grub-core/net/http.c: Add TRANSLATORS comments.
2971 * grub-core/normal/cmdline.c: Likewise.
2972 * grub-core/normal/misc.c: Likewise.
2973 * grub-core/partmap/msdos.c: Likewise.
2974 * grub-core/parttool/msdospart.c: Likewise.
2975 * grub-core/script/execute.c: Likewise.
2976 * grub-core/script/main.c: Likewise.
2977 * grub-core/term/terminfo.c: Likewise.
2978 * grub-core/video/bitmap.c: Likewise.
2979 * util/grub-install.in: Likewise.
2980 * util/grub-mkimage.c: Likewise.
2981 * util/grub-mklayout.c: Likewise.
2982 * util/grub-setup.c: Likewise.
2983
2984 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2985
2986 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
2987 with similar messages in grub-fstest.
2988
2989 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2990
2991 * util/grub-install.in: Unify "option requires an argument" message
2992 with similar messages in other files.
2993 * util/grub-mkconfig.in: Likewise.
2994
2995 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2996
2997 * util/grub-set-default.in: Replace printf with gettext_printf (the
2998 string in in question is already translated from grub-reboot)
2999
3000 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3001
3002 * configure.ac: Bump up the version to beta1.
3003
3004 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3005
3006 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
3007 case when min_align = 0.
3008
3009 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3010
3011 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
3012 and fix a case when line_start overflows.
3013
3014 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3015
3016 * util/grub-reboot.in (usage): Mention id posibility.
3017 * util/grub-set-default.in (usage): Likewise.
3018
3019 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3020
3021 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
3022 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
3023 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
3024 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
3025 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
3026 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3027 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3028
3029 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3030
3031 * grub-core/commands/menuentry.c (options): Remove
3032 GRUB_ARG_OPTION_REPEATABLE.
3033 Reported by: Andreas Vogel
3034
3035 2012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
3036
3037 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
3038
3039 2012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
3040
3041 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
3042 error.
3043
3044 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3045
3046 Use sort -V by the idea of Georgi Georgiev.
3047
3048 * util/grub-mkconfig_lib.in (version_sort): New function.
3049 (version_test_numeric): Use version_sort.
3050
3051 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3052
3053 Use submenus in grub-mkconfig.
3054
3055 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
3056 * util/grub-mkconfig_lib.in (grub_quote): New function.
3057 (gettext_printf): Use gettext and not gettext_quoted to fix several
3058 messages.
3059 * util/grub.d/10_hurd.in: Use submenus.
3060 * util/grub.d/10_kfreebsd.in: Likewise.
3061 * util/grub.d/10_linux.in: Likewise.
3062 * util/grub.d/10_netbsd.in: Likewise.
3063 * util/grub.d/20_linux_xen.in: Likewise.
3064 * util/grub.d/30_os-prober.in: Likewise.
3065 * util/grub.d/10_illumos.in: Add missing quoting.
3066 * util/grub.d/10_windows.in: Likewise.
3067
3068 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3069
3070 Fix menu title instability bug.
3071
3072 * grub-core/commands/menuentry.c (options): New option --id.
3073 (grub_normal_add_menu_entry): New argument id. All users updated.
3074 (grub_cmd_menuentry): Handle --id.
3075 (grub_menu_init): Accept unknown arguments.
3076 * grub-core/normal/main.c (features): Add feature_menuentry_id and
3077 feature_menuentry_options.
3078 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
3079 saved_entry.
3080 (get_entry_number): Match with id as well.
3081 * include/grub/menu.h (grub_menu_entry): New member id.
3082 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
3083 * util/grub.d/00_header.in: Define menuentry_id_option.
3084 * util/grub.d/10_hurd.in: Define id.
3085 * util/grub.d/10_illumos.in: Likewise.
3086 * util/grub.d/10_kfreebsd.in: Likewise.
3087 * util/grub.d/10_linux.in: Likewise.
3088 * util/grub.d/10_netbsd.in: Likewise.
3089 * util/grub.d/10_windows.in: Likewise.
3090 * util/grub.d/20_linux_xen.in: Likewise.
3091 * util/grub.d/30_os-prober.in: Likewise.
3092
3093 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3094
3095 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
3096 "scope" with "body".
3097
3098 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3099
3100 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
3101 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
3102 prot_size and prot_file_size.
3103
3104 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3105
3106 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
3107 All users updated. If easily=1 require raid-5/-6 to be full.
3108 (is_node_readable): Likewise.
3109 (scan_devices): Scan incomplete but readable LVs at the end.
3110 (grub_diskfilter_memberlist): Pull missing devices.
3111 (insert_array): Skip scanning until device is complete or scan is
3112 done otherwise.
3113 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
3114 check.
3115 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
3116 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
3117
3118 2012-03-03 Matthew Garrett <mjg@redhat.com>
3119 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3120
3121 Avoid EFI boot services when loading Linux.
3122
3123 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
3124 avoid_efi_bootservices. All users updated.
3125 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
3126 argument avoid_efi_bootservices. All users updated.
3127 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
3128 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
3129 align, min_align, relocatable, prefered_address. All users updated.
3130 Allocate avoiding boot services if kernel is relocatable.
3131 (grub_cmd_linux): Check if kernel is relocatable.
3132 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
3133 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
3134 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
3135 avoid_efi_boot_services.
3136 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
3137 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
3138 (linux_kernel_params): Likewise.
3139
3140 2012-03-03 Matthew Garrett <mjg@redhat.com>
3141 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3142
3143 Use EDID on EFI.
3144
3145 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
3146 datasize_out.
3147 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
3148 modes. Set gop_handle.
3149 (grub_video_gop_get_edid): New function.
3150 (grub_gop_get_preferred_mode): Likewise.
3151 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
3152 (grub_video_efi_gop_adapter): Set .get_edid.
3153 * include/grub/efi/edid.h: New file.
3154 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
3155
3156 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3157
3158 * util/grub-install.in: Load efivars unconditionally.
3159
3160 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3161
3162 * po/Rules-piglatin: Change suffix from .po-update-en to
3163 .po-update-en-piglatin.
3164
3165 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3166
3167 Add a pig farm.
3168
3169 * po/piglatin.sed: New file.
3170 * po/en@piglatin.header: Likewise.
3171 * po/Rules-piglatin: Likewise.
3172 * po/README: Add en@piglatin to autogenerated languages.
3173
3174 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3175
3176 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
3177 "Command for ...".
3178 * grub-core/commands/hdparm.c (options): Use "Display" rather than
3179 "Check" since we don't check anything.
3180 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
3181 is 64-bit one.
3182 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
3183 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
3184 (grub_md_sha512_real): Likewise.
3185
3186 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3187
3188 * grub-core/commands/gptsync.c: Fix typographic quoting.
3189 * grub-core/commands/ieee1275/suspend.c: Likewise.
3190 * grub-core/commands/parttool.c: Likewise.
3191 * grub-core/commands/search_wrap.c: Likewise.
3192 * grub-core/commands/videoinfo.c: Likewise.
3193 * grub-core/gfxmenu/gui_label.c: Likewise.
3194 * grub-core/hello/hello.c: Likewise.
3195 * grub-core/kern/emu/main.c: Likewise.
3196 * grub-core/net/net.c: Likewise.
3197 * grub-core/normal/menu.c: Likewise.
3198 * grub-core/normal/menu_text.c: Likewise.
3199 * grub-core/normal/misc.c: Likewise.
3200 * util/grub-editenv.c: Likewise.
3201 * util/grub-install.in: Likewise.
3202 * util/grub-kbdcomp.in: Likewise.
3203 * util/grub-mkconfig.in: Likewise.
3204 * util/grub-mknetdir.in: Likewise.
3205 * util/grub-mkrescue.in: Likewise.
3206 * util/grub-mkstandalone.in: Likewise.
3207 * util/grub-reboot.in: Likewise.
3208 * util/grub-set-default.in: Likewise.
3209 * util/grub-setup.c: Likewise.
3210 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3211
3212 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3213
3214 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
3215 * grub-core/commands/keystatus.c: Likewise.
3216 * grub-core/commands/loadenv.c: Likewise.
3217 * grub-core/commands/probe.c: Likewise.
3218 * grub-core/commands/regexp.c: Likewise.
3219 * grub-core/commands/true.c: Likewise.
3220 * grub-core/commands/videoinfo.c: Likewise.
3221 * grub-core/disk/cryptodisk.c: Likewise.
3222 * grub-core/disk/ldm.c: Likewise.
3223 * grub-core/disk/loopback.c: Likewise.
3224 * grub-core/disk/luks.c: Likewise.
3225 * grub-core/fs/zfs/zfsinfo.c: Likewise.
3226 * grub-core/kern/disk.c: Likewise.
3227 * grub-core/kern/emu/hostdisk.c: Likewise.
3228
3229 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3230
3231 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
3232 * util/grub-install.in: Add missing quote in the comment.
3233
3234 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3235
3236 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
3237 * grub-core/commands/lsmmap.c: Likewise.
3238 * grub-core/commands/minicmd.c: Likewise.
3239 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
3240 * grub-core/commands/regexp.c: Likewise.
3241 * grub-core/gdb/gdb.c: Likewise.
3242 * grub-core/term/gfxterm.c: Likewise.
3243 * util/grub-mkconfig.in: Likewise.
3244 * util/grub-mkfont.c: Likewise.
3245 * util/grub-mklayout.c: Likewise.
3246 * util/grub-mknetdir.in: Likewise.
3247 * util/grub-mkrescue.in: Likewise.
3248 * util/grub.d/30_os-prober.in: Likewise.
3249
3250 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3251
3252 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
3253 with "Direct color" and "Packed" with "Packed pixel".
3254 (grub_cmd_videoinfo): Simplify legend.
3255
3256 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3257
3258 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
3259 absolutely unclear error message.
3260
3261 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3262
3263 * util/grub-mkstandalone.in: Remove confusing leftover print.
3264
3265 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3266
3267 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
3268 comments.
3269 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
3270 (GRUB_MOD_INIT): Likewise.
3271 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
3272 VGA mode.
3273 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
3274 comments.
3275 * util/grub-install.in (usage): Likewise.
3276 Spell ID in whole letters.
3277 Add missing ending dot.
3278 Quote variables.
3279 * util/grub-reboot.in: Fix capitalisation.
3280 * util/grub-set-default.in: Likewise.
3281
3282 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3283
3284 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
3285 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
3286 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
3287 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
3288 Disable -Werror for -Wdeprecated-declarations.
3289 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
3290 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
3291 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
3292 (grub_util_get_grub_dev): Make luks handling dependent on
3293 HAVE_DEVICE_MAPPER and not __linux__.
3294 (get_win32_path): Fix format security.
3295 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
3296 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
3297 Don't try grub_find_zpool_from_dir.
3298 (grub_make_system_path_relative_to_its_root) [!__linux__]:
3299 #ifdef-out paresdir.
3300
3301 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3302
3303 * util/grub-pe2elf.c (usage): Add missing noreturn.
3304 (write_section_data): Rename name to shname to avoid shadowing.
3305 (write_symbol_table): Rename name to symname to avoid shadowing.
3306 Fix write_reloc_section call.
3307
3308 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3309
3310 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
3311 to ensure that it's after the last byte of .text.
3312
3313 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3314
3315 * util/ieee1275/ofpath.c (my_isdigit): New function.
3316 (trailing_digits): Use my_isdigit.
3317 (strip_trailing_digits): Likewise.
3318
3319 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3320
3321 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
3322 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
3323
3324 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3325
3326 * grub-core/kern/i386/pc/startup.S: Define __start.
3327
3328 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3329
3330 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
3331 strip already transforms he format.
3332
3333 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3334
3335 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
3336
3337 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3338
3339 * util/grub-install.in: Add missing gettext init.
3340 * util/grub-kbdcomp.in: Likewise.
3341 * util/grub-mkconfig.in: Likewise.
3342 * util/grub-mknetdir.in: Likewise.
3343 * util/grub-mkrescue.in: Likewise.
3344 * util/grub-mkstandalone.in: Likewise.
3345 * util/grub-reboot.in: Likewise.
3346 * util/grub-set-default.in: Likewise.
3347 * util/grub.d/00_header.in: Likewise.
3348 * util/grub.d/10_hurd.in: Likewise.
3349 * util/grub.d/10_windows.in: Likewise.
3350 * util/grub.d/30_os-prober.in: Likewise.
3351 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3352
3353 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3354
3355 * po/Rules-swiss: Fix header comment.
3356
3357 2012-02-29 Andreas Vogel <anvoit>
3358
3359 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
3360 resulted in leak of arguments.
3361
3362 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3363
3364 * grub-core/boot/i386/pc/startup_raw.S: Use separate
3365 reed_solomon_size const definition instead of computing it since
3366 Apple assembler doesn't support the later.
3367
3368 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3369
3370 * gentpl.py (kernel): Rewrite Apple part.
3371
3372 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3373
3374 * include/grub/kernel.h (FOR_MODULES): Check module magic.
3375
3376 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3377
3378 * util/grub-mkimagexx.c (locate_sections): Support non-standard
3379 ELF section gap.
3380 (load_image): Likewise.
3381
3382 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3383
3384 * configure.ac: Fix a typo in previous commit.
3385
3386 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3387
3388 Don't add -Wl,-N on Apple platform.
3389
3390 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
3391 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
3392
3393 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3394
3395 * grub-core/Makefile.core.def (lzma_decompress): Use
3396 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
3397
3398 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3399
3400 * grub-core/genmod.sh.in: Rewrite the Apple part.
3401
3402 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3403
3404 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
3405 comparison.
3406
3407 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3408
3409 * acinclude.m4 (grub_CHECK_PIC): New test.
3410 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
3411
3412 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3413
3414 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
3415 to avoid the warning.
3416
3417 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3418
3419 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
3420 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
3421 after. All users updated.
3422
3423 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3424
3425 Use the common size routine in hostfs so we can read disks as well.
3426
3427 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
3428 (grub_util_get_fd_size): ... this. Return size in bytes.
3429 All users updated.
3430 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
3431 grub_util_get_fd_size.
3432
3433 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3434
3435 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
3436 Add blocksize retrieval.
3437
3438 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3439
3440 * configure.ac: Restore CFLAGS after efiemu check.
3441
3442 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3443
3444 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
3445 Apple bug.
3446
3447 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3448
3449 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
3450
3451 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3452
3453 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
3454 (grub_cmd_halt): Likewise.
3455
3456 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3457
3458 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
3459 for local arithmetics.
3460 Break %sp init into 2 instructions.
3461 Add 0 byte at the end.
3462
3463 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3464
3465 * grub-core/disk/diskfilter.c (read_segment): Initialise err
3466 before loops.
3467
3468 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3469
3470 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
3471 for context.
3472
3473 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3474
3475 * grub-core/disk/ldm.c (make_vg): Init part.name.
3476 (grub_ldm_detect): Silence spurious warning.
3477 (grub_util_is_ldm): Likewise.
3478
3479 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3480
3481 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
3482 sane value to avoid a spurious warning.
3483
3484 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3485
3486 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
3487 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
3488
3489 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3490
3491 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
3492 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
3493
3494 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3495
3496 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
3497 hardcoding the relevant info.
3498
3499 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3500
3501 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
3502 missing const qualifiers.
3503 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
3504
3505 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3506
3507 * util/getroot.c [__APPLE__]: Add missing includes.
3508 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
3509
3510 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3511
3512 * util/grub-mkimage.c (generate_image): Silence spurious warning.
3513
3514 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3515
3516 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
3517 avoid conflicts.
3518
3519 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3520
3521 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
3522
3523 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3524
3525 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
3526 and grub_file_close call.
3527
3528 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3529
3530 Add LZSS Mach-O support (needed for new xnu kernelcache).
3531
3532 * grub-core/Makefile.core.def (xnu): Add file lzss.c
3533 * grub-core/loader/lzss.c: New file.
3534 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
3535 on Mach-O open failure.
3536 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
3537 Don't free cmdsXX in uncompressedXX is set.
3538 (grub_macho_file): Init new fields.
3539 New argument is_64bit. All users updated.
3540 Handle compressed. Error out if no suitable architecture is found.
3541 Don't close file.
3542 (grub_macho_open): New argument is_64bit. All users updated.
3543 * grub-core/loader/macho32.c: Add defines for new fields.
3544 * grub-core/loader/macho64.c: Likewise.
3545 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
3546 (grub_macho_parse): Handle compressed.
3547 Defer actual processing if compressed.
3548 (grub_macho_cmds_iterate): Decompress if compressed. New argument
3549 "filename". All users updated.
3550 (grub_macho_size): New argument "filename". All users updated.
3551 (grub_macho_get_entry_point): Likewise.
3552 (grub_macho_load): Handle compressed.
3553 * include/grub/macho.h (grub_macho_lzss_header): New struct.
3554 (GRUB_MACHO_LZSS_OFFSET): New define.
3555 (grub_decompress_lzss): New proto.
3556 * include/grub/machoload.h (grub_macho_file): New fields to handle
3557 compressed.
3558 (grub_macho_contains_macho64): Remove proto.
3559 (grub_macho_contains_macho32): Likewise.
3560 * util/grub.d/30_os-prober.in: Use kernel cache if available.
3561
3562 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3563
3564 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
3565
3566 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3567
3568 Fix make dist.
3569
3570 * Makefile.am (starfield_theme_files): New var.
3571 (starfield_DATA): Use starfield_theme_files.
3572 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
3573 Add bootcheck-related files.
3574 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
3575 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
3576 and font_char_metrics.txt.
3577 * grub-core/Makefile.core.def (kernel): Update extra_dist.
3578 (setjmp): Add lib/ia64/longjmp.S.
3579 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
3580 * po/POTFILES.in: Regenerate.
3581 * po/Rules-swiss: use DISTFILES.common.extra2 and not
3582 DISTFILES.common.extra1.
3583 * util/devicemap.c: Removed.
3584 * grub-core/lib/i386/relocator_backward.S: Likewise.
3585 * util/import_gcry.py: Remove unused files. Add extra_dist for
3586 ChangeLog.
3587
3588 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3589
3590 * grub-core/gettext/gettext.c (grub_mofile_open): Call
3591 grub_gettext_delete_list before changing grub_gettext_max to avoid
3592 running out of array bounds.
3593
3594 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3595
3596 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
3597 grub_vga_text_init/grub_vga_text_fini.
3598
3599 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3600
3601 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
3602
3603 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3604
3605 * configure.ac: Bump to 2.00~beta0.
3606
3607 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3608
3609 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
3610 missing initialisation.
3611
3612 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3613
3614 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
3615
3616 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3617
3618 Support v2 xnu boot arguments.
3619
3620 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
3621 New argument fsbfreq_out.
3622 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
3623 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
3624 be used.
3625 * grub-core/loader/machoXX.c (grub_macho_load): New argument
3626 darwin_version.
3627 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
3628 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
3629 (grub_xnu_boot_params): Rename to ...
3630 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
3631 (grub_xnu_boot_params_v2): New struct.
3632
3633 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3634
3635 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
3636 zeroing of CRC field before computing CRC.
3637
3638 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3639
3640 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
3641 Change order of allocations to decrease fragmentation.
3642
3643 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3644
3645 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
3646
3647 2012-02-27 Colin Watson <cjwatson@ubuntu.com>
3648
3649 Use write-combining MTRR to speed up video with buggy BIOSes.
3650
3651 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
3652 (cpuid): New define.
3653 (rdmsr): Likewise.
3654 (wrmsr): Likewise.
3655 (mtrr_base): Likewise.
3656 (mtrr_mask): Likewise.
3657 (grub_vbe_enable_mtrr_entry): New function.
3658 (grub_vbe_enable_mtrr): Likewise.
3659 (grub_vbe_disable_mtrr): Likewise.
3660 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
3661 control off to BIOS.
3662 (grub_video_vbe_init): Fill mtrr.
3663 (grub_video_vbe_fini): Disable mtrr.
3664 (grub_video_vbe_get_info_and_fini): Likewise.
3665 (grub_video_vbe_setup): Enable mtrr.
3666
3667 2012-02-27 Colin Watson <cjwatson@ubuntu.com>
3668
3669 * include/grub/partition.h (grub_partition_map): Change prototype of
3670 embed to take a maximum value for nsectors.
3671 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
3672 * include/grub/fs.h (grub_fs): Likewise.
3673 * grub-core/partmap/msdos.c (embed_signatures): New array.
3674 (pc_partition_map_embed): Check for and avoid sectors matching any
3675 of the signatures in embed_signatures, up to max_nsectors.
3676 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
3677 returned sector map to max_nsectors.
3678 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
3679 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
3680 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
3681 * util/grub-setup.c (setup): Allow for the embedding area being
3682 split into multiple blocklists. Tell dest_partmap->embed the
3683 maximum number of sectors we care about.
3684
3685 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3686
3687 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
3688 Specify blocklist_install and reserver_first_sector for all fs.
3689 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
3690 blocklists.
3691
3692 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3693
3694 * util/grub-install.in: Clarify strings.
3695 Fix source dir check.
3696
3697 2012-02-27 Richard Laager <rlaager@wiktel.com>
3698
3699 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
3700 "zfs" and "fuse.zfs" as synonyms.
3701
3702 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3703
3704 * configure.ac: Put platform and target_cpu substitutions back since
3705 they are used for directories.
3706
3707 2012-02-27 Richard Laager <rlaager@wiktel.com>
3708 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3709
3710 * util/grub.d/10_linux.in: Add ZFS-related arguments.
3711 * util/grub.d/20_linux_xen.in: Likewise.
3712
3713 2012-02-27 Richard Laager <rlaager@wiktel.com>
3714
3715 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
3716 with full paths.
3717
3718 2012-02-27 Richard Laager <rlaager@wiktel.com>
3719
3720 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
3721 unescape.
3722
3723 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3724
3725 Don't use insecure popen in getroot.
3726
3727 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
3728 (exec_pipe): ... here.
3729 (find_root_devices_from_poolname): Use exec_pipe.
3730
3731 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3732
3733 Remove platform and target_cpu replacement.
3734
3735 * configure.ac: Remove platform and target_cpu substitutions.
3736 * tests/util/grub-shell.in: Use modinfo.
3737 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
3738 explicitly.
3739
3740 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3741
3742 Autodetect platform in grub-install but allow override.
3743
3744 * util/grub-install.in: Autodetect platform. Support --target and
3745 --directory. Read platform from modinfo.sh.
3746
3747 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3748
3749 Support btrfs multi-volume probe.
3750
3751 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
3752 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
3753 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
3754 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
3755 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
3756 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
3757 grub_find_root_devices_from_btrfs if on btrfs.
3758
3759 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3760
3761 Remove any awareness of *.c util files about target.
3762
3763 * Makefile.util.def (grub-setup): Split to ...
3764 (grub-bios-setup): ... and this.
3765 (grub-sparc64-setup): ... and this.
3766 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
3767 * docs/man/grub-setup.h2m: Split into ...
3768 * docs/man/grub-sparc64-setup.h2m: ... this.
3769 * docs/man/grub-bios-setup.h2m: ... and this.
3770 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
3771 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
3772 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
3773 (grub_target_addr_t): Remove.
3774 (grub_target_size_t): Remove.
3775 (grub_target_ssize_t): Remove.
3776 * util/grub-install.in: Use new grub-*-setup.
3777 * util/grub-mkimagexx.c (Elf_Word): New define.
3778 (Elf_Half): Likewise.
3779 (Elf_Section): Likewise.
3780 (ELF_ST_TYPE): Likewise.
3781 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
3782 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
3783
3784 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3785
3786 Replace grub_target_addr with more appropriate types.
3787
3788 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
3789 grub_target_addr with grub_addr.
3790 * grub-core/commands/iorw.c (grub_cmd_read): Replace
3791 grub_target_addr with grub_port.
3792 (grub_cmd_write): Likewise.
3793 * grub-core/commands/memrw.c (grub_cmd_read): Replace
3794 grub_target_addr with grub_addr.
3795 (grub_cmd_write): Likewise.
3796 * grub-core/video/efi_uga.c (find_line_len): Likewise.
3797
3798 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3799
3800 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
3801 const qualifier for vendor_guid.
3802
3803 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3804
3805 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
3806 const qualifier.
3807 (efiemu_memequal): Likewise.
3808 (find_variable): Likewise.
3809
3810 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3811
3812 Fix missing console prototype on qemu-mips.
3813
3814 * include/grub/mips/qemu_mips/console.h: New file.
3815
3816 2012-02-27 Matthew Garrett <mjg@redhat.com>
3817 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3818
3819 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
3820 * include/grub/efi/efi.h: Likewise.
3821 * include/grub/efi/api.h: Add guid for EFI-specified variables.
3822 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
3823 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
3824 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
3825 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
3826 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
3827
3828 2012-02-27 Matthew Garrett <mjg@redhat.com>
3829
3830 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
3831
3832 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3833
3834 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
3835 error.
3836
3837 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3838
3839 * configure.ac: Remove inappropriate use of program_transform_name
3840 on grubdir and bootdir but allow explicit specification of those
3841 variables.
3842
3843 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3844
3845 * util/grub-mknetdir.in (grub_prefix): Removed.
3846 (subdir): Use @bootdirname@ and @grubdirname@.
3847
3848 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3849
3850 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
3851
3852 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3853
3854 * po/POTFILES.in: Regenerated.
3855
3856 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3857
3858 Remove improper use of program_transform_name on pkglibrootdir.
3859
3860 * configure.ac (pkglibrootdir): Removed.
3861 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
3862 * util/grub-mkimage.c: Likewise.
3863
3864 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3865
3866 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
3867 warning.
3868
3869 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3870
3871 * util/grub-install.in: Use file identifier if no UUID is available
3872 or user explicitly prompted for it.
3873
3874 2012-02-27 Navdeep Parhar <nparhar@gmail.com>
3875
3876 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
3877 (freebsd_get_zfs): New function.
3878 (grub_freebsd_boot): Pass zfs UUID.
3879 (grub_cmd_freebsd): Set zfs UUID.
3880
3881 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3882
3883 * conf/Makefile.common (platformdir): Base on pkglibdir and not
3884 pkglibrootdir.
3885
3886 2012-02-27 Mike Gilbert <floppym@gentoo.org>
3887
3888 Add configure flag to control libzfs integration.
3889
3890 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
3891
3892 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3893
3894 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
3895 device.
3896 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
3897 small devices.
3898
3899 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3900
3901 Remove grub_{modname}_init and grub_{modname}_fini. They should never
3902 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
3903 be used on non-modules.
3904
3905 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
3906 Rename to grub_boot_init.
3907 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
3908 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
3909 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
3910 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
3911 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
3912 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
3913 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
3914 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
3915 includes.
3916 (grub_machine_init): Remove empty inits.
3917 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
3918 includes.
3919 (grub_machine_init): Remove empty inits.
3920 * grub-core/term/arc/console.c: Remove explicit proto.
3921 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
3922 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
3923 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
3924 grub_at_keyboard_fini.
3925 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
3926 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
3927 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
3928 grub_gfxterm_fini.
3929 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
3930 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
3931 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
3932 grub_vgatext_fini.
3933 * grub-core/term/ieee1275/console.c: Remove explicit proto.
3934 * grub-core/term/serial.c (GRUB_MOD_INIT)
3935 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
3936 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
3937 grub_serial_fini.
3938 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
3939 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
3940 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
3941 grub_terminfo_fini.
3942 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
3943 (GRUB_MOD_FINI): Likewise.
3944 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
3945 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
3946 (GRUB_MOD_FINI) [LOONGSON]: Rename to
3947 grub_video_radeon_fuloong2e_fini.
3948 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
3949 [LOONGSON]: Rename to grub_video_sis315pro_init.
3950 (GRUB_MOD_FINI) [LOONGSON]: Rename to
3951 grub_video_sis315pro_fini.
3952 * grub-core/video/sm712.c (GRUB_MOD_INIT)
3953 [LOONGSON]: Rename to grub_video_sm712_init.
3954 (GRUB_MOD_FINI) [LOONGSON]: Rename to
3955 grub_video_sm712_fini.
3956 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
3957 (grub_at_keyboard_fini): Likewise.
3958 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
3959 Don't declare grub_{modname}_init.
3960 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
3961 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
3962 New proto.
3963 (grub_keylayouts_fini) [!EMU]: Likewise.
3964 * include/grub/serial.h (grub_serial_init) [!EMU]:
3965 New proto.
3966 (grub_serial_fini) [!EMU]: Likewise.
3967 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
3968 New proto.
3969 (grub_terminfo_fini) [!EMU]: Likewise.
3970 * include/grub/video.h (grub_font_init) [!EMU]:
3971 New proto.
3972 (grub_font_fini) [!EMU]: Likewise.
3973 (grub_gfxterm_init) [!EMU]: Likewise.
3974 (grub_gfxterm_fini) [!EMU]: Likewise.
3975 (grub_video_sm712_init) [!EMU]: Likewise.
3976 (grub_video_sm712_fini) [!EMU]: Likewise.
3977 (grub_video_sis315pro_init) [!EMU]: Likewise.
3978 (grub_video_sis315pro_fini) [!EMU]: Likewise.
3979 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
3980 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
3981
3982 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3983
3984 Make nand a prefix for nand devices.
3985
3986 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
3987
3988 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3989
3990 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
3991 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
3992
3993 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3994
3995 * include/grub/env.h (grub_env_find): Remove prototype.
3996 * grub-core/kern/env.c (grub_env_find): Make static.
3997 (grub_env_set): Remove useless set.
3998
3999 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4000
4001 * grub-core/kern/i386/realmode.S: Remove useless align.
4002
4003 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4004
4005 * include/grub/dl.h (grub_dl_load_file): Don't export.
4006
4007 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4008
4009 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
4010 grub_dprintf.
4011
4012 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4013
4014 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
4015 grub_errors.
4016 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
4017 not reloading whole superblock but only the part which is really needed.
4018 Remove useless grub_errors.
4019 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
4020 grub_errors.
4021
4022 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4023
4024 Don't export grub_get_rtc.
4025
4026 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
4027 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
4028
4029 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4030
4031 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
4032
4033 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4034
4035 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
4036 argument since it can be deduced from diskfilter. All users updated.
4037
4038 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4039
4040 Remove prio_list.
4041
4042 * include/grub/list.h (grub_prio_list): Removed.
4043 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
4044 GRUB_COMMAND_PRIO_MASK.
4045 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
4046 GRUB_COMMAND_FLAG_ACTIVE.
4047 (grub_prio_list_insert): Removed.
4048 (grub_prio_list_remove): Likewise.
4049 (GRUB_AS_PRIO_LIST): Likewise.
4050 (GRUB_AS_PRIO_LIST_P): Likewise.
4051 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
4052 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
4053 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
4054 * grub-core/kern/command.c (grub_register_command_prio): Inline
4055 the prio_list code.
4056 (grub_unregister_command): Likewise.
4057
4058 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4059
4060 Fix interrupt mixup from previous commit.
4061
4062 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
4063 (grub_realidt): New var.
4064 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
4065 Load idt.
4066 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
4067 New declaration.
4068 (grub_relocator16_boot): Set grub_relocator16_idt.
4069 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
4070 (LOCAL(realidt)): ... this.
4071 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
4072 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
4073 (grub_realidt): New variable.
4074
4075 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4076
4077 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
4078 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
4079 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
4080 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
4081 Gettextize.
4082 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
4083 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
4084 * po/POTFILES.in: Regenerate.
4085
4086 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4087
4088 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
4089 errors.
4090
4091 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4092
4093 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
4094 \0.
4095 (add_length): Likewise.
4096
4097 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4098 2012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
4099
4100 GDB serial and backtrace support.
4101
4102 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
4103 (prot_to_real): Likewise.
4104 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
4105 * grub-core/Makefile.core.def (backtrace): New module.
4106 (gdb): Likewise.
4107 * grub-core/gdb/cstub.c: New file.
4108 * grub-core/gdb/gdb.c: Likewise.
4109 * grub-core/gdb/i386/idt.c: Likewise.
4110 * grub-core/gdb/i386/machdep.S: Likewise.
4111 * grub-core/gdb/i386/signal.c: Likewise.
4112 * grub-core/lib/i386/backtrace.c: Likewise.
4113 * grub-core/lib/backtrace.c: Likewise.
4114 * include/grub/backtrace.h: Likewise.
4115 * include/grub/gdb.h: Likewise.
4116 * include/grub/i386/gdb.h: Likewise.
4117
4118 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4119
4120 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
4121 New function.
4122 (add_length): Likewise.
4123 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
4124 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
4125 proto.
4126 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
4127 __argp_get_display_len.
4128
4129 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4130
4131 $"..." support in scripts.
4132
4133 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
4134 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
4135 * grub-core/script/yylex.l: Likewise.
4136 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
4137 value.
4138
4139 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4140
4141 * gentpl.py: Remove obsolete pkglib_DATA handling.
4142
4143 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4144
4145 Don't transform PACKAGE_TARNAME following a discussion on autoconf
4146 mailing list.
4147
4148 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
4149 * util/grub-kbdcomp.in: Likewise.
4150 * util/grub-mkconfig.in: Likewise.
4151 * util/grub-mkconfig_lib.in: Likewise.
4152 * util/grub-mknetdir.in: Likewise.
4153 * util/grub-mkrescue.in: Likewise.
4154 * util/grub-mkstandalone.in: Likewise.
4155 * util/grub-reboot.in: Likewise.
4156 * util/grub-set-default.in: Likewise.
4157 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4158
4159 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4160
4161 Remove GRUB_PREFIX.
4162
4163 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
4164 * util/grub.d/00_header.in: Compute prefix in the only place it's still
4165 used for backward compatibility.
4166
4167 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4168
4169 Add new all_video module.
4170
4171 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
4172 * grub-core/Makefile.core.def (all_video): New module.
4173 * grub-core/genmoddep.awk: Generate dependency of all_video from
4174 video.lst.
4175 * grub-core/lib/fake_module.c: New file.
4176 * grub-core/normal/main.c (features): Add feature_all_video_module.
4177 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
4178 don't do explicit search again.
4179 insmod all_video in load_video if available.
4180
4181 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4182
4183 Another round of string clarification and adding TRANSLATORS comments.
4184
4185 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4186
4187 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
4188
4189 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4190
4191 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
4192 to grub_ssize_t.
4193 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
4194 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
4195
4196 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4197
4198 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
4199 trailing newline implicitly. All users updated.
4200
4201 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4202
4203 Implement serial on IEEE1275 and EFI.
4204
4205 * docs/grub.texi (Platform-specific limitations): Fix the columen video
4206 on emu. Mention arc and emu as the only platforms without serial
4207 support.
4208 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
4209 ieee1275 platforms.
4210 * grub-core/term/efi/serial.c: New file.
4211 * grub-core/term/ieee1275/serial.c: Likewise.
4212 * grub-core/term/serial.c (grub_serial_find): Disable direct port
4213 specification if no ns8250 driver is available.
4214 (grub_cmd_serial): Likewise.
4215 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
4216 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
4217 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
4218 (grub_efi_parity_type_t): New type.
4219 (grub_efi_stop_bits_t): Likewise.
4220 (grub_efi_serial_io_interface): New struct.
4221 * include/grub/serial.h (grub_serial_port): Make 'broken' field
4222 available for all interfaces.
4223 Add EFI and IEEE1275 fields.
4224 (grub_ofserial_init): New proto.
4225 (grub_efiserial_init): Likeiwse.
4226 * util/grub.d/00_header.in: Don't check for the presence of serial
4227 module.
4228
4229 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4230
4231 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
4232 name as if it was an alias.
4233
4234 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
4235
4236 * grub-core/commands/lsacpi.c (options): Fix typo.
4237
4238 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
4239
4240 Convert grub-emu to argp.
4241
4242 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
4243 emu.
4244 * util/argp_common.c: Rename to ...
4245 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
4246 Add missing includes.
4247 * grub-core/kern/emu/main.c: Convert to argp.
4248 * po/POTFILES.in: Regenerate.
4249 * util/grub-install.in (usage): Make first letter lowcase in messages
4250 for uniformity.
4251 * util/grub-setup.c (options): Likewise.
4252
4253 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4254
4255 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
4256 Put back accidently commented-out code.
4257
4258 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4259
4260 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
4261 loop check using Brent algorithm.
4262 (grub_hfsplus_btree_search): Likewise.
4263
4264 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4265
4266 * util/grub-install.in: Fix usage of wrong device for PreP install.
4267
4268 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4269
4270 * conf/Makefile.common (CFLAGS_GNULIB): Add
4271 -Wno-unsafe-loop-optimizations.
4272 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
4273 on tools.
4274 * grub-core/commands/legacycfg.c: Add pragma to skip
4275 -Wunsafe-loop-optimizations.
4276 (check_password_md5_real): Fix loop counter type.
4277 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
4278 reading.
4279 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
4280 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
4281 loop condition.
4282 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
4283 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
4284 * grub-core/net/net.c (grub_net_route_address): Add safety loop
4285 condition.
4286 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
4287 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
4288 avoid possible infinite loops.
4289 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
4290 and -Wunsafe-loop-optimizations.
4291 * grub-core/script/yylex.l: Likewise.
4292 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
4293 (print_glyphs): Avoid infinite loops.
4294 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
4295
4296 2012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
4297
4298 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
4299 to avoid infinite loop.
4300 (disp_acpi_rsdt_table): Likewise.
4301
4302 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4303
4304 * grub-core/font/font.c (grub_font_load): Add support for default
4305 path for fonts ($prefix/fonts).
4306 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
4307 for checking if string is a path.
4308 * grub-core/normal/main.c (features): Add feature_default_font_path.
4309 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
4310 * util/grub.d/00_header.in: Use default directory if possible.
4311 * util/grub-install.in: Install unicode.pf2.
4312
4313 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4314
4315 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
4316 * po/Rules-swiss: New file.
4317 * po/swiss.sed: Likewise.
4318
4319 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
4320
4321 * grub-core/fs/btrfs.c (find_device): Fix typos.
4322 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
4323 * util/grub-mkrelpath.c (argp_parser): Likewise.
4324 Reported by: Yuri Chornoivan.
4325
4326 2012-02-23 Dalet Omega <daletomega@gmail.com>
4327
4328 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
4329 for usual informative messages.
4330
4331 2012-02-23 Dalet Omega <daletomega@gmail.com>
4332
4333 Starfield theme.
4334
4335 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
4336 * conf/Makefile.common: Define starfielddir.
4337 * configure.ac: Configure starfield.
4338 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
4339 * themes/starfield/README: Likewise.
4340 * themes/starfield/blob_w.png: Likewise.
4341 * themes/starfield/boot_menu_c.png: Likewise.
4342 * themes/starfield/boot_menu_e.png: Likewise.
4343 * themes/starfield/boot_menu_n.png: Likewise.
4344 * themes/starfield/boot_menu_ne.png: Likewise.
4345 * themes/starfield/boot_menu_nw.png: Likewise.
4346 * themes/starfield/boot_menu_s.png: Likewise.
4347 * themes/starfield/boot_menu_se.png: Likewise.
4348 * themes/starfield/boot_menu_sw.png: Likewise.
4349 * themes/starfield/boot_menu_w.png: Likewise.
4350 * themes/starfield/slider_c.png: Likewise.
4351 * themes/starfield/slider_n.png: Likewise.
4352 * themes/starfield/slider_s.png: Likewise.
4353 * themes/starfield/src/blob_nw.xcf: Likewise.
4354 * themes/starfield/src/bootmenu/: Likewise.
4355 * themes/starfield/src/bootmenu/center.xcf: Likewise.
4356 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
4357 * themes/starfield/src/bootmenu/side.xcf: Likewise.
4358 * themes/starfield/src/slider_c.xcf: Likewise.
4359 * themes/starfield/src/slider_n.xcf: Likewise.
4360 * themes/starfield/src/slider_s.xcf: Likewise.
4361 * themes/starfield/src/terminalbox/: Likewise.
4362 * themes/starfield/src/terminalbox/center.xcf: Likewise.
4363 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
4364 * themes/starfield/src/terminalbox/side.xcf: Likewise.
4365 * themes/starfield/starfield.png: Likewise.
4366 * themes/starfield/terminal_box_c.png: Likewise.
4367 * themes/starfield/terminal_box_e.png: Likewise.
4368 * themes/starfield/terminal_box_n.png: Likewise.
4369 * themes/starfield/terminal_box_ne.png: Likewise.
4370 * themes/starfield/terminal_box_nw.png: Likewise.
4371 * themes/starfield/terminal_box_s.png: Likewise.
4372 * themes/starfield/terminal_box_se.png: Likewise.
4373 * themes/starfield/terminal_box_sw.png: Likewise.
4374 * themes/starfield/terminal_box_w.png: Likewise.
4375 * themes/starfield/theme.txt: Likewise.
4376
4377 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
4378
4379 * util/grub.d/00_header.in: Add missing export theme.
4380
4381 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4382
4383 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
4384 already included.
4385 Reported by: Eren D.
4386
4387 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4388
4389 * conf/Makefile.common (grubdatadir): Removed.
4390 (Makefile.am): Move eveything grubdata to pkgdata.
4391
4392 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4393
4394 * grub-core/commands/acpihalt.c (get_sleep_type):
4395 Remove unused variable.
4396
4397 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4398
4399 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
4400 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
4401 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
4402 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
4403 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
4404 i18n with gettext no-op.
4405 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
4406 GRUB_ACPI_OPCODE_STRING_CONST.
4407 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
4408 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
4409
4410 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4411
4412 * po/POTFILES.in: Regenerate.
4413
4414 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4415
4416 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
4417 -Wno-error=missing-noreturn.
4418
4419 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4420
4421 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
4422 condition to avoid possibly infinite loops.
4423 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
4424 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
4425
4426 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4427
4428 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
4429 condition to avoid possibly infinite loops.
4430
4431 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4432
4433 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
4434 on show_error.
4435
4436 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4437
4438 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
4439
4440 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4441
4442 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
4443
4444 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4445
4446 * util/bin2h.c (usage): Add missing attribute noreturn.
4447
4448 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4449
4450 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
4451 if the size isn't divisible by 512.
4452
4453 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4454
4455 Make list_push and list_remove functions rather than inline functions
4456 to decrease size and avoid aliasing violations.
4457
4458 * include/grub/list.h (grub_list_push): Move to ...
4459 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
4460 * include/grub/list.h (grub_list_remove): Move to ...
4461 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
4462
4463 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4464
4465 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
4466 and -Wunused-result.
4467
4468 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
4469
4470 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
4471 Reported by: Seth Goldberg
4472
4473 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
4474
4475 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
4476
4477 2012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
4478
4479 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
4480 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
4481 command line.
4482 * docs/grub.texi (Simple configuration): Document
4483 GRUB_CMDLINE_GNUMACH.
4484
4485 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
4486
4487 * conf/Makefile.common (platform_SCRIPTS): New variable.
4488 (platform_PROGRAMS): Likewise.
4489 * gentpl.py: Mark *,module and *.image for install.
4490 * grub-core/gdb_grub.in: Add a notice of expected environment.
4491 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
4492 (gmodule.pl): Likewise.
4493
4494 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
4495
4496 Replace grub_checkkey with grub_getkey_noblock.
4497
4498 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
4499 (grub_getkey_noblock): ... this. All users updated.
4500
4501 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
4502
4503 * grub-core/kern/emu/console.c: Move to ...
4504 * grub-core/term/emu/console.c: ...here.
4505 (grub_ncurses_getkey): Fix return value if no key is detected.
4506
4507 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4508
4509 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
4510 (grub_unit_test_fini): Likewise.
4511 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
4512
4513 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4514
4515 * include/grub/test.h (GRUB_UNIT_TEST)
4516
4517 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4518
4519 * grub-core/script/execute.c (grub_script_break): Clarify logic.
4520 Better error handling.
4521 (grub_script_return): Likewise.
4522 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
4523
4524 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4525
4526 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
4527 rimplicit redifinition.
4528
4529 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4530
4531 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
4532 GRUB.
4533
4534 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4535
4536 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
4537 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
4538 prompt here.
4539
4540 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4541
4542 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
4543 as GRUB_ERR_BUG. Don't malloc if no device is available.
4544
4545 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4546
4547 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
4548 Mark calling with invalid term as GRUB_ERR_BUG.
4549
4550 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4551
4552 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
4553 packets rather than raising an error.
4554
4555 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4556
4557 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
4558 in if.
4559
4560 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4561
4562 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
4563 diagnostic to dprintf.
4564 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
4565
4566 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4567
4568 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
4569 device name.
4570
4571 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4572
4573 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
4574 (grub_ntfs_iterate_dir): Likewise.
4575
4576 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4577
4578 Efiemu stylistic fixes and gettext.
4579
4580 * grub-core/efiemu/i386/loadcore32.c
4581 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
4582 * grub-core/efiemu/i386/loadcore64.c
4583 (grub_arch_efiemu_relocate_symbols64): Likewise.
4584 * grub-core/efiemu/i386/pc/cfgtables.c
4585 (grub_machine_efiemu_init_tables): Likewise.
4586 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
4587 (grub_efiemu_loadcore_initXX): Add a filename argument.
4588 All users updated.
4589 Improved error message.
4590 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
4591 Add a filename argument.
4592 All users updated.
4593 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
4594 Reclassify double relocation as GRUB_ERR_BUG.
4595
4596 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4597
4598 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
4599 handling.
4600
4601 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4602
4603 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
4604 on partition.
4605
4606 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4607
4608 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
4609
4610 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4611
4612 Improve string. Gettextize.
4613
4614 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4615
4616 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
4617 utils.
4618 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
4619
4620 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4621
4622 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
4623 [GRUB_UTIL]: New function.
4624 (insert_array) [GRUB_UTIL]: Store partmaps.
4625 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
4626 partmaps.
4627 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
4628 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
4629 (probe_abstraction): Print diskfilter and not raid.
4630 Reported by: Lennart Sorensen
4631
4632 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4633
4634 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
4635 * util/grub-mkimagexx.c (MASK3): New define.
4636 (add_value_to_slot_20b): Use MASK3.
4637 (add_value_to_slot_21): Likewise.
4638 (relocate_addresses): Fix format specification.
4639 (load_image): Explicitly init symtab_section.
4640
4641 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4642
4643 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
4644 (grub_util_biosdisk_get_grub_dev): Fix format specification.
4645
4646 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4647
4648 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
4649 on powerpc.
4650 Reported by: Lennart Sorensen
4651
4652 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4653
4654 * gentpl.py: Add missing license header.
4655 * docs/grub.texi: Update copyright year.
4656
4657 2012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
4658
4659 Source grub-mkconfig_lib from the build directory at build time.
4660 Suggested by: Vladimir Serbinenko.
4661
4662 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
4663 * util/grub-install.in: Define pkgdatadir if not already set, and source
4664 grub-mkconfig_lib from there.
4665 * util/grub-kbdcomp.in: Likewise.
4666 * util/grub-mkconfig.in: Likewise.
4667 * util/grub-mknetdir.in: Likewise.
4668 * util/grub-mkrescue.in: Likewise.
4669 * util/grub-mkstandalone.in: Likewise.
4670 * util/grub-reboot.in: Likewise.
4671 * util/grub-set-default.in: Likewise.
4672 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4673
4674 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4675
4676 Increase warning level.
4677
4678 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
4679 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
4680 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
4681 (TARGET_CFLAGS): Likewise.
4682 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
4683 * grub-core/Makefile.core.def (decompressor_xz): Add
4684 -Wno-unreachable-code.
4685 (normal): Add -Wno-redundant-decls.
4686 (xzio): Add -Wno-unreachable-code.
4687 (lzopio): Add -Wno-redundant-decls -Wno-error.
4688 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
4689 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
4690 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
4691 * grub-core/kern/dl.c: Add exception to -Wcast-align.
4692 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
4693 * grub-core/kern/i386/coreboot/init.c: Add exception to
4694 -Wsuggest-attribute=noreturn.
4695 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
4696 * grub-core/kern/ia64/dl_helper.c: Likewise.
4697 * grub-core/kern/mips/dl.c: Likewise.
4698 * grub-core/kern/sparc64/dl.c: Likewise.
4699 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
4700 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
4701 (memcmp): Likewise.
4702 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
4703 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
4704 * grub-core/loader/mips/linux.c: Likewise.
4705 * grub-core/loader/multiboot_elfxx.c: Likewise.
4706 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
4707 * grub-core/video/sm712.c: Add exception to -Wcast-align.
4708 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
4709 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
4710 fixme.
4711 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
4712 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
4713 Fix prototype.
4714
4715 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4716
4717 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
4718 address.
4719
4720 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4721
4722 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
4723 Avoid improper use of strings.
4724 (grub_cmd_legacy_initrdnounzip): Likewise.
4725
4726 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4727
4728 * include/grub/emu/misc.h (grub_util_warn): Add missing format
4729 attribute.
4730 (grub_util_info): Likewise.
4731 (grub_util_error): Likewise.
4732
4733 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4734
4735 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
4736 * util/grub-fstest.c (fstest): Likewise.
4737
4738 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4739
4740 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
4741 (grub_md_sha512_real): Likewise.
4742 (grub_util_get_geli_uuid): Likewise.
4743 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
4744 (grub_util_biosdisk_open): Fix format specification.
4745 Respect format security.
4746 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
4747 (xrealloc): Likewise.
4748 (xasprintf): Likewise.
4749
4750 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4751
4752 * util/import_gcry.py: Include grub/crypto.h in init.c.
4753
4754 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4755
4756 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
4757 (generate_image): Make prefix a const char *.
4758 Fix format specifications. Respect format security.
4759 Avoid void * arithmetics.
4760 Avoid shadowing.
4761 (argp_parser): Remove unused variable. Respect format security.
4762 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
4763 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
4764 (count_funcs): Remove unused variable.
4765 (relocate_addresses): Fix format specification.
4766 Disable x86-64 with elf32. Remove unused variables.
4767 (add_fixup_entry): Avoid shadowing.
4768 (make_reloc_section): Fix format specification.
4769 Use assert.
4770 (locate_sections): Fix format specifications.
4771 (load_image): Avoid shadowing.
4772
4773 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4774
4775 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
4776 Fix format specifications. Respect format security.
4777 Don't translate already translated grub_errmsg.
4778 (argp_parser): Remove unused variable
4779
4780 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4781
4782 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
4783
4784 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4785
4786 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
4787 (main): Likewise. Use xmalloc. Respect format security.
4788
4789 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4790
4791 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
4792 a const char *.
4793 (argp_parser): Remove unused variable.
4794
4795 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4796
4797 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
4798 (add_pixel): Make static.
4799 (add_font): Likewise.
4800 (write_string_section): Make name and str a const char *.
4801 (write_be16_section): Make name a const char *.
4802 (print_glyphs): Make static.
4803 (write_font_ascii_bitmap): Likewise.
4804 (write_font_width_spec): Likewise.
4805 (write_font_pf2): Likewise.
4806 (argp_parser): Remove unused variable.
4807 Respect format security.
4808 (main): Avoid shadowing. Respect format security.
4809
4810 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4811
4812 * util/grub-editenv.c (argp_parser): Make static.
4813 (create_envblk_file): Use xmalloc.
4814 (open_envblk_file): Likewise.
4815 Resepect format security.
4816 (set_variables): Respect format security.
4817
4818 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4819
4820 * util/getroot.c (grub_find_device): Respect format security.
4821 (get_mdadm_uuid): Remove unused variable.
4822 (grub_util_pull_device): Dont call gettext on already translated
4823 grub_errmsg.
4824 (find_system_device): Remove unused variable.
4825 (grub_util_get_grub_dev): Likewise.
4826 (grub_make_system_path_relative_to_its_root): Respect format security.
4827
4828 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4829
4830 * util/grub-fstest.c (execute_command): Make first argument
4831 a const char *.
4832 (read_file): Avoid shadowing.
4833 Reuse underlying error message if device open fails.
4834 (cmd_cmp): Respect format security.
4835 (root): Make const char *.
4836 (fstest): Remove args argument and use global copy.
4837 Respect format security.
4838 (argp_parser): Make static.
4839 (main): Make default_root const char *.
4840
4841 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4842
4843 * util/grub-mount.c (root): Make const char *.
4844 (execute_command): Make first argument a const char *.
4845 (fuse_init): Respect format security.
4846 (argp_parser): Make static. Remove unused variable.
4847 (main): Make default_root a const char *.
4848 Respect format security.
4849
4850 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4851
4852 * util/grub-probe.c (probe): Don't call gettext on already translated
4853 grub_errmsg.
4854 Remove unused variables.
4855 (argp_parser): Remove unused variable.
4856
4857 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4858
4859 * util/grub-script-check.c (argp_parser): Remove unused variable.
4860 (main): Rename read to curread to avoid shadowing.
4861
4862 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4863
4864 * util/misc.c (grub_util_write_image_at): Fix format specification.
4865 (grub_util_write_image): Likewise.
4866 (grub_script_execute_argument_to_string): Removed (unused).
4867 (grub_script_execute_menuentry): Likewise.
4868 (grub_putchar): Likewise.
4869
4870 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4871
4872 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
4873 (FUNCTION) [GRUB_UTIL]: Likewise.
4874 (VARIABLE) [GRUB_UTIL]: Likewise.
4875
4876 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4877
4878 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
4879 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
4880
4881 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4882
4883 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
4884 buffer.
4885
4886 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4887
4888 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
4889 (LzmaEnc_SaveState): Removed (unused).
4890 (LzmaEnc_RestoreState): Likewise.
4891 (LzmaEnc_InitPriceTables): Made static.
4892 (LzmaEnc_Construct): Likewise.
4893 (LzmaEnc_FreeLits): Likewise.
4894 (LzmaEnc_Destruct): Likewise.
4895 (LzmaEnc_Init): Likewise.
4896 (LzmaEnc_InitPrices): Likewise.
4897 (LzmaEnc_Finish): Likewise.
4898 (LzmaEnc_PrepareForLzma2): Removed (unused).
4899 (LzmaEnc_MemPrepare): Likewise.
4900 (LzmaEnc_GetNumAvailableBytes): Likewise.
4901 (LzmaEnc_GetCurBuf): Likewise.
4902 (LzmaEnc_CodeOneMemBlock): Likewise.
4903
4904 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4905
4906 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
4907 (grub_util_ldm_embed): Likewise.
4908
4909 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4910
4911 * util/grub-editenv.c (print_var): Rename name to varname to
4912 avoid shadowing.
4913 (main): Rename index to curindex to avoid shadowing.
4914 Make filename a const char *.
4915
4916 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4917
4918 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
4919 to arg_getline to avoid shadowing.
4920
4921 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4922
4923 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
4924 disk_ to avoid shadowing.
4925
4926 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4927
4928 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
4929 curindex to avoid shadowing.
4930 Make static.
4931 (MatchFinder_GetNumAvailableBytes): Make static.
4932
4933 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4934
4935 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
4936 avoid shadowing.
4937
4938 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4939
4940 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
4941 argument from encrypt to do_encrypt to avoid shadowing.
4942
4943 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4944
4945 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
4946 incorrect nesting of #if's.
4947
4948 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4949
4950 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
4951 checks which are always false on some platforms.
4952 (grub_cmd_lsacpi): Likewise.
4953 * grub-core/kern/misc.c (grub_strtoul): Likewise.
4954 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
4955 Likewise.
4956
4957 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4958
4959 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
4960 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
4961
4962 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4963
4964 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
4965 re_dfa_t to avoid breaking alignment invariants.
4966 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
4967 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
4968
4969 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4970
4971 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
4972 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
4973
4974 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4975
4976 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
4977 Fix declaration.
4978
4979 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4980
4981 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
4982 conserve alignment invariants.
4983 (grub_ehci_ehcc_read16): Likewise.
4984 (grub_ehci_oper_read32): Likewise.
4985 (grub_ehci_oper_write32): Likewise.
4986 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
4987 Conserve alignment invariants.
4988
4989 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4990
4991 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
4992 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
4993 declarations.
4994
4995 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4996
4997 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
4998 Remove unused variable.
4999
5000 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5001
5002 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
5003 Remove set in if.
5004
5005 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5006
5007 * include/grub/net.h: Remove double declarations.
5008
5009 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5010
5011 Remove "payload" command in ia64 Linux loader since I couldn't
5012 find any evidence of it being used for anything.
5013 Replace "relocate" command with an environment variable
5014
5015 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
5016 fields.
5017 (ia64_boot_payload): Removed.
5018 (last_payload): Likewise.
5019 (RELOCATE_OFF): Likewise.
5020 (RELOCATE_ON): Likewise.
5021 (RELOCATE_FORCE): Likewise.
5022 (relocate): Likewise.
5023 (free_pages): Don't free payloads.
5024 (grub_load_elf64): Use common error messages.
5025 Use "linux_relocate" variable.
5026 Increase the space after boot_params.
5027 (grub_cmd_payload): Removed.
5028 (grub_cmd_relocate): Likewise.
5029 (grub_cmd_fpswa): Improve messages.
5030 (cmd_payload): Removed.
5031 (cmd_relocate): Likewise.
5032 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
5033 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
5034
5035 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5036
5037 Convert UHCI to DMA framework.
5038
5039 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
5040 (grub_uhci_pci_iter): Fill new members
5041 (grub_alloc_td): Use P2V and V2P functions.
5042 (grub_free_queue): Likewise.
5043 (grub_alloc_qh): Likewise.
5044 (grub_uhci_setup_transfer): Likewise.
5045 (grub_uhci_check_transfer): Likewise.
5046
5047 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5048
5049 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
5050 Remove assignment in if while on it.
5051
5052 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5053
5054 * util/grub-mkstandalone.in: Fix modules directory.
5055
5056 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5057
5058 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
5059 on i386-pc target.
5060 (argp_parser): Accept "auto" as compression specification.
5061
5062 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5063
5064 Fix `help' with unloaded modules.
5065
5066 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
5067 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
5068 (grub_dyncmd_dispatcher): Small stylistic fix.
5069 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
5070 explicit help is requested.
5071
5072 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5073
5074 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
5075 Explicitly init restart while on it.
5076
5077 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5078
5079 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
5080 uninited variable.
5081
5082 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5083
5084 * util/grub-mknetdir.in: Use . rather than source for POSIX
5085 compatibility.
5086
5087 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5088
5089 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
5090
5091 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5092
5093 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
5094 variable.
5095
5096 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5097
5098 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
5099 without quotes.
5100
5101 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5102
5103 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
5104
5105 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5106
5107 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
5108 iteration of partitions.
5109
5110 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5111
5112 Improve gettext support. Stylistic fixes and error handling fixes while
5113 on it.
5114
5115 2012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
5116
5117 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
5118 part. Instead setup the correct stack in RM.
5119 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
5120 for stack.
5121 * include/grub/i386/relocator_private.h: New file.
5122
5123 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5124
5125 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
5126 argument.
5127 * util/grub-fstest.c (options): Add missing DEVICE part.
5128
5129 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5130
5131 Clarify and unify messages.
5132
5133 * grub-core/commands/hashsum.c (options): Unify messages.
5134 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
5135 literal-only message as translatable.
5136 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
5137 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
5138 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
5139 commands.
5140 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
5141 key, not the key used to unlock. Clarify what it's used for.
5142 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
5143 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
5144 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
5145 * util/grub-editenv.c (options): Unify "verbose" message.
5146 * util/grub-fstest.c (read_file): Unify error message.
5147 (fstest): Add quotes around commands.
5148 (options): Unify "verbose" message.
5149 * util/grub-install.in: Add quotes around variable name.
5150 * util/grub-kbdcomp.in: Unify error message.
5151 * util/grub-mkfont.c (main): Likewise.
5152 * util/grub-mkrescue.in: Likewise.
5153 * util/grub-mklayout.c (options): Unify "verbose" message.
5154 * util/grub-mkstandalone.in: Unify help and verbose messages.
5155 * util/grub-mount.c (options): Unify "verbose" message.
5156 * util/grub-probe.c (options): Likewise.
5157 * util/grub-script-check.c (options): Likewise.
5158 * util/grub-setup.c (setup): Unify no-terminator message.
5159 (options): Use DEVICE and not DEV.
5160 Unify "verbose" message.
5161 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
5162
5163 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5164
5165 Improve and unify messages.
5166
5167 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
5168 name. All users updated.
5169 Print filename in error.
5170 (read_device_map): Print filename in error.
5171 * util/getroot.c (grub_guess_root_devices): Print filename in error.
5172 (grub_util_get_os_disk): Likewise.
5173 (grub_util_biosdisk_get_grub_dev): Likewise.
5174 (grub_util_check_block_device): Likewise.
5175 (grub_util_check_char_device): Likewise.
5176 (grub_make_system_path_relative_to_its_root): Likewise.
5177 * util/grub-editenv.c (create_envblk_file): Likewise.
5178 (open_envblk_file): Likewise.
5179 (write_envblk): Likewise.
5180 * util/grub-fstest.c (cmd_cp): Likewise.
5181 (cmd_cat): Likewise.
5182 (cmd_cmp): Likewise.
5183 * util/grub-menulst2cfg.c (main): Likewise.
5184 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
5185 (write_font_width_spec): Likewise.
5186 (write_font_pf2): Likewise.
5187 * util/grub-mkimage.c (generate_image): New argument outname.
5188 All users updated.
5189 Remove unreacheable message.
5190 (options): Unify messages.
5191 (help_filter): Likewise.
5192 * util/grub-mklayout.c (usage): Removed (unused).
5193 (main): Print filename in error.
5194 * util/grub-mkrescue.in: Fix wrong quoting.
5195 * util/grub-setup.c (setup): Print filename in error.
5196 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
5197 (check_sas): Likewise.
5198 * util/misc.c (grub_util_get_fp_size): Removed.
5199 (grub_util_get_image_size): Print filename in error.
5200 (grub_util_read_at): Removed.
5201 (grub_util_read_image): Print filename in error.
5202 (grub_util_load_image): Likewise.
5203 (grub_util_write_image_at): New argument filename. All users updated.
5204 Print filename in error.
5205 (grub_util_write_image): New argument filename. All users updated.
5206 Print filename in error.
5207 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
5208 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
5209
5210 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5211
5212 * grub-core/Makefile.core.def (pxechain): New module.
5213 * grub-core/loader/i386/pc/pxechainloader.c: New file.
5214 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
5215 function.
5216 (grub_pc_net_config_real): Use grub_pxe_get_cached.
5217 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
5218
5219 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5220
5221 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
5222 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
5223 * include/grub/err.h (grub_error_saved): New struct.
5224 (grub_errmsg): Make array size explicit.
5225 * include/grub/misc.h (grub_error_save): New function.
5226 (grub_error_load): Likewise.
5227 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
5228 (grub_error_push): Update `errno' member name.
5229 (grub_error_pop): Likewise
5230 * grub-core/net/tftp.c (tftp_data): New member save_err.
5231 (tftp_receive): Save error.
5232 (tftp_open): Restore error.
5233
5234 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5235
5236 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
5237 to real mode down to execute A20-related code in protected mode as
5238 intended.
5239
5240 2012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
5241
5242 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
5243 NULL when the argument `level' has an unexpected value.
5244
5245 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5246
5247 Move platform-dependent files from $prefix to $prefix/$platform.
5248
5249 * config.h.in (GRUB_TARGET_CPU): New definition.
5250 (GRUB_PLATFORM): Likewise.
5251 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
5252 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
5253 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
5254 * grub-core/kern/dl.c (grub_dl_load): Likewise.
5255 * grub-core/normal/autofs.c (read_fs_list): Likewise.
5256 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
5257 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
5258 * grub-core/normal/term.c (read_terminal_list): Likewise.
5259 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
5260 $prefix/locale.
5261 (grub_gettext_init_ext): Likewise.
5262 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
5263 grub_platform.
5264 * util/grub-install.in: Update directories.
5265 * util/grub-mknetdir.in: Likewise.
5266 * util/grub-mkrescue.in: Likewise.
5267
5268 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5269
5270 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
5271 grub_error framework. All users updated.
5272
5273 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5274
5275 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
5276 lists (by always binsearching), improve caching (cache strings
5277 used for binsearch, not only results), improve
5278 maintainability (by using more structured binary search) and correct
5279 error handling.
5280
5281 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5282
5283 * grub-core/script/execute.c (grub_script_return): Fix warning.
5284
5285 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5286
5287 * grub-core/script/execute.c (grub_script_return): Fix potential
5288 NULL-dereference.
5289 Reported by: Jim Meyering.
5290
5291 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5292
5293 * po/POTFILES.in: Regenerate.
5294 * util/grub-install.in: Gettextize the strings missed in first pass.
5295
5296 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5297
5298 * Makefile.util.def (grub-mkdevicemap): Removed.
5299 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
5300 * include/grub/util/deviceiter.h: Removed.
5301 * util/deviceiter.c: Likewise.
5302 * util/getroot.c (grub_util_get_os_disk): New function.
5303 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
5304 replacement for EFI.
5305 * util/grub-mkdevicemap.c: Removed.
5306 * util/grub-probe.c (probe): Handle PRINT_DISK.
5307 (argp_parser): Handle -t disk.
5308
5309 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5310
5311 * util/grub-mkfont.c: Migrate to argp.
5312 * util/grub-mklayout.c: Likewise.
5313 * util/grub-mkpasswd-pbkdf2.c: Likewise.
5314 * util/grub-mkrelpath.c: Likewise.
5315 * util/grub-probe.c: Likewise.
5316 * util/grub-script-check.c: Likewise.
5317
5318 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5319
5320 * util/grub-reboot.in: Add missing datarootdir.
5321 Add missing newline.
5322 * util/grub-set-default.in: Add missing datarootdir.
5323 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
5324 * util/grub-mkrescue.in: Likewise.
5325
5326 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5327
5328 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
5329
5330 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5331
5332 * util/grub-kbdcomp.in: Add decent help and gettextize.
5333 * docs/man/grub-kbdcomp.h2m: New file.
5334
5335 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5336
5337 Migrate grub-mkimage.c to argp.
5338
5339 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
5340 (grub-setup): Likewise.
5341 * util/grub-setup.c (print_version): Move to ...
5342 * util/argp_common.c (print_version): ... here.
5343 * util/grub-setup.c (argp_program_version_hook): Move to ...
5344 * util/argp_common.c (argp_program_version_hook): ... here.
5345 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
5346 safety.
5347 * util/grub-mkimage.c (main): Migrate to argp.
5348
5349 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5350
5351 * util/grub-mkrescue.in: Use same message as
5352 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
5353 for better translations.
5354
5355 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5356
5357 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
5358 options with generic grub-mkrescue.in with the goal of future
5359 merge.
5360
5361 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5362
5363 * grub-core/kern/mm.c: Add missing include of i18n.h
5364 * grub-core/lib/relocator.c: Likewise.
5365
5366 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5367
5368 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
5369 error.
5370 (allocate_pages): Check return value.
5371 Replace fatal with error.
5372 (grub_linux_boot): Replace printf with dprintf.
5373 Check find_mmap_size return value.
5374 Replace fatal with error.
5375 Don't call grub_machine_fini.
5376 (grub_load_elf64): Replace printf with dprintf.
5377 (grub_cmd_linux): Likewise.
5378 (grub_cmd_initrd): Likewise.
5379 (grub_cmd_payload): Likewise.
5380
5381 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5382
5383 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
5384 message.
5385 * grub-core/video/radeon_fuloong2e.c
5386 (grub_video_radeon_fuloong2e_setup): Likewise.
5387 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
5388 * grub-core/video/video.c (grub_video_set_mode): Don't override
5389 standard out of memory message.
5390
5391 2012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
5392
5393 NetBSD disk wedge support.
5394
5395 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
5396 [__NetBSD__]: Handle NetBSD disk wedges.
5397 * util/getroot.c (convert_system_partition_to_system_disk)
5398 [__NetBSD__]: Likewise.
5399
5400 2012-02-03 Mark Wooding <mdw@distorted.org.uk>
5401
5402 * util/grub-mkconfig.in: Use umask rather than chmod to create
5403 grub.cfg.new to avoid insecure grub.cfg.
5404
5405 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5406
5407 * grub-core/commands/ls.c: Gettextize.
5408 * grub-core/commands/setpci.c: Likewise.
5409 * grub-core/commands/videotest.c: Likewise.
5410 * grub-core/disk/geli.c: Likewise.
5411 * grub-core/kern/mm.c: Likewise.
5412 * grub-core/lib/relocator.c: Likewise.
5413 * grub-core/loader/efi/appleloader.c: Likewise.
5414 * grub-core/loader/i386/xnu.c: Likewise.
5415 * grub-core/loader/ia64/efi/linux.c: Likewise.
5416 * grub-core/loader/xnu.c: Likewise.
5417 * grub-core/net/dns.c: Likewise.
5418 * grub-core/net/net.c: Likewise.
5419 * grub-core/script/lexer.c: Likewise.
5420 * grub-core/script/parser.y: Likewise.
5421 * grub-core/script/yylex.l: Likewise.
5422 * util/getroot.c: Likewise.
5423 * util/grub-setup.c: Likewise.
5424
5425 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5426
5427 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
5428 number.
5429
5430 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5431
5432 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
5433
5434 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5435
5436 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
5437 macro.
5438 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
5439 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
5440
5441 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5442
5443 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
5444 * util/grub-install.in: Gettextize.
5445 * util/grub-mkconfig.in: Likewise.
5446 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
5447 if not available.
5448 (grub_warn): Gettextize.
5449 * util/grub-mknetdir.in: Gettextize.
5450 * util/grub-mkrescue.in: Likewise.
5451 * util/grub-mkstandalone.in: Likewise.
5452 * util/grub-reboot.in: Likewise.
5453 * util/grub-set-default.in: Likewise.
5454 * util/grub.d/00_header.in: Likewise.
5455 * util/grub.d/10_hurd.in: Likewise.
5456 * util/grub.d/10_kfreebsd.in: Likewise.
5457 * util/grub.d/10_linux.in: Likewise.
5458 * util/grub.d/10_netbsd.in: Likewise.
5459 * util/grub.d/10_windows.in: Likewise.
5460 * util/grub.d/20_linux_xen.in: Likewise.
5461 * util/grub.d/30_os-prober.in: Likewise.
5462 * po/POTFILES-shell.in: Regenerate.
5463
5464 2012-02-03 Richard Laager <rlaager@wiktel.com>
5465
5466 * util/grub-mkimage.c (main): Fix format-security warning.
5467 * util/grub-mkrelpath.c (main): Likewise.
5468 * util/grub-probe.c (main): Likewise.
5469
5470 2012-02-03 Richard Laager <rlaager@wiktel.com>
5471
5472 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
5473 failure.
5474 Put back lost PRINT_DRIVE.
5475
5476 2012-02-03 Richard Laager <rlaager@wiktel.com>
5477
5478 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
5479 (grub_guess_root_devices): Replace strlen with sizeof.
5480 Avoid crash.
5481 (find_root_devices_from_poolname): Remove unused variable.
5482 Handle raidzN.
5483
5484 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5485
5486 Support install on multi-device filesystems.
5487
5488 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
5489 (grub_guess_root_devices): ...this. Return char **. All users updated.
5490 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
5491 Removed.
5492 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
5493 (find_root_devices_from_poolname): ... here.
5494 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
5495 Support zfs-fuse.
5496 (grub_guess_root_device): Rename to ...
5497 (grub_guess_root_devices): ... this. Return char **. All users updated.
5498 * util/grub-install.in: Handle multi-device filesystems.
5499 * util/grub-probe.c (probe). Make device_names a char **. Add delim
5500 argument. All users updated.
5501 Handle multi-device filesystems.
5502 Use 'delim' as separator.
5503 Remove device check to allow filesystems on file.
5504 (main): Support -0 argument. Handle multi-device.
5505 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
5506 Fix a cross-device check while on it.
5507 (arguments): Remove root_dev.
5508 (argp_parser): Remove -r.
5509 (main): Remove root_dev.
5510
5511 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5512
5513 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
5514
5515 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5516
5517 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
5518 symbol.
5519 Reported by: NODA, Kai <nodakai>.
5520
5521 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5522
5523 Fix ehci on amd64.
5524
5525 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
5526 pointers.
5527 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
5528 (grub_ehci_setup_qh): Likewise.
5529 (grub_ehci_find_qh): Likewise.
5530 (grub_ehci_transaction): Likewise.
5531 (grub_ehci_setup_transfer): Likewise.
5532 (grub_ehci_check_transfer): Likewise.
5533 (grub_ehci_portstatus): Likewise.
5534 (grub_ehci_detect_dev): Likewise.
5535 (grub_ehci_transfer_controller_data): New field td_last_phys.
5536 (grub_ehci_setup_transfer): Fill td_last_phys.
5537 (grub_ehci_check_transfer): Use td_last_phys.
5538
5539 2012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
5540
5541 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
5542 if no submenu is present.
5543
5544 2012-02-01 Aleš Nesrsta <starous@volny.cz>
5545
5546 CBI support.
5547
5548 * include/grub/usb.h (grub_usbms_protocol_t): New values
5549 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
5550 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
5551 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
5552 (grub_usbms_dev): Add subclass, protocol and intrpt.
5553 Remove in_maxsz and out_maxsz.
5554 (grub_usbms_reset): Rename to ...
5555 (grub_usbms_bo_reset): .. this.
5556 (grub_usbms_cbi_cmd): New function.
5557 (grub_usbms_cbi_reset): Likewise.
5558 (grub_usbms_reset): Likewise.
5559 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
5560 (grub_usbms_transfer): Rename to ...
5561 (grub_usbms_transfer_bo): ... this.
5562 (grub_usbms_transfer_cbi): Likewise.
5563 (grub_usbms_transfer): Likewise.
5564
5565 2012-02-01 Aleš Nesrsta <starous@volny.cz>
5566 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5567
5568 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
5569 the support for the CS5536 modification thereos and few bugfixes.
5570
5571 * grub-core/Makefile.core.def (ehci): New module.
5572 * grub-core/bus/usb/ehci.c: New file.
5573 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
5574 port and hubaddr. All users updated.
5575 Save port and hubaddr into dev structure.
5576 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
5577 define.
5578 * include/grub/pci.h (grub_dma_phys2virt): New function.
5579 (grub_dma_virt2phys): Likewise.
5580 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
5581
5582 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5583
5584 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
5585 check as some mkfs implementations omit it.
5586
5587 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5588
5589 * docs/grub.texi (Unicode): Mention identifier and space limitations.
5590
5591 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5592
5593 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
5594 Add new member volname2.
5595 (grub_jfs_label): Use volname2 if available.
5596
5597 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5598
5599 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
5600 over last_mounted as seen in image generated by mkfs.nilfs2.
5601 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
5602
5603 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5604
5605 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
5606 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
5607 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
5608
5609 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5610
5611 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
5612 over the sector.
5613
5614 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5615
5616 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
5617 subvolume name (by removing a bogus and useless check).
5618
5619 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5620
5621 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
5622 sizeof while on it.
5623
5624 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5625
5626 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
5627 (grub_scsi_read_capacity10): ... this.
5628 (grub_scsi_read_capacity16): New function.
5629 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
5630 0xffffffff.
5631 Fix off-by-one error.
5632 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
5633 64-bit unsigned.
5634 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
5635 (grub_scsi_read_capacity10): ... this.
5636 (grub_scsi_read_capacity_data): Rename to ...
5637 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
5638 (grub_scsi_read_capacity16): New struct.
5639 (grub_scsi_read_capacity16_data): Likewise.
5640 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
5641 grub_scsi_cmd_read_capacity10.
5642 New command grub_scsi_cmd_read_capacity16.
5643
5644 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5645
5646 SCSI >2TiB support.
5647
5648 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
5649 (grub_scsi_write16): Likewise.
5650 (grub_scsi_read): Use read16 when necessary.
5651 (grub_scsi_write): Likewise.
5652 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
5653 (grub_scsi_write16): Likewise.
5654 (grub_scsi_cmd_t): Add READ16 and WRITE16.
5655
5656 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5657
5658 SCSI write support (for usbms mainly).
5659
5660 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
5661 a const pointer.
5662 (grub_scsi_write): Implement.
5663 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
5664
5665 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5666
5667 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
5668 variable.
5669
5670 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5671
5672 * grub-core/lib/posix_wrap/string.h (memchr): New function.
5673
5674 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5675
5676 * po/POTFILES.in: Regenerate.
5677
5678 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5679
5680 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
5681 with grub_printf to avoid unnecessary fatal failure.
5682
5683 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5684
5685 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
5686 (INT_MAX): Likewise.
5687 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
5688 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
5689 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
5690 (strcpy): Likewise.
5691 (strstr): Likewise.
5692 (strchr): Likewise.
5693 (strncpy): Likewise.
5694 (strcat): Likewise.
5695 (strncat): Likewise.
5696 (strcoll): Likewise.
5697 * include/grub/types.h (GRUB_SHRT_MAX): New define.
5698 (GRUB_INT_MAX): Likewise.
5699
5700 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5701
5702 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
5703 unexpected error.
5704 (optimize_utf8): Likewise.
5705 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
5706
5707 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5708
5709 * grub-core/boot/i386/pc/lnxboot.S: Use
5710 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
5711 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
5712 location.
5713 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
5714 definition.
5715 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
5716
5717 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5718
5719 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
5720 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
5721 now to avoid double free.
5722 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
5723 hostdisk.
5724 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
5725 * util/grub-probe.c (escape_of_path): Always return a new copy.
5726 (print_full_name): Escape path.
5727 (probe): Don't call grub_util_devname_to_ofpath on NULL.
5728 Fix hints on abstractions.
5729
5730 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5731
5732 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
5733 Don't add "root" line if no compatibility hont is available.
5734 Suggested by: Seth Goldberg.
5735
5736 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5737
5738 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
5739 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
5740 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
5741 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
5742
5743 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5744
5745 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
5746
5747 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5748
5749 * util/grub-pe2elf.c (ehdr): Make static.
5750 (shdr): Likewise.
5751 (num_sections): Likewise.
5752 (offset): Likewise.
5753
5754 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5755
5756 Eliminate ofpath limits and possible overflows.
5757
5758 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
5759 (OF_PATH_MAX): Removed.
5760 (MAX_DISK_CAT): New const.
5761 (find_obppath): Use allocated rather than preallocated buffer.
5762 Return result. Argument of_path removed. All users updated.
5763 Add missing fdstat.
5764 (xrealpath): New function.
5765 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
5766 Allocate rather than use preallocated buffer. All users updated.
5767 (__of_path_common): Use allocated rather than preallocatecd buffer.
5768 Return result. Argument of_path removed. All users updated.
5769 (vendor_is_ATA): Read only needed part form the file.
5770 (check_sas): Allocate depending on contents rather than fixed.
5771 (main) [STANDALONE]: Handle NULL result.
5772
5773 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5774
5775 * grub-core/normal/completion.c (iterate_dev): Close the disk.
5776
5777 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5778
5779 Cryptodisk write support.
5780
5781 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
5782 (grub_cryptodisk_decrypt): Moved logic to ...
5783 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
5784 (grub_cryptodisk_write): Implement.
5785 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
5786 (grub_util_fd_write): ... this. Make global.
5787 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
5788
5789 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5790
5791 * include/grub/list.h (grub_list_remove): Don't crash if element is
5792 removed twice.
5793
5794 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5795
5796 Rename ofconsole to console.
5797
5798 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
5799 as sysnonym to console.
5800 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
5801 * grub-core/term/ieee1275/console.c: ... this. All users updated.
5802 Rename grub_ofconsole_ to grub_console_. All users updated
5803 (grub_console_term_output): Rename "ofconsole" to "console".
5804 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
5805 as "console".
5806
5807 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5808
5809 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
5810 handling.
5811 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
5812 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
5813 GRUB_DISK_DEVICE_FILE_ID.
5814
5815 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5816
5817 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
5818 and improve performance.
5819
5820 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5821
5822 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
5823 missing ieee1275/ prefix on whole disk.
5824
5825 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5826
5827 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
5828 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
5829
5830 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5831
5832 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
5833
5834 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5835
5836 Merge common RAID and LVM logic to an abstract diskfilter.
5837 Add LDM support using the same framework.
5838
5839 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
5840 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
5841 (libgrubmods): Remove grub-core/disk/raid.c and
5842 grub-core/partmap/gpt.c.
5843 * grub-core/Makefile.core.def (ldm): New module.
5844 (raid): Renamed to diskfilter. All users updated.
5845 * grub-core/disk/raid.c: Moved to ...
5846 * grub-core/disk/diskfilter.c: ... here.
5847 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
5848 (lv_num): New var.
5849 (find_array): Renamed to ...
5850 (find_lv): ... this. Support multi-LV. Skip nameless LVs
5851 (grub_is_array_readable): Renamed to ...
5852 (grub_is_lv_readable): ... this. Support multinode hierarchy.
5853 (insert_array): New argument id.
5854 (is_node_readable): New function.
5855 (scan_device): Rename to ...
5856 (scan_disk): .. this. Restrict to one disk.
5857 (scan_devices): New function.
5858 (grub_diskfilter_iterate): Support multi-LV.
5859 Skip invisible and nameless LVs.
5860 (grub_diskfilter_memberlist): Support multi-LV.
5861 (grub_diskfilter_read_node): New function.
5862 (grub_raid_read): Most of logic moved to ...
5863 (read_segment): ... here
5864 (read_lv): New function.
5865 (grub_diskfilter_get_vg_by_uuid): New function.
5866 (grub_diskfilter_make_raid): Likewise.
5867 * grub-core/disk/ldm.c: New file.
5868 * grub-core/disk/lvm.c (vg_list): Removed.
5869 (lv_count): Likewise.
5870 (scan_depth): Likewise.
5871 (is_lv_readable): Likewise.
5872 (grub_lvm_getvalue): Advance pointer past the number.
5873 (find_lv): Removed.
5874 (do_lvm_scan): Refactored into ...
5875 (grub_lvm_detect): ... this. Support raid.
5876 (grub_lvm_iterate): Removed.
5877 (grub_lvm_memberlist): Likewise.
5878 (grub_lvm_open): Likewise.
5879 (grub_lvm_close): Likewise.
5880 (read_lv): Likewise.
5881 (read_node): Likewise.
5882 (is_node_readable): Likewise.
5883 (is_lv_readable): Likewise.
5884 (grub_lvm_read): Likewise.
5885 (grub_lvm_write): Likewise.
5886 (grub_lvm_dev): Use diskfilter
5887 (GRUB_MOD_INIT): Likewise.
5888 (GRUB_MOD_FINI): Likewise.
5889 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
5890 new interface.
5891 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
5892 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
5893 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
5894 grub_diskfilter_read_node.
5895 Fix a bug with xor.
5896 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
5897 grub_diskfilter_read_node.
5898 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
5899 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
5900 (grub_disk_dev_iterate): Move from here...
5901 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
5902 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
5903 Make global.
5904 (grub_hostdisk_find_partition_start): Likewise.
5905 (grub_hostdisk_os_dev_to_grub_drive): New function.
5906 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
5907 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
5908 * util/getroot.c (make_device_name): ... here.
5909 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
5910 Move to ...
5911 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
5912 * grub-core/kern/emu/hostdisk.c
5913 (convert_system_partition_to_system_disk): Move to ...
5914 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
5915 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
5916 * util/getroot.c (device_is_wholedisk): ... here.
5917 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
5918 * util/getroot.c (find_system_device): ... here.
5919 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
5920 Move to ...
5921 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
5922 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
5923 Move to ...
5924 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
5925 Handle LDM.
5926 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
5927 Move to ...
5928 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
5929 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
5930 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
5931 DISKFILTER.
5932 * include/grub/raid.h: Renamed to ...
5933 * include/grub/diskfilter.h: ... this.
5934 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
5935 (GRUB_RAID_LAYOUT_*): Make into array.
5936 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
5937 (grub_diskfilter_vg): New struct.
5938 (grub_diskfilter_pv_id): Likewise.
5939 (grub_raid_member): Removed.
5940 (grub_raid_array): Likewise.
5941 (grub_diskfilter_pv): New struct.
5942 (grub_diskfilter_lv): Likewise.
5943 (grub_diskfilter_segment): Likewise.
5944 (grub_diskfilter_node): Likewise.
5945 (grub_diskfilter_get_vg_by_uuid): New proto.
5946 (grub_raid_register): Inline.
5947 (grub_diskfilter_unregister): Likewise.
5948 (grub_diskfilter_make_raid): New proto.
5949 (grub_diskfilter_vg_register): Likewise.
5950 (grub_diskfilter_read_node): Likewise.
5951 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
5952 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
5953 (grub_util_is_ldm): Likewise.
5954 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
5955 (grub_hostdisk_find_partition_start): Likewise.
5956 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
5957 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
5958 New definition.
5959 (grub_gpt_partition_map_iterate): New proto.
5960 * include/grub/lvm.h (grub_lvm_vg): Removed.
5961 (grub_lvm_pv): Likewise.
5962 (grub_lvm_lv): Likewise.
5963 (grub_lvm_segment): Likewise.
5964 (grub_lvm_node): Likewise.
5965 * util/getroot.c [...]
5966 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
5967 (probe_abstraction): Likewise.
5968 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
5969 (main): Remove dead logic.
5970
5971 2012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
5972
5973 Simplify root device discover and don't fail when trying to open
5974 incorrect devices.
5975
5976 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
5977 function.
5978 (get_diskname_from_path): Likewise.
5979 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
5980 of iterating.
5981
5982 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5983
5984 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
5985
5986 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5987
5988 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
5989 pastthe end.
5990
5991 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5992
5993 * util/grub-install.in: Add missing \.
5994 Reported by: gentoofan
5995
5996 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
5997
5998 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
5999 (direct_read): Use correct compressed size.
6000 (grub_squash_read_data): Likewise.
6001
6002 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
6003
6004 * docs/grub.texi (Platform limitations): New section.
6005 (Platform-specific operations): Likewise.
6006 * docs/grub-dev.texi (Porting): Likewise.
6007
6008 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6009
6010 IEEE1275 disk write support.
6011
6012 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
6013 const void *.
6014 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
6015 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
6016 and seek loginc to ...
6017 (grub_ofdisk_prepare): ... here.
6018 (grub_ofdisk_write): Implement.
6019
6020 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6021
6022 ARC disk write support.
6023
6024 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
6025 (reopen): New argument writable. All users updated.
6026 Handle required access mode.
6027 (grub_arcdisk_write): Implement.
6028 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
6029 (grub_arc_firmware_vector): Make buffer to write a const buffer.
6030
6031 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6032
6033 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
6034 (read_sblock): Don't attempt to read superblocks outside the disk size.
6035
6036 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6037
6038 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
6039 first superblock to find the second one when possible.
6040
6041 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6042
6043 * util/grub-install.in: Fix an ARC bug.
6044 Print a warning if no platform-specific setup is available.
6045
6046 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6047
6048 Use static allocation rather than scratch pointer in reed_solomon.
6049 It decreases its size significantly and avoids a variable in .text.
6050
6051 * grub-core/lib/reed_solomon.c (scratch): Removed.
6052 (chosenstat): New const or static array.
6053 (sigma): Likewise.
6054 (errpot): Likewise.
6055 (errpos): Likewise.
6056 (sy): Likewise.
6057 (mstat): Likewise.
6058 (errvals): Likewise.
6059 (eqstat): Likewise.
6060 (pol_evaluate): Replace x with log_x argument. All users updated.
6061 (syndroms): Removed.
6062 (gauss_solve): Use statically allocated arrays.
6063 (rs_recover): Likewise.
6064 Calculate syndroms directly.
6065 (decode_block): Use statically allocated arrays.
6066 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
6067 (main) [TEST]: Allow -DTEST -DSTANDALONE.
6068
6069 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6070
6071 Eliminate fixed limit on reed solomon decoder length.
6072
6073 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
6074 rather than hardcoding the address.
6075 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
6076 no_reed_solomon_length.
6077 Move gate_a20 to no-reed-solomon part.
6078 Don't force a particular size of no reed-solomon part.
6079 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
6080 Removed.
6081 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
6082 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
6083
6084 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6085
6086 * grub-core/commands/wildcard.c (match_files): Handle filenames
6087 without explicit device.
6088 (wildcard_expand): Don't add explicit device if not already present.
6089 * tests/grub_script_echo1.in: Add a new expansion test.
6090
6091 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6092
6093 Replace single-linked with double-linked lists. It results in more
6094 compact and more efficient code.
6095
6096 * grub-core/kern/list.c (grub_list_push): Moved from here ...
6097 * include/grub/list.h (grub_list_push): ... to here. Set prev.
6098 (grub_list_remove): Moved from here ...
6099 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
6100 (grub_prio_list_insert): Set prev.
6101 * include/grub/list.h (grub_list): Add prev. All users updated.
6102
6103 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6104
6105 Handle newer autotools. Add some missing quotes while on it.
6106
6107 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
6108 (pkglib_DATA): Move grub-mkconfig_lib from here ...
6109 (pkgdata_DATA): ... here.
6110 * Makefile.util.def (update-grub_lib): Removed.
6111 * conf/Makefile.common (pkglib_DATA): Removed.
6112 (pkglib_SCRIPTS): Likewise.
6113 (pkgdata_DATA): New variable.
6114 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
6115 needed.
6116 Add missing quotes.
6117 Remove unused variable while on it.
6118 * tests/util/grub-shell.in: Likewise.
6119 * util/grub-install.in: Likewise.
6120 * util/grub-mkconfig.in: Likewise.
6121 * util/grub-mknetdir.in: Likewise.
6122 * util/grub-mkrescue.in: Likewise.
6123 * util/grub-mkstandalone.in: Likewise.
6124 * util/grub.d/00_header.in: Likewise.
6125 * util/grub.d/10_hurd.in: Likewise.
6126 * util/grub.d/10_illumos.in: Likewise.
6127 * util/grub.d/10_kfreebsd.in: Likewise.
6128 * util/grub.d/10_linux.in: Likewise.
6129 * util/grub.d/10_netbsd.in: Likewise.
6130 * util/grub.d/10_windows.in: Likewise.
6131 * util/grub.d/20_linux_xen.in: Likewise.
6132 * util/grub.d/30_os-prober.in: Likewise.
6133 * util/update-grub_lib.in: Removed.
6134
6135 2012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
6136
6137 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
6138 a workaround for intel problem.
6139
6140 2012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
6141 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
6142 2012-01-23 pfsmorigo
6143
6144 * util/grub-install.in: Support dd'in into PreP partition.
6145 * util/grub-probe.c (probe): Support discovering partition type.
6146 (main): Support -t msdos_parttype.
6147
6148 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
6149
6150 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
6151 infinite recursion using counter.
6152 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
6153 init to skip it if the magic check fails.
6154 (dec_stream_header): Init s->crc32.
6155
6156 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6157 2012-01-22 Zachary Bedell <pendorbound@gmail.com>
6158 2012-01-22 Richard Laager <rlaager@wiktel.com>
6159
6160 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
6161 All users updated.
6162 (find_bestub): Determine correct size.
6163 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
6164 (scan_disk): Align the size down.
6165 Call check pool before find_bestub to have ashift.
6166
6167 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6168
6169 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
6170 dprintf in no-malloc zone.
6171
6172 2012-01-22 Mario Limonciello <mario_limonciello@dell.com>
6173
6174 * configure.ac: Add back in test for limits.h.
6175
6176 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6177
6178 Support 4K-sector NTFS.
6179
6180 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
6181 (grub_ntfs_data): Remove blocksize.
6182 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
6183 Remove data argument. All users updated.
6184
6185 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6186
6187 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
6188 being in .text to avoid dprel references.
6189 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
6190 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
6191 (grub_arch_highmemsize): Likewise.
6192 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
6193 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
6194 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
6195
6196 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6197
6198 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
6199
6200 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
6201 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
6202
6203 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6204
6205 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
6206 GRUB_UTIL.
6207 (grub_set_datetime_cmos): Likewise.
6208
6209 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6210
6211 Make XZ compression parameters dependent on target and not host CPU.
6212
6213 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
6214 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
6215
6216 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6217
6218 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
6219 set but not used variable.
6220
6221 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6222
6223 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
6224 created when no uuid support is compiled into mkfs.reiser.
6225
6226 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6227
6228 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
6229 (utf8_to_macroman): Do the opposite.
6230 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
6231
6232 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6233
6234 * configure.ac: Refise build qemu_mips w/o unifont.
6235
6236 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6237
6238 Eliminate grub_min/grub_max prone to overflow usage.
6239
6240 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
6241 (poll_nonroot_hub): Likewise.
6242 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
6243 (grub_affs_label): Likewise.
6244 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
6245 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
6246 (grub_hfs_label): Likewise.
6247 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
6248 * grub-core/fs/zfs/zfs.c (MIN): Remove.
6249 (zap_leaf_array_equal): Use grub_size. Remove MIN.
6250 (zap_leaf_array_get): Likewise.
6251 (dnode_get_path): Likewise.
6252 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
6253 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
6254 * grub-core/script/execute.c (grub_script_break): Likewise.
6255 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
6256 grub_max.
6257 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
6258 * include/grub/misc.h (grub_min): Removed.
6259 (grub_max): Likewise.
6260
6261 2012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
6262
6263 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
6264 direct.inode = 0.
6265
6266 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6267
6268 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
6269
6270 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6271
6272 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
6273
6274 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6275
6276 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
6277 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
6278
6279 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6280
6281 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
6282 rather than a hack for grub_strncasemap.
6283
6284 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6285
6286 Support multiple initrds
6287 Note: part of this was accidently committed in r3739.
6288
6289 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
6290 initrd.
6291 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
6292 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
6293 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
6294 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6295 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6296
6297 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6298
6299 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
6300 disks with unknown size.
6301 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
6302
6303 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6304
6305 Remove defines pertaining to arbitrary limits not affecting GRUB
6306 anymore.
6307
6308 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
6309 (EXT2_MAX_SYMLINKCNT): Likewise.
6310 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
6311 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
6312 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
6313 (GRUB_PXE_MAX_BLKSIZE): Likewise.
6314 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
6315 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
6316 (DN_MAX_OBJECT_SHIFT): Likewise.
6317 (DN_MAX_OFFSET_SHIFT): Likewise.
6318 (DN_MAX_OBJECT): Likewise.
6319 (DNODES_PER_LEVEL_SHIFT): Likewise.
6320 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
6321 (SPA_MAXBLOCKSIZE): Likewise.
6322 (SPA_BLOCKSIZES): Likewise.
6323 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
6324 (MZAP_MAX_BLKSZ): Likewise.
6325
6326 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6327
6328 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
6329 handle NULL appropriately.
6330 Remove MIN.
6331
6332 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6333
6334 Fix efiemu.
6335
6336 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
6337 cpu/types.h.
6338 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
6339 * configure.ac: Fix efiemu check.
6340
6341 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6342
6343 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
6344 grub_probe.
6345 Reported by: adamwill
6346
6347 2012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
6348
6349 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
6350
6351 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6352
6353 Fix handling of wide characters in gfxterm.
6354
6355 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
6356 (clear_char): Likewise.
6357 (paint_char): Skip code == NULL chars.
6358 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
6359
6360 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6361
6362 * grub-core/normal/charset.c: Move comment to right place.
6363
6364 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6365
6366 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
6367 (GRUB_AFFS_FLAG_FFS): Put back where it was.
6368 (grub_affs_mount): Revert the correct version checking.
6369
6370 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6371
6372 * docs/grub.texi (Unicode): Mention several other unsupported features.
6373
6374 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
6375
6376 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
6377 case statements as compile-time one.
6378 (direct_read): Prevent spurious warnings.
6379 (grub_squash_read_data): Likewise.
6380
6381 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
6382
6383 Various squash4 fixes and LZO and XZ support.
6384
6385 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
6386 Add xzembed source files.
6387 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
6388 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
6389 (grub_squash_inode): New subtype long_dir.
6390 (SQUASH_TYPE_LONG_DIR): New inode type.
6391 (COMPRESSION): New enum.
6392 (XZBUFSIZ): New const.
6393 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
6394 (read_chunk): Use data->decompress.
6395 (zlib_decompress): New function.
6396 (lzo_decompress): Likewise.
6397 (xz_decompress): Likewise.
6398 (squash_mount): Set new data fields.
6399 (grub_squash_iterate_dir): Handle long dir.
6400 (squash_unmount): Free xzdec and xzbuf.
6401 (grub_squash_open): Check ino type.
6402 (direct_read): Stylistic fixes. Use data->decompress.
6403 (grub_squash_read_data): Likewise.
6404 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
6405 (get_byte): Likewise.
6406 (grub_zlib_disk_read): Removed.
6407 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
6408 (GRUB_POSIX_BOOL_DEFINED): New define.
6409 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
6410 * grub-core/lib/xzembed/xz.h: Addmissing includes.
6411 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
6412 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
6413
6414 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
6415
6416 Don't override more informative errors.
6417
6418 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
6419 * grub-core/font/font.c (open_section): Likewise.
6420 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
6421 filename. Don't override errors.
6422 (grub_cmd_openbsd_ramdisk): Don't override errors.
6423 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
6424 (grub_cmd_initrd): Likewise.
6425 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
6426 (grub_cmd_initrd): Likewise.
6427 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
6428 (grub_cmd_linux): Likewise.
6429 (grub_cmd_initrd): Likewise.
6430 (grub_cmd_payload): Likewise.
6431 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
6432 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
6433 (grub_cmd_module): Likewise.
6434 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6435 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6436 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
6437 (grub_cmd_xnu_mkext): Likewise.
6438 (grub_cmd_xnu_ramdisk): Likewise.
6439 (grub_xnu_check_os_bundle_required): Likewise.
6440 (grub_xnu_load_kext_from_dir): Likewise.
6441 (grub_cmd_xnu_kextdir): Likewise.
6442 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
6443
6444 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6445
6446 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
6447 as 1024 in block size field. Found on one of my test images.
6448 Small optimisation while on it.
6449
6450 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6451
6452 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
6453 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
6454 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
6455 performance fixes while on it.
6456 (grub_sfs_close): Fix memory leak while on it.
6457 (grub_sfs_label): Convert Latin1 to UTF-8.
6458
6459 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6460
6461 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
6462 space to avoid overflows.
6463 (grub_hfs_label): Convert from macroman to UTF-8.
6464
6465 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6466
6467 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
6468
6469 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6470
6471 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
6472
6473 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6474
6475 * unicode: Import Unicode 6.0 data.
6476
6477 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6478
6479 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
6480 outside of range.
6481
6482 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6483
6484 Avoid cutting in the middle of UTF-8 character.
6485
6486 * include/grub/charset.h (grub_getend): New function.
6487 * grub-core/script/function.c (grub_script_function_find): Use
6488 grub_getend.
6489 * grub-core/normal/completion.c (add_completion): Likewise.
6490
6491 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6492
6493 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
6494 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
6495 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
6496 (GRUB_UNICODE_TAG_END): Likewise.
6497 (GRUB_UNICODE_LAST_VALID): Likewise.
6498
6499 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6500
6501 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
6502 len and make it smaller. All users updated.
6503 * util/import_unicode.py: Put length and not end character.
6504 Check length.
6505
6506 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6507
6508 Make better Unicode-compliant and unify some UTF-8 code pathes.
6509
6510 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
6511 valid character.
6512 (grub_is_valid_utf8): Use grub_utf8_process.
6513 Check resulting code range.
6514 (grub_utf8_to_ucs4): Use grub_utf8_process.
6515 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
6516 valid character.
6517
6518 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6519
6520 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
6521
6522 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6523
6524 * docs/grub.texi (Filesystems): Mention AFS.
6525
6526 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6527
6528 * docs/grub.texi (Filesystems): Clarify restrictions.
6529 (Regexp): Mention non-Unicode regexp behaviour.
6530 (Other): Mention non-Unicode matching behaviour.
6531
6532 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6533
6534 Make HFS implementation use MacRoman.
6535
6536 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
6537 (macroman): New const array.
6538 (macroman_to_utf8): New function.
6539 (utf8_to_macroman): Likewise.
6540 (grub_hfs_find_dir): Use utf8_to_macroman.
6541 (grub_hfs_dir): Use macroman_to_utf8.
6542 Set case_insensitive.
6543
6544 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6545
6546 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
6547
6548 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6549
6550 Integrate hints into autogeneration scripts.
6551
6552 * docs/grub.texi (Filesystems): Add a hostdisk example.
6553 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
6554 (grub-probe): Add ofpath.
6555 * gentpl.py: Remove group nosparc64.
6556 * grub-core/commands/search.c (cache_entry): New struct.
6557 (cache): New var.
6558 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
6559 * grub-core/commands/search_wrap.c (options): Add platform-specific
6560 hint options.
6561 (grub_cmd_search): Handle platform-specific hints.
6562 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
6563 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
6564 (grub_util_biosdisk_data): Likewise.
6565 (grub_util_biosdisk_open): Set device_map.
6566 (read_device_map): Handle "" as indication of no map.
6567 Set device_map.
6568 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
6569 (grub_util_biosdisk_get_compatibility_hint): New function.
6570 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
6571 * include/grub/emu/hostdisk.h
6572 (grub_util_biosdisk_get_compatibility_hint): New proto.
6573 * util/grub-install.in: Don't call grub-mkdevicemap.
6574 Add platform-specific hint to load.cfg.
6575 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
6576 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
6577 hints. Set root preliminary to compatibility hint, not to OS name.
6578 * util/grub-probe.c (PRINT_*): Add hints.
6579 (print): Make static.
6580 (escape_of_path): New function.
6581 (guess_bios_drive): Likewise.
6582 (guess_efi_drive): Likewise.
6583 (guess_baremetal_drive): Likewise.
6584 (print_full_name): Likewise.
6585 (probe): Handle hints.
6586 (main): Likewise.
6587 * util/ieee1275/devicemap.c: Removed.
6588 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
6589 updated.
6590 (grub_util_devname_to_ofpath): Return NULL on failure.
6591
6592 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
6593 resource leak.
6594 * util/getroot.c (grub_util_pull_device): Fix memory leak.
6595
6596 * po/POTFILES.in: Regenerated.
6597
6598 Allow purely long options
6599
6600 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
6601 (SHORT_ARG_USAGE): Likewise.
6602 (grub_arg_show_help): Compare opt with help_options.
6603 (parse_option): Receive opt as argument. If makes big simplificatons.
6604 All users updated
6605
6606 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6607
6608 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
6609 Restructure to avoid warning.
6610
6611 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6612
6613 * util/grub-install.in: Account for possible escaped comma in device
6614 name.
6615
6616 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6617
6618 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
6619 channel.
6620
6621 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6622
6623 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
6624 allocation and zero-setting.
6625 (grub_ieee1275_get_devname): Check that alias is complete.
6626
6627 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6628
6629 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
6630 unaligned segments.
6631
6632 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6633
6634 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
6635 prefix.
6636 (grub_ofdisk_open): Check and discard ieee1275 prefix.
6637 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
6638 Add ieee1275 prefix.
6639
6640 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6641
6642 * docs/grub.texi (Filesystems): Update.
6643
6644 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6645
6646 Support odc, newc and bigendian cpio formats.
6647
6648 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
6649 * grub-core/Makefile.core.def (newc): New module.
6650 (odc): Likewise.
6651 (cpio_be): Likewise.
6652 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
6653 (MAGIC): Likewise.
6654 (MAGIC2): Likewise.
6655 (head) [MODE_ODC]: Adapt for the format.
6656 (head) [MODE_NEWC]: Likewise.
6657 (head) [!MODE_*]: Write fields of interest as arrays.
6658 (MAGIC_USTAR): Removed.
6659 (read_number) [MODE_NEWC]: Change to hex.
6660 (read_number) [!MODE_*]: Parse binary arrays.
6661 (grub_cpio_find_file): Factor out the code for better structure and
6662 always use read_number.
6663 (grub_cpio_mount): Use MAGIC and MAGIC2.
6664 (grub_cpio_dir): Exit on first hook non-0 return.
6665 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
6666 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
6667 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
6668 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
6669 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
6670 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
6671 * grub-core/fs/newc.c: New file.
6672 * grub-core/fs/odc.c: Likewise.
6673 * grub-core/fs/cpio_be.c: Likewise.
6674
6675 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6676
6677 Fix handling of tar numbers occupying the whole field.
6678
6679 * grub-core/fs/cpio.c (read_number): New function.
6680 (grub_cpio_find_file): Use read_number instead of strtoull.
6681
6682 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6683
6684 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
6685 occupying the whole field size.
6686
6687 2011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
6688
6689 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
6690
6691 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6692
6693 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
6694
6695 2011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
6696
6697 * grub-core/Makefile.core.def (lzma_decompress): Add missing
6698 TARGET_IMG_LDFLAGS.
6699
6700 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6701
6702 * util/getroot.c (ESCAPED_PATH_MAX): New define.
6703 (mountinfo_entry): Increase the field size to take escaping into
6704 account.
6705 (find_root_device_from_libzfs): Add one byte to size of strings for
6706 security.
6707
6708 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6709
6710 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
6711 an assert.
6712 * util/grub-setup.c (setup): Likewise.
6713
6714 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6715
6716 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
6717 _LzmaDecodeA.
6718
6719 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6720
6721 * docs/grub.texi (Internationalisation): New section.
6722
6723 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6724
6725 * docs/grub.texi (Loopback booting): New section.
6726
6727 2011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
6728
6729 * util/grub-mkstandalone.in: Fix minor typo errors.
6730
6731 2011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
6732
6733 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
6734
6735 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
6736 net/icmp.c and net/icmp6.c.
6737 (http): New module.
6738 (priority_queue): Likewise.
6739 * grub-core/io/bufio.c: Rewritten.
6740 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
6741 TYPE_WITH_CONFIGFILE_OPTION.
6742 (legacy_commands): Add bootp and dhcp.
6743 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
6744 (grub_legacy_parse): Likewise.
6745 * grub-core/lib/priority_queue.c: New file.
6746 * grub-core/net/arp.c: Add missing license header.
6747 (arp_find_entry): Removed.
6748 (arp_find_entry): Likewise.
6749 (grub_net_arp_resolve): Rename to ...
6750 (grub_net_arp_send_request): ...this.
6751 (grub_net_arp_receive): New card argument.
6752 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
6753 Set router and DNS server.
6754 (grub_net_configure_by_dhcp_ack): Handle routing information.
6755 (grub_cmd_bootp): Set checksum.
6756 (grub_bootp_init): Remove net_dhcp.
6757 * grub-core/net/dns.c: New file.
6758 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
6759 completion.
6760 (get_card_packet): Handle allocation.
6761 (grub_efinet_findcards): Set mtu.
6762 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
6763 (get_card_packet): Handle allocation.
6764 (emucard): Set mtu.
6765 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
6766 (GRUB_MOD_INIT): Set mtu.
6767 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
6768 mtu.
6769 (get_card_packet): Handle allocation.
6770 (grub_ofnet_findcards): Set mtu.
6771 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
6772 assert.
6773 (grub_net_recv_ethernet_packet): Handle IPv6.
6774 * grub-core/net/http.c: New file.
6775 * grub-core/net/icmp.c: Likewise.
6776 * grub-core/net/icmp6.c: Likewise.
6777 * grub-core/net/ip.c (ip6addr): New type.
6778 (ip6hdr): Likewise.
6779 (reassemble): Likewise.
6780 (cmp): New function.
6781 (reassembles): New variable.
6782 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
6783 (id): New variable.
6784 (send_fragmented): New function.
6785 (grub_net_send_ip_packet): Rename to ...
6786 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
6787 Handle non-UDP.
6788 (grub_net_recv_ip_packets): Rename to ...
6789 (handle_dgram): ... this. Check checksum. Handle non-UDP.
6790 (free_rsm): New function.
6791 (free_old_fragments): Likewise.
6792 (grub_net_recv_ip4_packets): New function.
6793 (grub_net_send_ip6_packet): Likewise.
6794 (grub_net_send_ip_packet): Likewise.
6795 (grub_net_recv_ip6_packets): Likewise.
6796 (grub_net_recv_ip_packets): Likewise.
6797 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
6798 (LINK_LAYER_CACHE_SIZE): New const.
6799 (link_layer_find_entry): New function.
6800 (grub_net_link_layer_add_address): Likewise.
6801 (grub_net_link_layer_resolve_check): Likewise.
6802 (grub_net_link_layer_resolve): Likewise.
6803 (grub_net_ipv6_get_slaac): Likewise.
6804 (grub_net_ipv6_get_link_local): Likewise.
6805 (grub_cmd_ipv6_autoconf): Likewise.
6806 (parse_ip): Handle one number representation.
6807 (parse_ip6): New functoion.
6808 (match_net): Handle IPv6.
6809 (grub_net_resolve_address): Handle IPv6 and DNS.
6810 (grub_net_resolve_net_address): Handle IPv6.
6811 (route_cmp): New function.
6812 (grub_net_route_address): Find best route.
6813 (grub_net_addr_to_str): Handle IPv6.
6814 (grub_net_addr_cmp): New function.
6815 (grub_net_add_addr): Register local route.
6816 (print_net_address): Handle net address.
6817 (grub_net_poll_cards): Retransmit TCP.
6818 (grub_net_poll_cards_idle_real): Likewise.
6819 (have_ahead): New function.
6820 (grub_net_seek_real): Use underlying seek.
6821 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
6822 * grub-core/net/tcp.c: New file.
6823 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
6824 (cmp): New function.
6825 (ack): Likewise.
6826 (tftp_receive): Handle unordered input.
6827 (destroy_pq): New function.
6828 (tftp_close): Close pq.
6829 * grub-core/net/udp.c: Put missing license header.
6830 (grub_net_udp_socket): New function.
6831 (udp_socket_register): Likewise.
6832 (grub_net_udp_close): Likewise.
6833 (grub_net_recv_udp_packet): Check checksum.
6834 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
6835 * include/grub/misc.h (grub_memchr): New function.
6836 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
6837 (grub_net_card_driver): Return buf in recv.
6838 (grub_net_slaac_mac_list): New struct.
6839 (grub_network_level_protocol_id): Add ipv6.
6840 (grub_net_network_level_addr): Likewise.
6841 (grub_net_network_level_net_addr): Likewise.
6842 (grub_net_app_protocol): Add seek.
6843 (grub_net_socket): Removed.
6844 (grub_net_sockets): Likewise.
6845 (grub_net_socket_register): Likewise.
6846 (grub_net_socket_unregister): Likewise.
6847 (FOR_NET_SOCKETS): Likewise.
6848 (grub_net_add_addr): Add const.
6849 (GRUB_NET_BOOTP_*): New enum.
6850 (grub_net_addr_cmp): New proto.
6851 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
6852 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
6853 (grub_net_hwaddr_to_str): NEw proto.
6854 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
6855 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
6856 (grub_dns_init): New proto.
6857 (grub_dns_fini): Likewise.
6858 (grub_net_tcp_retransmit): Likewise.
6859 (grub_net_link_layer_add_address): Likewise.
6860 (grub_net_link_layer_resolve_check): Likewise.
6861 (grub_net_link_layer_resolve): Likewise.
6862 (grub_net_dns_lookup): Likewise.
6863 (grub_net_add_dns_server): Likewise.
6864 (grub_net_remove_dns_server): Likewise.
6865 (GRUB_NET_TRIES): New const.
6866 (GRUB_NET_INTERVAL): Likewise.
6867 * include/grub/net/arp.h: Mostly rewritten.
6868 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
6869 * include/grub/net/ip.h: Mostly rewritten.
6870 * include/grub/net/netbuff.h: Indent.
6871 * include/grub/net/tcp.h: New file.
6872 * include/grub/net/udp.h: Mostly rewritten.
6873 * include/grub/priority_queue.h: New file.
6874 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
6875 (grub_swap_bytes64_compile_time): Likewise.
6876 (grub_cpu_to_be16_compile_time): Likewise.
6877 (grub_cpu_to_be32_compile_time): Likewise.
6878 (grub_cpu_to_be64_compile_time): Likewise.
6879 (grub_be_to_cpu64_compile_time): Likewise.
6880
6881 2011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
6882
6883 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
6884 UINT_TO_PTR with cast.
6885
6886 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6887
6888 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
6889 don't use them.
6890
6891 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6892
6893 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
6894 already there.
6895
6896 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6897
6898 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
6899 confusing ipxe.
6900
6901 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6902
6903 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
6904 Add missing const attribute.
6905 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
6906 Likewise.
6907 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
6908 Likewise.
6909
6910 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6911
6912 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
6913 misaligned access.
6914 (serpent_setkey): Likewise.
6915 (serpent_encrypt_internal): Likewise.
6916 (serpent_decrypt_internal): Likewise.
6917 (serpent_encrypt): Don't put an alignment-increasing cast.
6918 (serpent_decrypt): Likewise.
6919 (serpent_test): Likewise.
6920
6921 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6922
6923 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
6924
6925 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6926
6927 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
6928
6929 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
6930 grub_addr_t casts.
6931 (PTR_TO_UINT64): Likewise.
6932 (PTR_TO_UINT32): Likewise.
6933
6934 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6935
6936 * util/grub-mkimage.c (generate_image): Decrease the higher limit
6937 because of stack.
6938 * util/grub-setup.c (setup): Don't add redundancy past the higher load
6939 limit.
6940
6941 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6942
6943 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
6944 text_width > available width a bit more gracefully.
6945
6946 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6947
6948 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
6949 current address calculation.
6950
6951 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6952
6953 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
6954 stack.
6955 (encode_block): Likewise.
6956
6957 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6958
6959 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
6960 certainety.
6961
6962 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6963
6964 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
6965 non-RS part to avoid RS messing with GDT.
6966 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
6967 Increase to suit in realmode routines.
6968
6969 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6970
6971 * grub-core/kern/i386/realmode.S: Increase alignment.
6972 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
6973
6974 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6975
6976 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
6977 be deterministic.
6978 (syndroms): Compute 0 syndrom.
6979 (rs_recover): Use 0 syndrom.
6980
6981 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6982
6983 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
6984
6985 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6986
6987 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
6988 brackets.
6989
6990 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6991
6992 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
6993 account.
6994 (get_top_pad): Likewise.
6995 (get_right_pad): Likewise.
6996 (get_bottom_pad): Likewise.
6997
6998 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6999
7000 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
7001
7002 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7003
7004 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
7005 attribute as the structure isn't guaranteed to be properly aligned.
7006 (grub_efi_pci_device_path): Likewise.
7007 (grub_efi_pccard_device_path): Likewise.
7008 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
7009 specify the size of `memory_type'.
7010 (grub_efi_vendor_device_path): Likewise.
7011 (grub_efi_controller_device_path): Likewise.
7012 (grub_efi_acpi_device_path): Likewise.
7013 (grub_efi_expanded_acpi_device_path): Likewise.
7014 (grub_efi_atapi_device_path): Likewise.
7015 (grub_efi_scsi_device_path): Likewise.
7016 (grub_efi_fibre_channel_device_path): Likewise.
7017 (grub_efi_1394_device_path): Likewise.
7018 (grub_efi_usb_device_path): Likewise.
7019 (grub_efi_usb_class_device_path): Likewise.
7020 (grub_efi_i2o_device_path): Likewise.
7021 (grub_efi_mac_address_device_path): Likewise.
7022 (grub_efi_ipv4_device_path): Likewise.
7023 (grub_efi_ipv6_device_path): Likewise.
7024 (grub_efi_infiniband_device_path): Likewise.
7025 (grub_efi_uart_device_path): Likewise.
7026 (grub_efi_vendor_messaging_device_path): Likewise.
7027 (grub_efi_hard_drive_device_path): Likewise.
7028 (grub_efi_cdrom_device_path): Likewise.
7029 (grub_efi_vendor_media_device_path): Likewise.
7030 (grub_efi_file_path_device_path): Likewise.
7031 (grub_efi_protocol_device_path): Likewise.
7032 (grub_efi_piwg_device_path): Likewise.
7033 (grub_efi_bios_device_path): Likewise.
7034
7035 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7036
7037 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
7038 (grub_ucs4_to_utf8_alloc): Likewise.
7039 (grub_ucs4_to_utf8): Likewise.
7040 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
7041 (grub_ucs4_to_utf8_alloc): Likewise.
7042
7043 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7044
7045 AFFS never uses unicode.
7046
7047 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
7048 (grub_latin1_to_utf8): New inline function.
7049 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
7050
7051 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7052
7053 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
7054 overflow.
7055
7056 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7057
7058 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
7059 (grub_squash_dirent_header): Likewise.
7060 (read_chunk): Don't double swap.
7061 (grub_squash_iterate_dir): Fix swap sizes.
7062
7063 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7064
7065 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
7066
7067 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7068
7069 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
7070 (grub_hfs_iterate_dir): Likewise.
7071
7072 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7073
7074 Fix video on platforms where unaligned access is forbidden.
7075 Make several optimisations while on it.
7076
7077 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
7078 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
7079 (grub_video_fbblit_replace_32bit_1bit): Likewise.
7080 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
7081 Disable.
7082 (grub_video_fbblit_replace_16bit_1bit):
7083 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
7084 (grub_video_fbblit_replace_8bit_1bit): Likewise.
7085 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
7086 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
7087 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
7088 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
7089 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
7090 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
7091 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
7092 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
7093 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
7094 (grub_video_fbblit_replace_index_RGB888): Likewise.
7095 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
7096 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
7097 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
7098 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
7099 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
7100 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
7101 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
7102 Disable.
7103 (grub_video_fbblit_blend_XXX565_1bit):
7104 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
7105 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
7106 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
7107 void *.
7108 * grub-core/video/fb/video_fb.c (common_blitter)
7109 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
7110 (grub_video_fb_create_render_target_from_pointer)
7111 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
7112 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
7113 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
7114 definition.
7115 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
7116
7117 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7118
7119 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
7120 HH22 and HM10 relocations.
7121
7122 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7123
7124 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
7125
7126 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7127
7128 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
7129 allocation succeeded.
7130
7131 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7132
7133 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
7134 argument a u8 pointer. All users updated.
7135 Handle unaligned buffers.
7136
7137 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7138
7139 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
7140 add_part to workaround compiler bug.
7141
7142 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7143
7144 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
7145
7146 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7147
7148 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
7149 Reserve alignment invariants.
7150 (grub_multiboot_load): Likewise.
7151 (retrieve_video_parameters): Likewise.
7152 (grub_multiboot_make_mbi): Likewise.
7153
7154 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7155
7156 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
7157 incorrect pointer.
7158
7159 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7160
7161 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
7162 (grub_pata_pio_write): Likewise.
7163
7164 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7165
7166 Add noreturn attributes and remove unreachable code.
7167
7168 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
7169 code.
7170 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
7171 code. Mark as noreturn.
7172 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
7173 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
7174 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
7175 unreachable code.
7176 * grub-core/kern/main.c (grub_main): Mark as noreturn.
7177 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
7178 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
7179 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
7180 * include/grub/kernel.h (grub_main): Mark as noreturn.
7181 * include/grub/reader.h (grub_rescue_run): Likewise.
7182
7183 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7184
7185 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
7186 redundant declaration.
7187
7188 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7189
7190 * include/grub/net.h (grub_net_network_level_interfaces): Remove
7191 redundant declaration.
7192 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
7193
7194 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7195
7196 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
7197 to ensure alignment.
7198 (grub_hdparm_print_identify): Make argument uint16 * to ensure
7199 alignment. Ensure tmp alignment.
7200 (grub_cmd_hdparm): Ensure buf alignment.
7201 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
7202 to ensure alignment.
7203 (grub_ata_dumpinfo): Ensure text alignment.
7204 (grub_atapi_identify): Preserve alignment invariant.
7205 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
7206
7207 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7208
7209 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
7210 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
7211 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
7212 * include/grub/misc.h (grub_reboot)
7213 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
7214 (grub_halt) [__mips__]: Likewise.
7215
7216 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7217
7218 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
7219 Remove redundant declaration.
7220 (grub_mmap_get_post64): Likewise.
7221 (grub_mmap_get_upper): Likewise.
7222 (grub_mmap_get_lower): Likewise.
7223
7224 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7225
7226 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
7227 uint32_t * to ensure alignment.
7228 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
7229
7230 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7231
7232 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
7233 uint16_t * to ensure alignment.
7234 (sun_pc_partition_map_iterate): Make `block' a union to ensure
7235 alignment.
7236
7237 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7238
7239 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
7240 to ensure alignment.
7241 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
7242
7243 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7244
7245 * grub-core/fs/ntfs.c (u16at): Make into inline function.
7246 Handle unaligned pointers.
7247 (u32at): Likewise.
7248 (u64at): Likewise.
7249 (fixup): Use byte access instead of v16at.
7250 (find_attr): Fix imporper usage of v32at.
7251 (read_data): Likewise.
7252 (list_file): Handle byte-swapping and unaligned strings.
7253 (grub_ntfs_label): Likewise.
7254
7255 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7256
7257 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
7258 as it's not necessarily aligned.
7259
7260 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7261
7262 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
7263 redundant declaration.
7264 (grub_serial_init): Likewise.
7265 (grub_terminfo_init): Likewise.
7266
7267 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7268
7269 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
7270 function.
7271 (ZAP_HASH_IDX): Likewise.
7272 (ZAP_LEAF_HASH_SHIFT): Likewise.
7273 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
7274 (LEAF_HASH): Likewise.
7275 (ZAP_LEAF_NUMCHUNKS): Likewise.
7276 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
7277 alignment invariants. Return pointer. All users updated.
7278 (ZAP_LEAF_ENTRY): Make into inline function.
7279 (NBBY): Removed.
7280 (xor): LIkewise.
7281 (xor_out): Use grub_crypto_xor.
7282 (dnode_get_path): Use grub_get_unaligned.
7283 (nvlist_find_value): Likewise.
7284 (grub_zfs_nvlist_lookup_uint64): Likewise.
7285 (grub_zfs_nvlist_lookup_string): Likewise.
7286 (get_nvlist_size): Likewise.
7287 (grub_zfs_open): Likewise.
7288 (fill_fs_info): Likewise.
7289 (grub_zfs_dir): Likewise.
7290 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
7291 alignment invariants.
7292 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
7293 necessarily aligned.
7294
7295 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7296
7297 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
7298
7299 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7300
7301 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
7302 arithmetic to conserve alignment invariants.
7303
7304 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7305
7306 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
7307 redundant declaration.
7308 (grub_efiemu_mm_obtain_request): Likewise.
7309 (grub_efiemu_prepare): Likewise.
7310
7311 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7312
7313 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
7314 to match types.
7315
7316 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7317
7318 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
7319 case of aunaligned recptr.
7320 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
7321 alignment.
7322 (grub_hfsplus_btree_search): Handle unaligned index.
7323
7324 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7325
7326 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
7327 to get freetag and skip.
7328
7329 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7330
7331 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
7332 array.
7333 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
7334 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
7335
7336 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7337
7338 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
7339 name for checksum and fix allocation algorithm.
7340
7341 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7342
7343 * include/grub/types.h (grub_properly_aligned_t): New type.
7344 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
7345 (grub_get_unaligned16): Add explicit casts.
7346 (grub_get_unaligned32): Likewise.
7347 (grub_get_unaligned64): Likewise.
7348 (grub_set_unaligned16): New function.
7349 (grub_set_unaligned32): Likewise.
7350
7351 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7352
7353 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
7354
7355 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7356
7357 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
7358 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
7359 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
7360
7361 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7362
7363 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
7364 conditionals.
7365
7366 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7367
7368 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
7369 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
7370
7371 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7372
7373 Unify and improve RAID and crypto xor.
7374
7375 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
7376 changed to grub_crypto_xor
7377 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
7378 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
7379 Use bigger types when possible.
7380
7381 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7382
7383 * grub-core/disk/raid.c (scan_devices): Fix condition.
7384
7385 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7386
7387 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
7388 Make name a const ptr.
7389
7390 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7391
7392 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
7393 first argument a const pointer.
7394 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
7395 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
7396 proto.
7397 (grub_children_iterate): Likewise.
7398 (grub_machine_mmap_iterate): Remove redundant declaration.
7399
7400 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7401
7402 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
7403 (grub_cmd_acpi) [!x86]: Disable EBDA.
7404
7405 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7406
7407 Enable UTF8 in gnulib regexp.
7408
7409 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
7410 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
7411 (isupper): Use grub_isupper.
7412 (isascii): New inline function.
7413 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
7414 * grub-core/lib/posix_wrap/wctype.h: Likewise.
7415 * grub-core/normal/charset.c (grub_utf8_process): New function.
7416 (grub_utf8_to_utf16): Use grub_utf8_process.
7417 (grub_encode_utf8_character): New function.
7418 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
7419 * include/grub/charset.h (grub_utf8_process): New declaration.
7420 (grub_encode_utf8_character): Likewise.
7421 * include/grub/misc.h (grub_islower): New inline function.
7422 (grub_isupper): Likewise.
7423 (grub_strchrsub): Moved down to fix the definitions.
7424
7425 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7426
7427 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
7428 specification.
7429
7430 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7431
7432 * include/grub/loader.h (grub_loader_register_preboot_hook):
7433 Use struct preboot * and not void * for handle. All users updated.
7434 (grub_loader_unregister_preboot_hook): Likewise.
7435
7436 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
7437
7438 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
7439 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
7440 UTF-16-BE. All users updated.
7441 (grub_hfsplus_cmp_catkey): Fix unicode handling.
7442 (grub_hfsplus_iterate_dir): Likewise.
7443 (grub_hfsplus_label): Likewise.
7444
7445 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
7446
7447 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
7448
7449 2011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
7450
7451 Add missing const qualifiers.
7452
7453 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
7454 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
7455 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
7456 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
7457 (grub_lvm_check_flag): Likewise.
7458 * grub-core/efiemu/i386/coredetect.c
7459 (grub_efiemu_get_default_core_name): Likewise
7460 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
7461 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
7462 * grub-core/fs/ntfs.c (fixup): Likewise.
7463 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
7464 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
7465 (fzap_lookup): Likewise.
7466 (zap_lookup): Likewise.
7467 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
7468 * grub-core/lib/legacy_parse.c (check_option): Likewise.
7469 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
7470 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
7471 (grub_freebsd_add_meta_module): Likewise.
7472 (grub_cmd_freebsd_module): Likewise.
7473 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
7474 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
7475 (grub_xnu_writetree_get_size): Likewise.
7476 (grub_xnu_writetree_toheap_real): Likewise.
7477 (grub_xnu_find_key): Likewise.
7478 (grub_xnu_create_key): Likewise.
7479 (grub_xnu_create_value): Likewise.
7480 (grub_xnu_register_memory): Likewise.
7481 (grub_xnu_check_os_bundle_required): Likewise.
7482 (grub_xnu_scan_dir_for_kexts): Likewise.
7483 (grub_xnu_load_kext_from_dir): Likewise.
7484 * grub-core/normal/color.c (color_list): Likewise.
7485 * grub-core/normal/completion.c (current_word): Likewise.
7486 * grub-core/normal/menu_entry.c (insert_string): Likewise.
7487 * grub-core/term/serial.c (grub_serial_find): Likewise.
7488 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
7489 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
7490 Likewise.
7491 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
7492 (grub_freebsd_add_meta_module): Likewise.
7493 * include/grub/lib/arg.h (grub_arg_option): Likewise.
7494 * include/grub/net.h (grub_net_card_driver): Likewise.
7495 (grub_net_card): Likewise.
7496 (grub_net_app_protocol): Likewise.
7497 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
7498 * include/grub/serial.h (grub_serial_find): Likewise.
7499 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
7500 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
7501 (grub_xnu_create_value): Likewise.
7502 (grub_xnu_find_key): Likewise.
7503 (grub_xnu_scan_dir_for_kexts): Likewise.
7504 (grub_xnu_load_kext_from_dir): Likewise.
7505
7506 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
7507 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
7508 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
7509 Moved from here ...
7510 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
7511
7512 2011-11-28 Colin Watson <cjwatson@ubuntu.com>
7513
7514 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
7515
7516 2011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
7517
7518 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
7519 (read_device): Fix size calculation.
7520
7521 2011-11-25 Robert Millan <rmh@gnu.org>
7522
7523 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
7524 (find_root_device_from_libzfs): Add zpool output parser to be used
7525 as fallback when libzfs isn't available.
7526
7527 2011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
7528
7529 * po/Makefile.in.in: Add missing escape-continuation.
7530
7531 2011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
7532
7533 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
7534
7535 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7536
7537 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
7538
7539 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7540
7541 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
7542
7543 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7544
7545 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
7546
7547 2011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7548
7549 * grub-core/lib/adler32.c: Add missing license specification.
7550 * grub-core/lib/crc64.c: Likewise.
7551 * grub-core/loader/i386/pc/plan9.c: Likewise.
7552 * grub-core/partmap/plan.c: Likewise.
7553
7554 2011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
7555
7556 Add facility to debug GRUB with gdb under qemu.
7557
7558 * grub-core/gdb_grub.in: New file.
7559 * grub-core/gmodule.pl.in: Likewise.
7560 * grub-core/Makefile.core.def (gmodule.pl): New script.
7561 (gdb_grub): Likewise.
7562
7563 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7564
7565 * util/grub-mount.c (argp_parser): Accept relative pathes.
7566 * util/grub-fstest.c (argp_parser): Likewise.
7567
7568 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7569
7570 Plan9 support.
7571
7572 * Makefile.util.def (libgrubmods): Add
7573 grub-core/partmap/plan.c.
7574 * docs/grub.texi: Notice Plan9 support.
7575 * grub-core/Makefile.core.def (plan9): New module.
7576 (part_plan): Likewise.
7577 * grub-core/loader/i386/pc/plan9.c: New file.
7578 * grub-core/partmap/plan.c: Likewise.
7579 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
7580 define.
7581 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
7582 * include/grub/mm.h (grub_extend_alloc): New inline function.
7583
7584 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7585
7586 Make Reed-Solomon faster by using power of generator representation of
7587 GF(256)*.
7588
7589 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
7590 (gf_double_t): Likewise.
7591 (gf_invert): Removed.
7592 (gf_powx): New array.
7593 (gf_powx_inv): Likewise.
7594 (scratch): Move higher.
7595 (gf_reduce): Removed.
7596 (gf_mul): Use powx.
7597 (gf_invert): Likewise.
7598 (init_inverts): Replaced with ...
7599 (init_powx): ...this. All users updated.
7600 (pol_evaluate): Replace multiplications with additions.
7601 (rs_encode): Likewise.
7602 (gauss_eliminate): Call gf_invert.
7603 (grub_reed_solomon_add_redundancy): Call init_powx.
7604 (grub_reed_solomon_recover): Call init_powx unconditionally.
7605
7606 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7607
7608 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
7609
7610 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7611
7612 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
7613 disk->partiton for safety.
7614
7615 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7616
7617 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
7618 Fix a memory leak.
7619 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
7620
7621 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7622
7623 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
7624
7625 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7626
7627 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
7628
7629 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7630
7631 Fix spaces handling in proc/self/mountinfo.
7632
7633 * util/getroot.c (unescape): New function.
7634 (grub_find_root_device_from_mountinfo): Use unescape.
7635
7636 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7637
7638 Support ZFS embedding.
7639
7640 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
7641 (grub_zfs_fs): Register grub_zfs_embed.
7642
7643 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7644
7645 Fix MIPS compilation.
7646
7647 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
7648 * include/grub/offsets.h: Rename decompressor fields from
7649 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
7650 * util/grub-mkimage.c (image_targets): Use new names.
7651
7652 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7653
7654 Defer multiboot device parsing until we're in compressed part.
7655
7656 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
7657 bsd_part. setdevice has fallen into disuse.
7658 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
7659 (bsd_part): Likewise.
7660 (boot_dev): New variable.
7661 (multiboot_trampoline): Don't parse multiboot device.
7662 Pass multiboot device in %edx.
7663 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
7664 grub_boot_device.
7665 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
7666 Likewise.
7667 * grub-core/kern/i386/pc/startup.S: Save edx.
7668 (grub_boot_drive): Removed.
7669 (grub_install_dos_part): Likewise.
7670 (grub_install_bsd_part): Likewise.
7671 (grub_boot_device): New variable.
7672 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
7673 (grub_install_bsd_part): Likewise.
7674 (grub_boot_drive): Likewise.
7675 (grub_boot_device): New variable.
7676 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
7677 Removed.
7678 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
7679 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
7680 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
7681 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
7682 * util/grub-install.in: Remove redundant condition.
7683
7684 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7685
7686 Fix bug introduced by previous commit.
7687
7688 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
7689
7690 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7691
7692 Use decompressors framework on i386-pc. It increases core size
7693 by 46 bytes but improves compatibility and maintainability.
7694
7695 * grub-core/Makefile.core.def (lzma_decompress): New image.
7696 (kernel): Add i386_pc_ldflags.
7697 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
7698 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
7699 to real_to_prot, prot_to_real and device info.
7700 * include/grub/offsets.h: Renamed decompressor offsets.
7701 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
7702 (image_target_desc): Remove raw_size and rename decompressor fields.
7703 (compress_kernel): Handle lzma.
7704 (generate_image): Handle decompressors on i386-pc.
7705
7706 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7707
7708 * configure.ac: Add -fno-asynchronous-unwind-tables.
7709
7710 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7711
7712 Move assembly code to C by using intwrap. It increases core size
7713 by 88 bytes but improves compatibility and maintainability.
7714
7715 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
7716 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
7717 ... here. Translated to C.
7718 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
7719 * grub-core/term/i386/pc/console.c (grub_console_getkey):
7720 ... here. Translated to C.
7721 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
7722 * grub-core/term/i386/pc/console.c (grub_console_getxy):
7723 ... here. Translated to C.
7724 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
7725 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
7726 ... here. Translated to C.
7727 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
7728 * grub-core/term/i386/pc/console.c (grub_console_cls):
7729 ... here. Translated to C.
7730 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
7731 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
7732 ... here. Translated to C.
7733 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
7734 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
7735 Translated to C.
7736 * grub-core/term/i386/pc/console.c (int10_9): New function.
7737 (grub_console_putchar): Likewise.
7738 * include/grub/i386/pc/console.h: Removed the not anymore shared
7739 functions.
7740
7741 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7742
7743 Move grub_chainloader_real_boot out of the kernel.
7744
7745 * grub-core/Makefile.am: Remove machine/loader.h.
7746 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
7747 Removed.
7748 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
7749 variable.
7750 (grub_relocator16_keep_a20_enabled): Likewise.
7751 (grub_relocator16_boot): Fill new variables.
7752 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
7753 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
7754 relocator.
7755 (grub_chainloader_unload): Likewise.
7756 (grub_chainloader_cmd): Likewise.
7757 * include/grub/i386/pc/loader.h: Removed.
7758 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
7759 and esi. All initialisers updated.
7760
7761 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7762 2011-11-12 Colin Watson <cjwatson@ubuntu.com>
7763
7764 * Makefile.util.def (grub-mount): New util.
7765 * .bzrignore: Add grub-mount.
7766 * configure.ac: Check for fuse and enable grub-mount if available.
7767 * docs/man/grub-mount.h2m: New file.
7768 * util/grub-mount.c: Likewise.
7769
7770 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7771
7772 * grub-core/commands/efi/fixvideo.c: Gettextize.
7773 * grub-core/commands/hashsum.c: Likewise.
7774 * grub-core/commands/i386/cmostest.c: Likewise.
7775 * grub-core/commands/i386/pc/drivemap.c: Likewise.
7776 * grub-core/commands/i386/pc/lsapm.c: Likewise.
7777 * grub-core/commands/i386/pc/sendkey.c: Likewise.
7778 * grub-core/commands/lsmmap.c: Likewise.
7779 * grub-core/commands/menuentry.c: Likewise.
7780 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
7781 * grub-core/commands/setpci.c: Likewise.
7782 * grub-core/loader/i386/bsd.c: Likewise.
7783 * grub-core/loader/i386/linux.c: Likewise.
7784 * util/getroot.c: Likewise.
7785 * util/grub-editenv.c: Likewise.
7786 * util/grub-fstest.c: Likewise.
7787 * util/grub-mkfont.c: Likewise.
7788 * util/grub-mkimage.c: Likewise.
7789 * util/grub-mkpasswd-pbkdf2.c: Likewise.
7790 * util/grub-pe2elf.c: Likewise.
7791 * util/grub-probe.c: Likewise.
7792 * util/grub-setup.c: Likewise.
7793 * util/ieee1275/ofpath.c: Likewise.
7794 * util/misc.c: Likewise.
7795 * util/raid.c: Likewise.
7796
7797 2011-11-11 Robert Millan <rmh@gnu.org>
7798
7799 * util/getroot.c (grub_util_get_geom_abstraction): Remove
7800 __attribute__((unused)) from `os_dev', which *is* being used.
7801
7802 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7803
7804 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
7805 forgotten define.
7806 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
7807 GRUB_IA64_DL_GOT_ALIGN.
7808 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
7809 GRUB_IA64_DL_TRAMP_ALIGN.
7810
7811 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7812
7813 Replace grub_fatal with normal errors in i386 linux loader.
7814
7815 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
7816 (allocate_pages): Check find_efi_mmap_size return value.
7817 (grub_e820_add_region): Return error.
7818 (grub_linux_boot): Check mmap return value.
7819
7820 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7821
7822 * grub-core/commands/acpihalt.c: Gettextized.
7823 * grub-core/commands/cacheinfo.c: Likewise.
7824 * grub-core/commands/cmp.c: Likewise.
7825 * grub-core/commands/efi/loadbios.c: Likewise.
7826 * grub-core/commands/gptsync.c: Likewise.
7827 * grub-core/commands/ieee1275/suspend.c: Likewise.
7828 * grub-core/commands/legacycfg.c: Likewise.
7829 * grub-core/commands/memrw.c: Likewise.
7830 * grub-core/commands/minicmd.c: Likewise.
7831 * grub-core/commands/parttool.c: Likewise.
7832 * grub-core/commands/time.c: Likewise.
7833 * grub-core/commands/videoinfo.c: Likewise.
7834 * grub-core/disk/geli.c: Likewise.
7835 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
7836 * grub-core/disk/luks.c: Likewise.
7837 * grub-core/disk/lvm.c: Likewise.
7838 * grub-core/font/font_cmd.c: Likewise.
7839 * grub-core/fs/zfs/zfscrypt.c: Likewise.
7840 * grub-core/fs/zfs/zfsinfo.c: Likewise.
7841 * grub-core/gfxmenu/view.c: Likewise.
7842 * grub-core/kern/emu/hostdisk.c: Likewise.
7843 * grub-core/kern/emu/main.c: Likewise.
7844 * grub-core/kern/emu/misc.c: Likewise.
7845 * grub-core/kern/emu/mm.c: Likewise.
7846 * grub-core/kern/mips/arc/init.c: Likewise.
7847 * grub-core/kern/mips/loongson/init.c: Likewise.
7848 * grub-core/kern/partition.c: Likewise.
7849 * grub-core/lib/i386/halt.c: Likewise.
7850 * grub-core/lib/mips/arc/reboot.c: Likewise.
7851 * grub-core/lib/mips/loongson/reboot.c: Likewise.
7852 * grub-core/loader/i386/pc/chainloader.c: Likewise.
7853 * grub-core/loader/i386/xnu.c: Likewise.
7854 * grub-core/loader/multiboot.c: Likewise.
7855 * grub-core/net/bootp.c: Likewise.
7856 * grub-core/net/net.c: Likewise.
7857 * grub-core/normal/term.c: Likewise.
7858 * grub-core/partmap/bsdlabel.c: Likewise.
7859 * grub-core/parttool/msdospart.c: Likewise.
7860 * grub-core/term/gfxterm.c: Likewise.
7861 * grub-core/term/terminfo.c: Likewise.
7862 * grub-core/video/i386/pc/vbe.c: Likewise.
7863 * util/grub-menulst2cfg.c: Likewise.
7864 * util/grub-mkdevicemap.c: Likewise.
7865 * util/grub-mklayout.c: Likewise.
7866 * util/grub-mkrelpath.c: Likewise.
7867 * util/grub-script-check.c: Likewise.
7868 * util/ieee1275/grub-ofpathname.c: Likewise.
7869 * util/resolve.c: Likewise.
7870
7871 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7872
7873 Support %1$d syntax.
7874
7875 * tests/printf_unit_test.c: New file.
7876 * Makefile.util.def (printf_test): New test.
7877 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
7878
7879 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7880
7881 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
7882 fix.
7883
7884 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7885
7886 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
7887 dprintf.
7888 * grub-core/font/font.c (grub_font_load): Likewise.
7889
7890 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7891
7892 * util/grub-macho2img.c: Add comment concerning gettext.
7893 * grub-core/lib/legacy_parse.c: Likewise.
7894
7895 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7896
7897 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
7898 (grub_xvasprintf): Likewise.
7899
7900 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7901
7902 Add const keyword to grub_env_get and gettextize week days.
7903
7904 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
7905 (grub_read_hook_datetime): Return const char *.
7906 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
7907 updated.
7908 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
7909 Mark for gettext.
7910 (grub_get_weekday_name): Return const char *. Call gettext.
7911 * grub-core/script/argv.c (grub_script_argv_append): Receive const
7912 char * and len as the argument. All users updated.
7913 (grub_script_argv_split_append): Receive const char *.
7914 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
7915 * include/grub/env.h (grub_env_get): Likewise.
7916 (grub_env_read_hook_t): Return const char *.
7917 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
7918 (grub_script_argv_split_append): Likewise.
7919
7920 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7921
7922 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
7923
7924 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7925
7926 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
7927 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
7928
7929 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7930
7931 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
7932 Fix prototype.
7933
7934 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7935
7936 Fix mips compilation.
7937
7938 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
7939 normal decoder.
7940 (hashes): Use in embed decoder as well (for sizes).
7941 (dec_stream_header): Fix embed decompressor logic.
7942 (dec_stream_footer): Likewise.
7943
7944 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7945
7946 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
7947 an error and not a fatal on unrecognised relocation types.
7948
7949 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7950
7951 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
7952 Issue error rather than printf on unknown arguments.
7953
7954 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7955
7956 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
7957 Make buf a const.
7958
7959 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7960
7961 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
7962 Fix module name.
7963
7964 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7965
7966 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
7967 leftover debug printf.
7968
7969 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7970
7971 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
7972
7973 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7974
7975 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
7976 A stylistic fix.
7977
7978 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7979
7980 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
7981
7982 2011-11-10 Shea Levy <slevy@tieronedesign.com>
7983
7984 Allow all modules to perform serial IO
7985
7986 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
7987 * include/grub/serial.h (grub_serial_port_configure): New inline
7988 function.
7989 (grub_serial_port_fetch): Likewise.
7990 (grub_serial_port_put): Likewise.
7991 (grub_serial_port_fini): Likewise.
7992 (grub_serial_find): New proto.
7993
7994 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7995
7996 Put symlink at the end of the node and fix a potential
7997 memory corruption.
7998
7999 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
8000 Make symlink into an array.
8001 (set_rockridge): Set have_symlink and alloc_dirents.
8002 (grub_iso9660_read_symlink): Use new layout.
8003 (grub_iso9660_iterate_dir): Fix memory corruption.
8004 Use new layout.
8005 (grub_iso9660_dir): Set have_symlink.
8006 (grub_iso9660_open): Likewise.
8007
8008 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8009
8010 Remove local keyword.
8011
8012 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
8013 (version_test_gt): Likewise.
8014 (version_find_latest): Likewise.
8015 (gettext_printf): Likewise.
8016 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
8017
8018 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8019
8020 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
8021
8022 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8023
8024 Fix ZFS memory and resource leaks.
8025
8026 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
8027 All users updated.
8028 Free type on exit.
8029 (fill_vdev_info): New parameter inserted. All users updated.
8030 (check_pool_label): Likewise.
8031 (scan_disk): Likewise.
8032 (scan_devices): Close non-inserted disks.
8033 (fzap_iterate): Free l.
8034 (unmount_device): Free children descripto memory.
8035
8036 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8037
8038 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
8039 argument (access out of bounds).
8040
8041 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8042
8043 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
8044 >= 6 drives.
8045
8046 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8047
8048 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
8049 Fix declaration.
8050
8051 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8052
8053 Fix several memory leaks.
8054
8055 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
8056 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
8057 (grub_cpio_dir): Likewise.
8058 * grub-core/fs/fat.c (grub_fat_label): Likewise.
8059 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
8060 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
8061 (grub_romfs_label): Likewise.
8062 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
8063 (squash_unmount): New function.
8064 (grub_squash_dir): Fix memory leak.
8065 (grub_squash_open): Likewise.
8066 (grub_squash_read): Likewise.
8067 (grub_squash_mtime): Likewise.
8068 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
8069 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
8070 * util/grub-fstest.c (fstest): Likewise.
8071
8072 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8073
8074 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
8075 avoid accessing beyond the array.
8076
8077 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8078
8079 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
8080
8081 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8082
8083 Several AFFS fixes.
8084
8085 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
8086 (GRUB_AFFS_FLAG_FFS): Removed.
8087 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
8088 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
8089 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
8090 (grub_fshelp_node): Make block 32-bit.
8091 Add block_cache and last_block_cache.
8092 (grub_affs_read_block): Fill and use block cache.
8093 (grub_affs_read_file): Removed.
8094 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
8095 boot block.
8096 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
8097 safety.
8098 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
8099 space.
8100 (grub_affs_close): Free block cache.
8101 (grub_affs_read): Use grub_fshelp_read_file directly.
8102
8103 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8104
8105 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
8106 with no error set.
8107
8108 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8109
8110 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
8111 used variable.
8112 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
8113 Likewise.
8114
8115 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8116
8117 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
8118
8119 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
8120 byteswap when needed.
8121
8122 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8123
8124 Fix FreeBSD compilation.
8125
8126 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
8127 to avoid circular dependency.
8128 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
8129 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
8130 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
8131
8132 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8133
8134 Fix ZFS crypto error types.
8135
8136 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
8137 (grub_gcm_decrypt): Likewise.
8138 (grub_zfs_load_key_real): Fix error code type. Handle possible error
8139 from PBKDF2.
8140
8141 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8142
8143 Illumos support.
8144
8145 * Makefile.util.def (10_illumos): New script.
8146 * configure.ac: Set COND_HOST_ILLUMOS.
8147 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
8148 Support Illumos calls.
8149 (find_partition_start) [__sun__]: Likewise.
8150 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
8151 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
8152 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
8153 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
8154 device.
8155 * util/grub-probe.c (probe) [__sun__]: Do character check.
8156 * util/grub.d/10_illumos.in: New file.
8157
8158 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8159
8160 Support escaped commas in hostdisk.
8161
8162 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
8163 (find_grub_drive): Use unescape_cmp.
8164 (make_device_name): Escape commas.
8165
8166 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8167
8168 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
8169
8170 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8171
8172 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
8173 variable.
8174
8175 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8176
8177 Support trampoline jumps on powerpc.
8178
8179 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
8180 __ia64__ path.
8181 (grub_dl_load_segments): Set mod->sz.
8182 (grub_dl_flush_cache): Flush whole space occupied by module, not just
8183 segments.
8184 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
8185 (jump): Likewise.
8186 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
8187 function.
8188 (trampoline): New struct.
8189 (trampoline_template): New const.
8190 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
8191 * include/grub/dl.h (grub_dl): Add sz element.
8192 [__powerpc__]: Follow __ia64__.
8193 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
8194 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
8195 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
8196 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
8197
8198 2011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
8199
8200 ZFS crypto support.
8201
8202 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
8203 * grub-core/Makefile.core.def (zfscrypt): New module.
8204 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
8205 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
8206 it. All users updated.
8207 (grub_zfs_decrypt): New var.
8208 (grub_zfs_load_key): Likewise.
8209 (zio_checksum_functions): Add SHA256+MAC.
8210 (zio_checksum_verify): Handle incomplete comparison due to MAC.
8211 (zio_read): Handle encrypted blocks.
8212 (zap_verify): Remove incorrect check.
8213 (fzap_iterate): Handle non-standard fzap.
8214 (zap_iterate): Likewise.
8215 (zap_iterate_u64): New function.
8216 (dnode_get_fullpath): Load keys.
8217 * grub-core/fs/zfs/zfscrypt.c: New file.
8218 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
8219 (grub_crypto_ecb_encrypt): Make input const.
8220 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
8221 (grub_crypto_ecb_encrypt): Make input const.
8222 (GRUB_CIPHER_AES): New macro.
8223 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
8224 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
8225 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
8226 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
8227 prefix. All users updated.
8228 (grub_zfs_add_key): New proto.
8229 (grub_zfs_decrypt): Likewise.
8230 (grub_zfs_load_key): Likewise.
8231 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
8232 * util/grub-fstest.c (options): Add -K option.
8233 (argp_parser): Likewise.
8234
8235 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
8236
8237 Support zle compression on ZFS.
8238
8239 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
8240 (decomp_table): Add zle.
8241 * include/grub/zfs/zio.h (zio_compress): Add zle.
8242
8243 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
8244
8245 Support BtrFS embedding.
8246
8247 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
8248 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
8249 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
8250 * util/grub-setup.c (setup): Use fs embedding if available.
8251 Add additional sanity check.
8252
8253 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
8254
8255 * util/grub-install.in: Fix condition for config_opt.
8256
8257 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8258
8259 Support third redundancy strip on raidz3.
8260
8261 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
8262 Return error on singularity. All users updated.
8263 (read_device): Don't stop on 3rd failure on raidz3.
8264
8265 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8266
8267 Support case-insensitive ZFS subvolumes.
8268
8269 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
8270 All users updated.
8271 (zap_hash): Likewise.
8272 (name_cmp): New function.
8273 (zap_leaf_array_equal): New parameter case_insensitive.
8274 All users updated.
8275 (zap_leaf_lookup): Likewise.
8276 (fzap_lookup): Likewise.
8277 (zap_lookup): Likewise.
8278 (dnode_get_path): New parameter case_insensitive. Retrieve case
8279 sensitiviness of a volume. All users updated.
8280 (dnode_get_fullpath): New parameter case_insensitive.
8281 All users updated.
8282 (grub_zfs_dir): Set info.case_insensitiveness.
8283
8284 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8285
8286 Support second redundancy strip on raidz(2,3).
8287
8288 * grub-core/fs/zfs/zfs.c (powx): New array.
8289 (powx_inv): Likewise.
8290 (poly): New const.
8291 (xor_out): New function.
8292 (gf_mul): Likewise.
8293 (recovery): Likewise.
8294 (read_device): Use second redundancy strip.
8295
8296 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8297
8298 Use a power of generator representation of GF(256) multiplication group
8299 to save space time and complexity.
8300
8301 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
8302 (raid6_table2): Likewise.
8303 (powx): New array.
8304 (powx_inv): Likewise.
8305 (poly): New const.
8306 (grub_raid_block_mul): Replace with ...
8307 (grub_raid_block_mulx): ...this.
8308 (grub_raid6_init_table): Rewritten.
8309 (grub_raid6_recover): Use power of generator representation.
8310
8311 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8312
8313 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
8314 for the right device.
8315
8316 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8317
8318 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
8319 expected by grub-mkimage and it's more clear since there is no implicit
8320 padding.
8321
8322 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8323
8324 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
8325 disk.
8326 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
8327
8328 2011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
8329
8330 * util/grub-mkrescue.in: Fix handling xorriso option.
8331
8332 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8333
8334 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
8335 NULL.
8336
8337 2011-11-03 crocket <crockabiscuit@gmail.com>
8338
8339 * util/grub.d/10_linux.in: Add Slackware initrd naming.
8340
8341 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8342
8343 XZ CRC64 and SHA256 support.
8344
8345 * Makefile.util.def (libgrubmods): Add crc64.c.
8346 * grub-core/Makefile.core.def (crc64): New module.
8347 * grub-core/lib/crc64.c: New file.
8348 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
8349 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
8350 Fix the type.
8351 (MAX_HASH_SIZE): New define.
8352 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
8353 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
8354 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
8355 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
8356 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
8357 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
8358 Handle non-crc32 hashes.
8359 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
8360 (dec_stream_header): Handle non-crc32 hashes.
8361 (dec_stream_footer): Likewise.
8362 (dec_block_header): Likewise.
8363 (dec_main): Likewise.
8364 (xz_dec_init): Likewise.
8365 (xz_dec_reset): Likewise.
8366 (xz_dec_end): Likewise.
8367 * util/import_gcry.py: Add CRC64 line.
8368
8369 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8370
8371 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
8372 as well.
8373
8374 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8375
8376 Make reiserfs label retrieval similar to other *_label functions.
8377
8378 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
8379 (REISERFS_MAX_LABEL_LENGTH): Removed.
8380 (REISERFS_LABEL_OFFSET): Likewise.
8381 (grub_reiserfs_label): Rewritten.
8382
8383 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8384
8385 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
8386 field.
8387
8388 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8389
8390 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
8391
8392 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
8393
8394 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
8395 drive failure on both raidz and raidz2.
8396
8397 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
8398
8399 Fix RAIDZ(2) for >= 5 devices.
8400
8401 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
8402 asize argument. All users updated.
8403
8404 2011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8405
8406 Fix RAIDZ(2).
8407
8408 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
8409 (fill_vdev_info_real): Set ashift.
8410 (read_device): Rewrite RAIDZ part based on reverse engineering.
8411
8412 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8413
8414 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
8415 don't report potentially unavialiable fields in debug output.
8416 (find_path): Fix double-free and memory leak.
8417
8418 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8419
8420 Read label on UFS1.
8421
8422 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
8423 (grub_ufs_fs): Always set .label.
8424
8425 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8426
8427 Use shifts in UFS.
8428
8429 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
8430 (grub_ufs_data): New field log2_blksz.
8431 (grub_ufs_read_file): Use shifts.
8432 (grub_ufs_mount): Check block size and logarithm it.
8433
8434 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8435
8436 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
8437 long symlinks.
8438
8439 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8440
8441 Handle symlinks and long names on tar and cpio.
8442
8443 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
8444 (ATTR_FILE): Likewise.
8445 (ATTR_DIR): Likewise.
8446 (ATTR_LNK): Likewise.
8447 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
8448 (grub_cpio_find_file): Fill mode, handle linkname field as well as
8449 L and K entries.
8450 (grub_cpio_mount): Zero-fill data.
8451 (handle_symlink): New function.
8452 (grub_cpio_dir): Handle symlinks.
8453 (grub_cpio_open): Likewise.
8454 (grub_cpio_close) [MODE_USTAR]: Free linkname.
8455
8456 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8457
8458 Fix iso9660 filename limitations and fix memory leaks.
8459
8460 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
8461 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
8462
8463 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8464
8465 Fix JFS file name length limitations.
8466
8467 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
8468 (grub_jfs_diropen): Fix maximum filename length.
8469 (grub_jfs_getent): Fix filename length.
8470 (grub_jfs_lookup_symlink): Fix size checks.
8471
8472 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8473
8474 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
8475 string.
8476
8477 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8478
8479 Leverage BFS implementation to read AFS.
8480
8481 * Makefile.util.def (libgrubmods): Add afs.c.
8482 * grub-core/Makefile.core.def (afs): New module
8483 * grub-core/fs/afs.c: New file.
8484 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
8485
8486 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8487
8488 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
8489
8490 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8491
8492 * grub-core/fs/bfs.c: Run indent.
8493
8494 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8495
8496 BFS implementation based on the specification.
8497
8498 * grub-core/fs/bfs.c: New file.
8499 * Makefile.util.def (libgrubmods): Add bfs.c.
8500 * grub-core/Makefile.core.def (bfs): New module.
8501
8502 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8503
8504 * util/grub-fstest.c (cmd_cp): Clarify error message.
8505 (cmd_cmp): Likewise.
8506
8507 2011-10-30 Yves Blusseau <blusseau@zetam.org>
8508
8509 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
8510 and befs_be.
8511
8512 2011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
8513
8514 Remove afs and befs because of copyright problem.
8515
8516 * grub-core/fs/afs.c: Removed.
8517 * grub-core/fs/afs_be.c: Removed.
8518 * grub-core/fs/befs.c: Removed.
8519 * grub-core/fs/befs_be.c: Removed.
8520 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
8521 * grub-core/Makefile.core.def (afs): Removed.
8522 (afs_be): Likewise.
8523 (befs): Likewise.
8524 (befs_be): Likewise.
8525
8526 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8527
8528 Prefer rockridge over Joliet.
8529
8530 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
8531 to ...
8532 (set_rockridge): ... here.
8533 (grub_iso9660_mount): Check rockridge on the primary label when
8534 discovering. Ignore Joliet if Rockridge is present.
8535
8536 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8537
8538 Use shifts in nilfs2.
8539
8540 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
8541 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
8542 (grub_nilfs2_palloc_entries_per_group): Replace with ...
8543 (grub_nilfs2_log_palloc_entries_per_group): ... this.
8544 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
8545 (grub_nilfs2_entries_per_block): Replaced with ...
8546 (grub_nilfs2_log_entries_per_block_log): ... this.
8547 (grub_nilfs2_blocks_per_group): Replaced with ...
8548 (grub_nilfs2_blocks_per_group_log): ... this.
8549 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
8550 (grub_nilfs2_blocks_per_desc_block_log): ... this.
8551 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
8552 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
8553 (grub_nilfs2_palloc_entry_offset): Replaced ...
8554 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
8555 (grub_nilfs2_dat_translate): Use shifts.
8556 (grub_nilfs2_read_inode): Likewise.
8557 (GRUB_MOD_INIT): Ensure that logs are correct.
8558
8559 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8560
8561 Use shifts in minix filesystem.
8562
8563 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
8564 (GRUB_MINIX_ZONE2SECT): Likewise.
8565 (grub_minix_data): Replace block_size with log_block_size.
8566 (grub_minix_read_file): Use shifts.
8567 (grub_minix_mount): Check block size and take a logarithm.
8568
8569 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8570
8571 Use shifts in squash4.
8572
8573 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
8574 (squash_mount): Check block size and take logarithm.
8575 (direct_read): Use shifts.
8576
8577 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8578
8579 Correct befs block counting logic.
8580
8581 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
8582 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
8583 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
8584 (grub_afs_read_inode): Use block_shift.
8585 (RANGE_SHIFT): New definition.
8586 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
8587 unexpected conditions, use shifts and appropriate types.
8588 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
8589
8590 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8591
8592 * grub-core/disk/raid.c (scan_devices): Check partition.
8593 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
8594
8595 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
8596
8597 Support BFS (befs) UUID.
8598
8599 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
8600 (grub_afs_small_data_element_header): New struct.
8601 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
8602 (grub_afs_read_attribute) [MODE_BFS]: New function.
8603 (grub_afs_iterate_dir): Allocate for complete inode.
8604 (grub_afs_mount): Likewise.
8605 (grub_afs_uuid) [MODE_BFS]: New function.
8606 (grub_afs_fs) [MODE_BFS]: Add .uuid.
8607
8608 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
8609
8610 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
8611 (zfs_unmount): Fix memory leak.
8612
8613 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8614
8615 Support NTFS reparse points.
8616
8617 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
8618 (symlink_descriptor): New struct.
8619 (grub_ntfs_read_symlink): New function.
8620 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
8621 (grub_ntfs_open): Likewise.
8622
8623 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8624
8625 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
8626
8627 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8628
8629 fstest xnu_uuid subcommand.
8630
8631 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
8632 grub-core/commands/xnu_uuid.c.
8633 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
8634 (fstest): Handle xnu_uuid.
8635 (options): Document xnu_uuid.
8636 (argp_parser): Parse xnu_uuid.
8637
8638 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8639
8640 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
8641 -l argument. Add newline at the end if printing.
8642 (GRUB_MOD_INIT): Document -l.
8643
8644 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8645
8646 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
8647
8648 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8649
8650 ZFS multi-device and version 33 support.
8651
8652 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
8653 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
8654 (grub_zfs_data): Add multidev-ice-related fields.
8655 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
8656 (dva_get_offset): Make dva const.
8657 (zfs_fetch_nvlist): New function.
8658 (fill_vdev_info_real): Likewise.
8659 (fill_vdev_info): Likewise.
8660 (check_pool_label): Likewise.
8661 (scan_disk): Likewise.
8662 (scan_devices): Likewise.
8663 (read_device): Likewise.
8664 (read_dva): Likewise.
8665 (zio_read_gang): Use read_dva.
8666 (zio_read_data): Likewise.
8667 (zap_leaf_lookup): Add missing endian conversion.
8668 (zap_verify): Add missing endian conversion. All users updated.
8669 (fzap_lookup): Likewise.
8670 (fzap_iterate): Likewise.
8671 (dnode_get_path): Handle SA bonus.
8672 (nvlist_find_value): Make input const. All users updated.
8673 (unmount_device): New function.
8674 (zfs_unmount): Use unmount_device.
8675 (zfs_mount): Use scan_disk.
8676 (zfs_mtime): New function.
8677 (grub_zfs_open): Handle system attributes.
8678 (fill_fs_info): Likewise.
8679 (grub_zfs_dir): Likewise.
8680 (grub_zfs_fs): Add mtime.
8681 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
8682 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
8683 (SA_MTIME_OFFSET): Likewise.
8684 (SA_SYMLINK_OFFSET): Likewise.
8685 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
8686 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
8687 (fstest): Support zfsinfo.
8688 (argp_parser): Likewise.
8689
8690 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8691
8692 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
8693 error.
8694
8695 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8696
8697 ZFS fixes.
8698
8699 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
8700 sharing the same block. Iterate over correct number of indices.
8701 (dnode_get_path): Handle symlinks correctly.
8702
8703 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8704
8705 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
8706
8707 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8708
8709 Read label on HFS+.
8710
8711 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
8712 (grub_hfsplus_btree_search): Fix types.
8713 (grub_hfsplus_label): Implement.
8714
8715 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8716
8717 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
8718
8719 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8720
8721 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
8722
8723 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8724
8725 Fix symlink handling on iso9660.
8726
8727 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
8728 All users updated.
8729 (grub_iso9660_susp_iterate): Accept zero-size iterate.
8730 (grub_iso9660_read_symlink): Moved most of code ...
8731 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
8732
8733 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8734
8735 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
8736 Use union to avoid breaking strict-aliasing rules.
8737
8738 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8739
8740 Support multi-extent iso files.
8741
8742 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
8743 Add node.
8744 (grub_fshelp_node): Revamp. All users updated.
8745 (FLAG_*): New enum.
8746 (read_node): New function.
8747 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
8748 All users updated.
8749 (grub_iso9660_mount): Don't attempt to read sua when there is none.
8750 (get_node_size): New function.
8751 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
8752 entries.
8753 Fix memory leak on . and ..
8754 (grub_iso9660_read): Use read_node.
8755 (grub_iso9660_close): Free node.
8756
8757 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8758
8759 Fix tar 4G limit and handle paths containing dot.
8760
8761 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
8762 (canonicalize): New function.
8763 (grub_cpio_find_file): Use canonicalize. Store offs in
8764 grub_disk_addr_t.
8765 (grub_cpio_dir): Use grub_disk_addr_t.
8766 (grub_cpio_open): Likewise.
8767
8768 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8769
8770 Fix handling of uncompressed blocks on squashfs and break 4G limit.
8771
8772 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
8773 unused flags.
8774 (grub_squash_inode): Add long_file and block_size.
8775 (grub_squash_cache_inode): New struct.
8776 (grub_squash_dirent): Make types into enum.
8777 (SQUASH_TYPE_LONG_REGULAR): New type.
8778 (grub_squash_frag_desc): Add field size.
8779 (SQUASH_BLOCK_FLAGS): New enum.
8780 (grub_squash_data): Use grub_squash_cache_inode.
8781 (grub_fshelp_node): Make ino_chunk 64-bit.
8782 (read_chunk): Minor argument change. All users updated.
8783 (squash_mount): Use correct le_to_cpu.
8784 (grub_squash_open): Handle LONG_REGULAR.
8785 (direct_read): New function.
8786 (grub_squash_read_data): Handle blocks correctly.
8787
8788 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8789
8790 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
8791
8792 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8793
8794 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
8795
8796 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
8797
8798 Fix 2G limit on ZFS.
8799
8800 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
8801 types.
8802 (uberblock_verify): Likewise.
8803 (dmu_read): Likewise.
8804 (grub_zfs_read): Likewise. Remove invalid cast.
8805
8806 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
8807
8808 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
8809 (grub_jfs_blkno): Fix incorrect shift.
8810 (grub_jfs_read_file): Use more appropriate types.
8811
8812 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
8813
8814 Support triple indirect on minix2 and minix3.
8815
8816 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
8817 Declare triple_indir_zone.
8818 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
8819 indirect.
8820
8821 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
8822
8823 Minix FS fixes.
8824
8825 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
8826 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
8827 Rename ctime to mtime. All users updated.
8828 (grub_minix_get_file_block): Fix types and double indirect computations.
8829
8830 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8831
8832 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
8833 if no label is found.
8834 (grub_fat_iterate_dir): Fix file size type.
8835 (grub_fat_iterate_dir): Likewise.
8836
8837 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8838
8839 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
8840 save some space.
8841 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
8842 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
8843
8844 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8845
8846 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
8847
8848 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8849
8850 * util/import_gcry.py: Accept space between # and include.
8851
8852 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8853
8854 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
8855
8856 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8857
8858 Fine grainely disable warnings on lexer. Remove Wno-error on it.
8859
8860 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
8861 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
8862 yylex_strncpy.
8863 * grub-core/script/yylex.l: Add fine-grained #pragma.
8864
8865 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8866
8867 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
8868 New inline function.
8869 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
8870 Likewise.
8871 (memset) [GRUB_UTIL]: Likewise.
8872 (memcmp) [GRUB_UTIL]: Likewise.
8873
8874 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8875
8876 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
8877 inline function rather than a define.
8878
8879 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8880
8881 * util/grub-setup.c: Add missing include.
8882
8883 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8884
8885 * util/ieee1275/grub-ofpathname.c: Add missing include.
8886
8887 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8888
8889 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
8890 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
8891 Likewise.
8892
8893 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8894
8895 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
8896 grub_memcmp usage.
8897
8898 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8899
8900 * util/grub-install.in: Add datarootdir as per automake manual
8901 suggestion.
8902 * util/grub-mknetdir.in: Likewise.
8903
8904 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8905
8906 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
8907 suggestion.
8908 * util/grub.d/10_kfreebsd.in: Likewise.
8909 * util/grub.d/10_linux.in: Likewise.
8910 * util/grub.d/10_netbsd.in: Likewise.
8911 * util/grub.d/10_windows.in: Likewise.
8912 * util/grub.d/20_linux_xen.in: Likewise.
8913
8914 2011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
8915
8916 Remove redundant grub_kernel_image_size.
8917
8918 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
8919 _edata and _start.
8920 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
8921 the small code. It moves it only by few bytes but simplifies the code.
8922 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
8923 _start.
8924 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
8925 (grub_kernel_image_size): Removed.
8926 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
8927 (grub_kernel_image_size): Removed.
8928 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
8929 compiled with Apple toolchain.
8930 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
8931 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
8932 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
8933 (grub_total_module_size): Likewise.
8934 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
8935 Removed.
8936 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
8937 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
8938 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
8939 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
8940 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
8941 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
8942 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
8943 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
8944 Removed.
8945 (grub_total_module_size): Removed.
8946 * util/grub-mkimage.c (image_target_desc): Remove image_size.
8947 (image_targets): Likewise.
8948 Set .compressed_size to no field on sparc.
8949 (generate_image): Remove kernel_image_size handling.
8950
8951 2011-10-19 Szymon Janc <szymon@janc.net.pl>
8952
8953 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
8954 NULL pointer dereference.
8955
8956 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
8957
8958 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
8959 done with a dedicated section.
8960
8961 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
8962 Ensure the correct position of boot_path.
8963 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
8964 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
8965 other fields.
8966 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
8967 * include/grub/boot.h: Removed. All references removed.
8968 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
8969 Removed.
8970 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
8971
8972 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
8973
8974 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
8975 name.
8976
8977 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
8978
8979 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
8980
8981 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
8982
8983 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
8984 Don't add the bogus brackets.
8985
8986 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
8987
8988 ExFAT support.
8989
8990 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
8991 * grub-core/Makefile.core.def (exfat): New module.
8992 * grub-core/fs/exfat.c: New file.
8993 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
8994 (GRUB_FAT_ATTR_*): Make into an enum.
8995 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
8996 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
8997 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
8998 (GRUB_FAT_MAXFILE): Removed.
8999 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
9000 (grub_current_fat_bpb_t): New type.
9001 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
9002 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
9003 (grub_fat_dir_node_t): New type.
9004 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
9005 (fat_log2) [MODE_EXFAT]: Removed.
9006 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
9007 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
9008 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
9009 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
9010 (grub_fat_label) [MODE_EXFAT]: New function.
9011 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
9012 reserved_first_sector to 0.
9013
9014 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9015
9016 Move grub_reboot out of the kernel.
9017
9018 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
9019 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
9020 * grub-core/lib/efi/reboot.c: ... here.
9021 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
9022 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
9023 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
9024 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
9025 * grub-core/lib/i386/reboot_trampoline.S: ... here.
9026 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
9027 * grub-core/lib/ieee1275/reboot.c: ... here.
9028 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
9029 * grub-core/lib/mips/arc/reboot.c: ... here.
9030 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
9031 * grub-core/lib/mips/loongson/reboot.c: ...here.
9032 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
9033 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
9034 * include/grub/emu/misc.h (grub_reboot): New function declaration.
9035 * include/grub/i386/reboot.h: New file.
9036 * include/grub/mips/loongson/ec.h: Fix includes.
9037 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
9038 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
9039 * grub-core/lib/i386/reboot.c: New file.
9040
9041 2011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
9042
9043 Make grub_prefix into module to fix the arbitrary limit and save
9044 some space.
9045
9046 * grub-core/kern/emu/main.c (grub_prefix): Removed.
9047 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
9048 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
9049 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
9050 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
9051 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
9052 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
9053 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
9054 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
9055 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
9056 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
9057 * include/grub/ia64/efi/kernel.h: Removed.
9058 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
9059 (grub_prefix): Removed.
9060 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
9061 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
9062 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
9063 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
9064 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
9065 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
9066 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
9067 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
9068 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
9069 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
9070 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
9071 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
9072 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
9073 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
9074 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
9075 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
9076 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
9077 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
9078 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
9079 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
9080 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
9081 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
9082 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
9083 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
9084 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
9085 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
9086 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
9087 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
9088 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
9089 from module.
9090 * util/grub-mkimage.c (image_target_desc): Removed prefix and
9091 prefix_end.
9092 (image_targets): Likewise.
9093 (generate_image): Put prefix as a module.
9094
9095 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9096
9097 Replace grub_module_iterate with FOR_MODULES.
9098
9099 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
9100 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
9101 (grub_efi_modules_addr): ...this.
9102 * grub-core/kern/efi/init.c (grub_modbase): New variable.
9103 (grub_efi_init): Set grub_modbase.
9104 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
9105 (grub_modbase): New variable.
9106 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
9107 (grub_modbase): New variable.
9108 (grub_machine_init): Set grub_modbase.
9109 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
9110 (grub_modbase): New variable.
9111 (grub_machine_init): Set grub_modbase.
9112 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
9113 (grub_modbase): New variable.
9114 (grub_machine_init): Set grub_modbase.
9115 * grub-core/kern/main.c (grub_module_iterate): Remove.
9116 (grub_modules_get_end): Use grub_modbase.
9117 (grub_load_modules): Use FOR_MODULES.
9118 (grub_load_config): Likewise.
9119 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
9120 (grub_modbase): New variable.
9121 (grub_machine_init): Set grub_modbase.
9122 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
9123 (grub_modbase): New variable.
9124 (grub_machine_init): Set grub_modbase.
9125 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
9126 Removed.
9127 (grub_modbase): New variable.
9128 (grub_machine_init): Set grub_modbase.
9129 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
9130 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
9131 (grub_module_iterate): Likewise.
9132 (grub_modbase): New variable declaration.
9133 (FOR_MODULES): New macro.
9134
9135 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9136
9137 * configure.ac: Check for __ctzdi2 and __ctzsi2.
9138 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
9139
9140 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9141
9142 Fix few obvious type discrepancies.
9143
9144 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
9145 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
9146 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
9147 variable.
9148 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
9149 and connected types.
9150 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
9151 offset.
9152 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
9153 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
9154 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
9155 and connected types.
9156
9157 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9158
9159 Fix python 3.x incompatibilities.
9160
9161 * gentpl.py: Put brackets around print strings.
9162 * util/import_gcry.py: Open explicitly as utf-8.
9163 Use in instead of has_key.
9164
9165 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9166
9167 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
9168 (GRUB_XFS_INO_AGBITS): Make into inline function.
9169 (GRUB_XFS_INO_INOINAG): Likewise.
9170 (GRUB_XFS_INO_AG): Likewise.
9171 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
9172 (GRUB_XFS_EXTENT_OFFSET): Likewise.
9173 (GRUB_XFS_EXTENT_BLOCK): Likewise.
9174 (GRUB_XFS_EXTENT_SIZE): Likewise.
9175 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
9176 (GRUB_XFS_NEXT_DIRENT): Likewise.
9177 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
9178 (grub_xfs_read_file): Fix offset type.
9179
9180 2011-10-15 Robert Millan <rmh@gnu.org>
9181
9182 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
9183
9184 2011-10-15 Robert Millan <rmh@gnu.org>
9185
9186 Fix build problem on FreeBSD and GNU/kFreeBSD.
9187
9188 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
9189
9190 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9191
9192 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
9193
9194 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
9195 types.
9196 (grub_hfsplus_btree_recoffset): Likewise.
9197 (grub_hfsplus_btree_recptr): Likewise.
9198 (grub_hfsplus_find_block): Likewise.
9199 (grub_hfsplus_btree_search): Likewise.
9200 (grub_hfsplus_read_block): Likewise.
9201 (grub_hfsplus_read_file): Likewise.
9202 (grub_hfsplus_mount): Likewise.
9203 (grub_hfsplus_btree_iterate_node): Likewise.
9204 (grub_hfsplus_btree_search): Likewise.
9205 (grub_hfsplus_iterate_dir): Likewise.
9206 (grub_hfsplus_read): A small code simplification.
9207
9208 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9209
9210 * grub-core/kern/emu/hostdisk.c
9211 (convert_system_partition_to_system_disk): Don't assume that children
9212 of mapper nodes are mapper nodes.
9213
9214 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9215
9216 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
9217 * include/grub/misc.h (grub_isxdigit): New function.
9218 * grub-core/video/colors.c (my_isxdigit): Removed. All users
9219 switched to grub_isxdigit.
9220 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
9221 number starting with a letter.
9222
9223 2011-10-09 Robert Millan <rmh@gnu.org>
9224
9225 LVM support for FreeBSD and GNU/kFreeBSD.
9226
9227 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
9228 GNU/kFreeBSD.
9229 (LVM_DEV_MAPPER_STRING): Move from here ...
9230 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
9231 * util/getroot.c: Include `<grub/util/lvm.h>'.
9232 (grub_util_get_dev_abstraction): Enable
9233 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
9234 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
9235 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
9236 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
9237 support it.
9238 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
9239 GNU/kFreeBSD.
9240 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
9241 when LVM abstraction is required for ${GRUB_DEVICE}.
9242
9243 2011-10-06 Szymon Janc <szymon@janc.net.pl>
9244
9245 Add support for LZO compression in GRUB:
9246 - import of minilzo library,
9247 - LZO decompression for btrfs,
9248 - lzop files decompression.
9249
9250 * grub-core/io/lzopio.c: New file.
9251 * grub-core/lib/adler32.c: Likewise.
9252 * grub-core/lib/minilzo/lzoconf.h: Likewise.
9253 * grub-core/lib/minilzo/lzodefs.h: Likewise.
9254 * grub-core/lib/minilzo/minilzo.c: Likewise.
9255 * grub-core/lib/minilzo/minilzo.h: Likewise.
9256 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
9257 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
9258 grub-core/lib/minilzo/minilzo.c to common.
9259 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
9260 cflags in cppflags.
9261 * grub-core/Makefile.core.def (btrfs): Likewise.
9262 * grub-core/Makefile.core.def (lzopio): New module.
9263 (adler32): Likewise.
9264 * grub-core/fs/btrfs.c: Include minilzo.h.
9265 (GRUB_BTRFS_COMPRESSION_LZO): New define.
9266 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
9267 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
9268 (grub_btrfs_lzo_decompress): New function.
9269 (grub_btrfs_extent_read): Add support for LZO compression type.
9270 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
9271 (GRUB_USHRT_MAX): Likewise.
9272 (GRUB_UINT_MAX): Likewise.
9273 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
9274 (UINT_MAX): Likewise.
9275 (CHAR_BIT): Likewise.
9276 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
9277 grub-core/lib/posix_wrap/limits.h
9278 (UCHAR_MAX): Likewise.
9279 * include/grub/file.h (grub_file_filter_id): New compression filter
9280 GRUB_FILE_FILTER_LZOPIO.
9281 * include/grub/file.h (grub_file_filter_id): Set
9282 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
9283 * include/grub/types.h (grub_get_unaligned16): New function.
9284 (grub_get_unaligned32): Likewise.
9285 (grub_get_unaligned64): Likewise.
9286 * util/import_gcry.py (cryptolist): Add adler32.
9287
9288 2011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
9289
9290 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
9291 in perspective decreases the complexity of build system and fixes
9292 compilation right now.
9293
9294 2011-10-01 Ales Nesrsta <starous@volny.cz>
9295
9296 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
9297 (fixed problem related to using UHCI with coreboot).
9298
9299 2011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
9300
9301 * gentpl.py: Use Autogen macros so that the output template file
9302 (Makefile.tpl) size is reduced.
9303
9304 2011-09-29 Mads Kiilerich <mads@kiilerich.com>
9305
9306 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
9307 extra_dist.
9308
9309 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
9310
9311 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
9312 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
9313
9314 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
9315
9316 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
9317 _fullpath.
9318
9319 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
9320
9321 Remove extra declaration of sleep for mingw32.
9322
9323 * util/misc.c (sleep) [__MINGW32__]: Removed.
9324 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
9325
9326 2011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
9327
9328 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
9329 type and packname.
9330 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
9331 Resurrected.
9332 (NETBSD_BTINFO_BOOTWEDGE): New definition.
9333 (grub_netbsd_btinfo_bootwedge): New struct.
9334 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
9335 New function.
9336 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
9337
9338 2011-09-28 Thomas Haller <thomas.haller@fen-net.de>
9339
9340 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
9341 loader.
9342
9343 2011-09-28 Andreas Born <futur.andy@googlemail.com>
9344
9345 Fix incorrect identifiers in bash-completion.
9346
9347 * util/bash-completion.d/grub-completion.bash.in
9348 (_grub_mkpasswd-pbkdf2): Rename to ...
9349 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
9350 (_grub_script-check): Rename to ...
9351 (_grub_script_check): ... this. All users updated.
9352
9353 2011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
9354
9355 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
9356 Return 0 if disk isn't biosdisk.
9357
9358 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
9359
9360 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
9361 on NetBSD.
9362 * Makefile.util.def (grub-fstest): Likewise.
9363
9364 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
9365
9366 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
9367 Get sector size from disk label.
9368
9369 2011-09-05 Colin Watson <cjwatson@ubuntu.com>
9370
9371 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
9372 */README* as well as README*.
9373 Reported by: Axel Beckert.
9374
9375 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9376
9377 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
9378 case of less than 256 MiB of RAM.
9379
9380 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9381
9382 * grub-core/commands/wildcard.c (make_regex): Handle @.
9383
9384 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9385
9386 * util/grub-install.in: Move cryptodisk logic to appropriate place.
9387
9388 2011-08-21 Szymon Janc <szymon@janc.net.pl>
9389
9390 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
9391 AC_LANG_CONFTEST macros.
9392
9393 2011-08-20 Szymon Janc <szymon@janc.net.pl>
9394
9395 Add grub-fstest option to uncompress data for commands.
9396
9397 * util/grub-fstest.c (uncompress): New var.
9398 (options): New option -u.
9399
9400 2011-08-20 Szymon Janc <szymon@janc.net.pl>
9401
9402 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
9403 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
9404
9405 2011-08-20 Szymon Janc <szymon@janc.net.pl>
9406
9407 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
9408 file type was not recognized correctly (not gzip or corrupted).
9409
9410 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9411
9412 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
9413 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
9414
9415 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9416
9417 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
9418 loongson.
9419 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
9420 video_radeon_fuloong2e.
9421 * grub-core/video/radeon_fuloong2e.c: New file.
9422 * include/grub/video.h (grub_video_id_t): Add new ID
9423 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
9424
9425 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9426
9427 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
9428 define.
9429 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
9430 that PRID matches the detected subplatform and reset the subplatform
9431 if it doesn't.
9432
9433 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9434
9435 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
9436
9437 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9438
9439 Fix PCI iterating on functions >= 4.
9440
9441 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
9442 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
9443 Removed.
9444 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
9445 (grub_pci_read): Fix bitmask.
9446 (grub_pci_read_word): Likewise.
9447 (grub_pci_read_byte): Likewise.
9448 (grub_pci_write): Likewise.
9449 (grub_pci_write_word): Likewise.
9450 (grub_pci_write_byte): Likewise.
9451
9452 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9453
9454 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
9455 can still be specified in TARGET_CFLAGS)
9456
9457 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9458
9459 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
9460
9461 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
9462 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
9463 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
9464 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
9465 (FULOONG): Rename to ...
9466 (FULOONG2F): ... this. All users updated.
9467 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
9468 (machtype_fuloong2f_str): ... this.
9469 (machtype_fuloong2e_str): New string.
9470 Check for machtype_fuloong2e_str.
9471 * grub-core/loader/mips/linux.c (loongson_machtypes)
9472 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
9473 * grub-core/term/serial.c (loongson_defserial)
9474 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
9475 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
9476 loongson_defserial.
9477 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
9478 Rename to ...
9479 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
9480 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
9481 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
9482 to IMAGE_FULOONG2F_FLASH. All users updated.
9483 (image_targets): Rename images.
9484 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
9485
9486 2011-08-19 Szymon Janc <szymon@janc.net.pl>
9487
9488 Make enable of disk cache statistics code configurable.
9489
9490 * configure.ac: --enable-cache-stats added.
9491 * config.h.in (DISK_CACHE_STATS): New define.
9492 * grub-core/Makefile.core.def (cacheinfo): New command.
9493 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
9494 * grub-core/commands/cacheinfo.c: New file.
9495 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
9496 moved to cacheinfo.c.
9497 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
9498 debug code.
9499 * include/grub/disk.h: Likewise.
9500
9501 2011-08-19 Szymon Janc <szymon@janc.net.pl>
9502
9503 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
9504 * grub-core/Makefile.am: Likewise.
9505
9506 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9507
9508 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
9509 non-zero pull.
9510
9511 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9512
9513 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
9514 All users updated.
9515 (grub_jfs_lookup_symlink): Use correct starting inode.
9516
9517 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9518
9519 * util/grub-setup.c (main): Add missing gcry initialisation.
9520
9521 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9522
9523 Don't accept text modes on EFI when booting Linux.
9524
9525 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
9526 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
9527
9528 2011-08-15 Mario Limonciello <mario_limonciello@dell.com>
9529 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
9530
9531 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
9532 use of "/path/.." as in grub-install for EFI as well as handling
9533 symlinks correctly.
9534 Fixes Debian bug #637768.
9535
9536 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
9537
9538 * util/grub-probe.c: Remove duplicate #include.
9539
9540 2011-08-10 Robert Millan <rmh@gnu.org>
9541
9542 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
9543
9544 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
9545 function.
9546 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
9547 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
9548
9549 2011-08-03 Robert Millan <rmh@gnu.org>
9550
9551 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
9552 la_array as packed.
9553 Reported by: Zachary Bedell
9554
9555 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
9556
9557 * configure.ac: The Loongson port requires grub-mkfont due to its
9558 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
9559 be built.
9560
9561 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
9562
9563 * util/grub-install.in: Don't source grub-mkconfig_lib until after
9564 processing arguments (otherwise help2man fails when GRUB has not yet
9565 been installed).
9566
9567 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9568
9569 New script grub-mkstandalone.
9570
9571 * Makefile.util.def (grub-mkstandalone): New script.
9572 * docs/man/grub-mkstandalone.h2m: New file.
9573 * util/grub-mkstandalone.in: Likewise.
9574
9575 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9576
9577 Support ATA disks with 4K sectors.
9578
9579 * include/grub/ata.h (grub_ata): New member log_sector_size.
9580 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
9581 (grub_ata_identify): Read sector size.
9582 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
9583
9584 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9585
9586 * util/grub-install.in: Don't use uhci outside of x86.
9587
9588 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9589
9590 * util/grub-mkrescue.in: Add missing quotes.
9591
9592 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9593
9594 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
9595 dereference.
9596
9597 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9598
9599 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
9600
9601 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9602
9603 * include/grub/video.h: add missing EXPORT_FUND on
9604 grub_video_edid_checksum and grub_video_edid_preferred_mode.
9605
9606 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9607
9608 * include/grub/mips/kernel.h: Fix define conflict.
9609
9610 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9611
9612 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
9613 all four ways.
9614
9615 2011-07-21 Colin Watson <cjwatson@ubuntu.com>
9616
9617 Preferred resolution detection for VBE.
9618
9619 * grub-core/video/video.c (grub_video_edid_checksum): New function.
9620 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
9621 the Flat Panel extension, in line with the X.org VESA driver.
9622 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
9623 New function.
9624 (grub_vbe_bios_get_ddc_capabilities): Likewise.
9625 (grub_vbe_bios_read_edid): Likewise.
9626 (grub_vbe_get_preferred_mode): Likewise.
9627 (grub_video_vbe_setup): When the mode is "auto", try to get the
9628 preferred mode from VBE, and use the largest mode that is no larger
9629 than the preferred mode (some BIOSes expose a preferred mode that is
9630 not in their mode list!). If this fails, fall back to 640x480 as a
9631 safe conservative choice.
9632 (grub_video_vbe_get_edid): New function.
9633 (grub_video_vbe_adapter): Add get_edid.
9634 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
9635 (struct grub_video_adapter): Add get_edid.
9636 (grub_video_edid_checksum): Add prototype.
9637 (grub_video_edid_preferred_mode): Likewise.
9638 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
9639 structure.
9640
9641 * grub-core/commands/videoinfo.c (print_edid): New function.
9642 (grub_cmd_videoinfo): Print EDID if available.
9643
9644 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
9645 is more appropriate on a wider range of platforms than 640x480.
9646 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
9647 documentation.
9648
9649 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9650
9651 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
9652
9653 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9654
9655 * po/POTFILES.in: Regenerate.
9656
9657 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9658
9659 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
9660 incorrect memory usage.
9661
9662 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9663
9664 * util/grub-install.in: Source grub-mkconfig_lib.
9665
9666 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
9667
9668 Remove getroot.c from core on emu platform.
9669
9670 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
9671 kern/emu/raid.c.
9672 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
9673 useless.
9674 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
9675 * util/getroot.c (get_win32_path): ... here.
9676 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
9677 * util/getroot.c (fini_libzfs): ... here.
9678 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
9679 * util/getroot.c (grub_get_libzfs_handle): ... here.
9680 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
9681 Moved from here...
9682 * util/getroot.c (grub_find_zpool_from_dir): ... here.
9683 * grub-core/kern/emu/misc.c
9684 (grub_make_system_path_relative_to_its_root): Moved from here...
9685 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
9686 * grub-core/kern/emu/getroot.c: Moved from here ...
9687 * util/getroot.c: ... here. All users updated.
9688 * grub-core/kern/emu/raid.c: Moved from here ...
9689 * util/raid.c: ... here. All users updated.
9690
9691 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
9692
9693 * po/POTFILES.in: Regenerate.
9694
9695 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
9696
9697 Fix compilation on GNU/Linux.
9698
9699 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
9700 Disable geli.
9701 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
9702 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
9703 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
9704
9705 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
9706 2011-07-07 Michael Gorven <michael@gorven.za.net>
9707 2011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
9708
9709 LUKS and GELI support.
9710
9711 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
9712 grub-core/disk/luks.c, grub-core/disk/geli.c,
9713 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
9714 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
9715 grub-core/lib/arg.c.
9716 (libgrubmods.a): Remove gcrypts cflags and cppflags.
9717 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
9718 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
9719 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
9720 (grub-bin2h): Add libgcry.a.
9721 (grub-mkimage): Likewise.
9722 (grub-mkrelpath): Likewise.
9723 (grub-script-check): Likewise.
9724 (grub-editenv): Likewise.
9725 (grub-mkpasswd-pbkdf2): Likewise.
9726 (grub-pe2elf): Likewise.
9727 (grub-fstest): Likewise.
9728 (grub-mkfont): Likewise.
9729 (grub-mkdevicemap): Likewise.
9730 (grub-probe): Likewise.
9731 (grub-ofpath): Likewise.
9732 (grub-mklayout): Likewise.
9733 (example_unit_test): Likewise.
9734 (grub-menulst2cfg): Likewise.
9735 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
9736 * grub-core/Makefile.core.def (cryptodisk): New module.
9737 (luks): Likewise.
9738 (geli): Likewise.
9739 * grub-core/disk/AFSplitter.c: New file.
9740 * grub-core/disk/cryptodisk.c: Likewise.
9741 * grub-core/disk/geli.c: Likewise.
9742 * grub-core/disk/luks.c: Likewise.
9743 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
9744 grub_util_is_lvm.
9745 (grub_util_get_dm_abstraction): New function.
9746 (grub_util_follow_gpart_up): Likewise.
9747 (grub_util_get_geom_abstraction): Likewise.
9748 (grub_util_get_dev_abstraction): Use new functions.
9749 (grub_util_pull_device): Pull GELI and LUKS.
9750 (grub_util_get_grub_dev): Handle LUKS and GELI.
9751 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
9752 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
9753 (follow_geom_up): Removed.
9754 (grub_util_fd_seek): New function.
9755 (open_device): Use grub_util_fd_seek.
9756 (nread): Rename to ..
9757 (grub_util_fd_read): ... this. All users updated.
9758 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
9759 (grub_crypto_cbc_decrypt): Likewise.
9760 (grub_crypto_hmac_write): Likewise.
9761 (grub_crypto_hmac_buffer): Likewise.
9762 (grub_password_get): Extend to util.
9763 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
9764 New member modname.
9765 (gcry_md_spec) [GRUB_UTIL]: Likewise.
9766 * include/grub/cryptodisk.h: New file.
9767 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
9768 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
9769 LUKS and GELI.
9770 (grub_util_follow_gpart_up): New proto.
9771 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
9772 (grub_util_fd_read): Likewise.
9773 (grub_cryptodisk_cheat_mount): Likewise.
9774 (grub_util_cryptodisk_print_uuid): Likewise.
9775 (grub_util_get_fd_sectors): Likewise.
9776 * util/grub-fstest.c (mount_crypt): New var.
9777 (fstest): Mount crypto if requested.
9778 (options): New option -C.
9779 (argp_parser): Parse -C.
9780 (main): Init and fini gcry.
9781 * util/grub-install.in: Support cryptodisk install.
9782 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
9783 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
9784 cryptodisk.
9785 (prepare_grub_to_access_device): Likewise.
9786 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
9787 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
9788 (probe_cryptodisk_uuid): New function.
9789 (probe_abstraction): Likewise.
9790 (probe): Use new functions.
9791 * util/import_gcry.py: Create Makefile.utilgcry.def.
9792 Add modname member.
9793
9794 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
9795
9796 Lazy device scanning.
9797
9798 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
9799 (grub-setup): Remove util/raid.c.
9800 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
9801 * grub-core/disk/lvm.c (scan_depth): New variable.
9802 (grub_lvm_iterate): Rescan if necessary.
9803 (find_lv): New function based on grub_lvm_open.
9804 (grub_lvm_open): Use find_lv. Rescan on error.
9805 (is_node_readable): New function.
9806 (is_lv_readable): Likewise.
9807 (grub_lvm_scan_device): Skip already found disks.
9808 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
9809 Stop if searched device is found and readable.
9810 * grub-core/disk/raid.c (inscnt): New variable.
9811 (scan_depth): Likewise.
9812 (scan_devices): New function based on grub_raid_register. Abort if
9813 looked for device is found.
9814 (grub_raid_iterate): Rescan if needed.
9815 (find_array): NEw function based on -grub_raid_open.
9816 (grub_raid_open): Use find_array and rescan.
9817 (insert_array): Set became_readable_at.
9818 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
9819 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
9820 New function.
9821 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
9822 (grub_util_pull_device): New function.
9823 (grub_util_get_grub_dev): Call grub_util_pull_device.
9824 * util/raid.c: Moved to ..
9825 * grub-core/kern/emu/raid.c: ... here.
9826 (grub_util_raid_getmembers): New parameter "bootable".
9827 All users updated. Support 1.x.
9828 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
9829 All users updated.
9830 * include/grub/disk.h (grub_disk_pull_t): New enum.
9831 (grub_disk_dev): Change iterate prototype.
9832 All users updated.
9833 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
9834 New proto.
9835 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
9836 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
9837 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
9838 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
9839 All users updated.
9840 * include/grub/util/raid.h: Removed.
9841
9842 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
9843
9844 * po/POTFILES.in: Regenerate.
9845
9846 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
9847
9848 Unify sparc init with other ieee1275.
9849
9850 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
9851 instead of kern/sparc64/ieee1275/init.c.
9852 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
9853 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
9854 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
9855 grub/machine/kernel.h.
9856 (grub_ieee1275_original_stack) [__sparc__]: New variable.
9857 (grub_claim_heap) [__sparc__]: Use sparc version.
9858 (grub_machine_init): Moved args parsing to
9859 (grub_parse_cmdline): ...this.
9860 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
9861 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
9862 New definition.
9863 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
9864
9865 Move BOOTP to separate file.
9866
9867 * grub-core/Makefile.core.def (net): Add net/bootp.c.
9868 * grub-core/net/net.c: Move all BOOTP functions to
9869 * grub-core/net/bootp.c: ... here.
9870
9871 Use frame interface on PXE.
9872
9873 * grub-core/Makefile.core.def (pxecmd): Removed.
9874 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
9875 * grub-core/commands/i386/pc/pxecmd.c: Removed.
9876 * grub-core/i386/pc/pxe.c: Moved from here ...
9877 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
9878 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
9879 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
9880
9881 EFI network support.
9882
9883 * grub-core/Makefile.core.def (efinet): New module.
9884 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
9885 here...
9886 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
9887 All users updated.
9888 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
9889 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
9890 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
9891 * grub-core/net/drivers/efi/efinet.c: New file.
9892 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
9893 (grub_efi_net_config): New extern var.
9894
9895 Various cleanups and bugfixes.
9896
9897 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
9898 error.
9899 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
9900 disk declared as partition.
9901 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
9902 leak on failure.
9903 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
9904 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
9905 (grub_debug_zalloc): Likewise.
9906 (grub_debug_realloc): Likewise.
9907 (grub_debug_memalign): Likewise.
9908 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
9909 Check that target is IPv4.
9910 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
9911 local-mac-address as fallback.
9912 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
9913 memory leak.
9914 * grub-core/net/ip.c (ipchksum): Rename to ...
9915 (grub_net_ip_chksum): ... this. All users updated.
9916 (grub_net_recv_ip_packets): Special handling for DHCP.
9917 * util/grub-mkimage.c (generate_image): Zero-out aout header.
9918
9919 Unify prefix handling
9920
9921 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
9922 (grub_machine_get_bootlocation): ... this.
9923 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
9924 (grub_machine_get_bootlocation): ... this.
9925 (grub_prefix): New variable.
9926 (prefix): Removed.
9927 (root_dev): New variable.
9928 (dir): Likewise.
9929 (main): Use new variables.
9930 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
9931 Revamped into ...
9932 (grub_machine_get_bootlocation): ... this.
9933 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
9934 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
9935 (grub_machine_get_bootlocation): ... this.
9936 (grub_machine_set_prefix): Removed.
9937 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
9938 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
9939 Revamped into ...
9940 (grub_machine_get_bootlocation): ... this.
9941 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
9942 (grub_set_prefix_and_root): ... this. All users updated.
9943 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
9944 Revamped into ...
9945 (grub_machine_get_bootlocation): ... this.
9946 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
9947 (grub_machine_get_bootlocation): New proto.
9948 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
9949
9950 Less intrusive and more reliable seek on network implementation.
9951
9952 * grub-core/kern/file.c (grub_file_net_seek): Removed.
9953 (grub_file_seek): Don't call grub_file_net_seek.
9954 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
9955 (grub_net_fs_read_real): .. this.
9956 (grub_net_seek_real): Use net->offset.
9957 (grub_net_fs_read): Seek if necessary.
9958
9959 Unify IEEE1275 netwotk config with the other platforms.
9960
9961 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
9962 New variable.
9963 (grub_machine_get_bootlocation): Support network.
9964 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
9965 Support type and device parsing.
9966 (grub_ieee1275_get_device_type): New function.
9967 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
9968 into ...
9969 (grub_ieee1275_net_config_real): ... this.
9970 (grub_ofnet_probecards): Removed.
9971 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
9972 * include/grub/ieee1275/ofnet.h: Removed.
9973 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
9974 extern var.
9975 (grub_ieee1275_get_device_type): New function.
9976
9977 Unify network device closing across platforms and make more robust.
9978
9979 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
9980 grub_grubnet_fini.
9981 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
9982 already.
9983 * grub-core/net/net.c (grub_net_network_level_interface_register):
9984 Update num_ifaces.
9985 (grub_net_card_unregister): Close all interfaces.
9986 (receive_packets): Don't poll if no iterfaces are registered.
9987 Open if necessary.
9988 (grub_net_fini_hw): New function.
9989 (grub_net_restore_hw): Likewise.
9990 (fini_hnd): New variable.
9991 (GRUB_MOD_INIT): Register preboot hook.
9992 (GRUB_MOD_FINI): Run and unregister preboot hook.
9993
9994 Poll network cards when idle.
9995
9996 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
9997 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
9998 * grub-core/net/net.c (receive_packets): Save last poll time.
9999 (grub_net_poll_cards_idle_real): New function.
10000 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
10001 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
10002 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
10003
10004 Rename ofnet interfaces.
10005
10006 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
10007 (grub_ofnet_findcards): Use ofnet_%s names.
10008
10009 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
10010
10011 Cleanup socket opening.
10012
10013 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
10014 (grub_net_fs_close): Likewise.
10015 (grub_net_fs_read_real): Use eof member.
10016 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
10017 (+grub_net_udp_close): New inline function.
10018
10019 * include/grub/net/tftp.h: Moved to the top of ...
10020 * grub-core/net/tftp.c: ... here.
10021 * include/grub/net/ip.h: Moved mostly to the top of ...
10022 * grub-core/net/ip.c: ... here.
10023 * include/grub/net/ethernet.h: Moved mostly to the top of ...
10024 * grub-core/net/ethernet.c: ... here.
10025
10026 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
10027
10028 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
10029 FS name.
10030
10031 * include/grub/net/ip.h (ipv4_ini): Removed.
10032 (ipv4_fini): Likewise.
10033
10034 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
10035 (grub_net_send_ip_packets): Likewise.
10036
10037 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10038
10039 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
10040 grub_read_cmos prototype.
10041
10042 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10043
10044 VGA text support in qemu-mips
10045
10046 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
10047 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
10048 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
10049 text.
10050 * grub-core/kern/i386/qemu/init.c: Renamed to ...
10051 * grub-core/kern/vga_init.c: ... this.
10052 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
10053 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
10054 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
10055 Adjust.
10056 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
10057 GRUB_MACHINE_PCI_IO_BASE.
10058
10059 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10060
10061 MIPS qemu flash support.
10062
10063 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
10064 magic.
10065 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
10066 (grub_machine_init): Probe memory if its size isn't known.
10067 * util/grub-mkimage.c (image_targets): Add flash targets.
10068 (generate_image): Handle flash targets.
10069
10070 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10071
10072 MIPS qemu at_keyboard support.
10073
10074 * gentpl.py (videoinkernel): Add qemu-mips.
10075 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
10076 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
10077 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
10078 modules.
10079 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
10080 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
10081 * grub-core/term/serial.c (grub_serial_register)
10082 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
10083
10084 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10085
10086 CMOS support on sparc.
10087
10088 * gentpl.py (cmos): Add powerpc and sparc.
10089 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
10090 powerpc and sparc.
10091 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
10092 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
10093 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
10094 grub_set_datetime_cmos.
10095 * grub-core/lib/ieee1275/cmos.c: New file.
10096 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
10097 (find_rtc): Set no_ieee1275_rtc on error.
10098 (grub_get_datetime): Call grub_get_datetime_cmos on error.
10099 (grub_set_datetime): Call grub_set_datetime_cmos on error.
10100 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
10101 fail. Move value to argument. All users updated
10102 (grub_cmos_write): Likewise.
10103 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
10104 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
10105 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
10106 grub_get_datetime_cmos and grub_set_datetime_cmos.
10107
10108 2011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
10109
10110 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
10111 sourcing grub-mkconfig_lib.
10112 * util/update-grub_lib.in: Likewise.
10113 * util/grub.d/00_header.in: Likewise.
10114 * util/grub.d/10_hurd.in: Likewise.
10115 * util/grub.d/10_kfreebsd.in: Likewise.
10116 * util/grub.d/10_linux.in: Likewise.
10117 * util/grub.d/10_netbsd.in: Likewise.
10118 * util/grub.d/10_windows.in: Likewise.
10119 * util/grub.d/20_linux_xen.in: Likewise.
10120 * util/grub.d/30_os-prober.in: Likewise.
10121
10122 2011-06-28 Colin Watson <cjwatson@ubuntu.com>
10123
10124 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
10125 default_bg_color rather than black.
10126 (grub_gfxterm_fullscreen): Likewise.
10127 (grub_gfxterm_background_color_cmd): Save new background color in
10128 default_bg_color.
10129
10130 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10131
10132 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
10133
10134 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10135
10136 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
10137 mismerge.
10138
10139 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10140
10141 Chainloading on coreboot support.
10142
10143 * grub-core/Makefile.core.def (chain): Add coreboot.
10144 * grub-core/loader/i386/coreboot/chainloader.c: New file.
10145
10146 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10147
10148 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
10149 if it happens.
10150
10151 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10152
10153 Implement time command.
10154
10155 * grub-core/Makefile.core.def (time): New module.
10156 * grub-core/commands/time.c: New file.
10157 * grub-core/script/parser.y: Remove "time" keyword.
10158 * grub-core/script/yylex.l: Likewise.
10159
10160 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10161
10162 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
10163
10164 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10165
10166 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
10167 when handling leftovers.
10168
10169 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10170
10171 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
10172 so that help2man doesn't fail.
10173
10174 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10175
10176 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
10177 type in pointers on sparc64.
10178 (get_card_packet): Likewise.
10179
10180 2011-06-27 Colin Watson <cjwatson@ubuntu.com>
10181
10182 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
10183 with `*'.
10184 (grub_cmd_videoinfo): Fetch current video mode.
10185
10186 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10187
10188 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
10189 because of underlying system restrictions.
10190
10191 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10192
10193 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
10194 necessary.
10195
10196 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10197
10198 Coreboot video support.
10199
10200 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
10201 (vbe): Likewise.
10202 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
10203 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
10204 here ...
10205 * grub-core/kern/i386/int.S: ... here.
10206 * grub-core/video/i386/pc/vbe.c: Updated includes.
10207 * grub-core/video/i386/pc/vga.c: Likewise.
10208 * include/grub/i386/coreboot/memory.h
10209 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
10210 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
10211 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
10212 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
10213 Disable interrupts.
10214 * include/grub/i386/pc/vga.h: Removed. All users updated.
10215
10216 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10217
10218 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
10219 definitions for dprintf.
10220 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
10221
10222 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10223
10224 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
10225 prototype.
10226 (get_card_packet): Likewise.
10227
10228 2011-06-26 Yves Blusseau <blusseau@zetam.org>
10229
10230 Display the path of the file when file is not found
10231
10232 * grub-core/fs/fat.c: Display the filename when file is not found.
10233 * grub-core/fs/fshelp.c: Likewise.
10234 * grub-core/fs/hfs.c: Likewise.
10235 * grub-core/fs/jfs.c: Likewise.
10236 * grub-core/fs/minix.c: Likewise.
10237 * grub-core/fs/ufs.c: Likewise.
10238 * grub-core/fs/btrfs.c: Likewise.
10239 * grub-core/commands/i386/pc/play.c: Likewise.
10240
10241 2011-06-26 Szymon Janc <szymon@janc.net.pl>
10242
10243 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
10244 pointer checks before calling grub_free().
10245 * grub-core/commands/wildcard.c (match_devices): Likewise.
10246 * grub-core/commands/wildcard.c (match_files): Likewise.
10247 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
10248 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
10249 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
10250 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
10251 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
10252 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
10253 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
10254 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
10255 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
10256
10257 2011-06-25 Patrick <p55@mailinator.com>
10258
10259 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
10260
10261 2011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
10262
10263 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
10264 (grub_pxe_send): Likewise.
10265 (GRUB_MOD_INIT): Fix types.
10266
10267 2011-06-24 Szymon Janc <szymon@janc.net.pl>
10268
10269 * grub-core/io/xzio.c: Fix code style issues
10270
10271 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10272 2011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
10273
10274 Network infrastructure.
10275 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
10276
10277 * include/grub/net/arp.h: New file.
10278 * include/grub/net/device.h: Likewise.
10279 * include/grub/net/ethernet.h: Likewise.
10280 * include/grub/net/ip.h: Likewise.
10281 * include/grub/net/netbuff.h: Likewise.
10282 * include/grub/net/tftp.h: Likewise.
10283 * include/grub/net/udp.h: Likewise.
10284 * include/grub/ieee1275/ofnet.h: Likewise.
10285 * include/grub/emu/export.h: Likewise.
10286 * include/grub/net.h: Likewise.
10287 * grub-core/net/arp.c: Likewise.
10288 * grub-core/net/ethernet.c: Likewise.
10289 * grub-core/net/ip.c: Likewise.
10290 * grub-core/net/udp.c: Likewise.
10291 * grub-core/net/tftp.c: Likewise.
10292 * grub-core/net/netbuff.c: Likewise.
10293 * grub-core/net/net.c: Likewise.
10294 * grub-core/net/drivers/emu/emunet.c: Likewise.
10295 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
10296 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
10297 export.h.
10298 * grub-core/Makefile.core.def (net): New module.
10299 (tftp): Likewise.
10300 (ofnet): Likewise.
10301 (emunet): Likewise.
10302 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
10303 network protocols.
10304 * grub-core/kern/device.c (grub_net_open) : New variable.
10305 (grub_device_open): Handle network device.
10306 (grub_device_close): Likewise.
10307 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
10308 (grub_grubnet_fini): Likewise.
10309 (grub_file_seek): Seek in network device.
10310 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
10311 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
10312 network root.
10313 (grub_machine_fini): Call grub_grubnet_fini.
10314 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
10315 network.
10316 (grub_ieee1275_get_aliasdevname): New function.
10317 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
10318 Add unofficial Solaris network info.
10319 (grub_multiboot_make_mbi): Likewise.
10320 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
10321 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
10322 * include/grub/device.h (grub_fs): Removed.
10323 * include/grub/err.h (grub_err_t): Add network-related values.
10324 * include/grub/i386/pc/pxe.h: Removed bootp parts.
10325 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
10326 (grub_ieee1275_get_aliasdevname): New proto.
10327 * include/grub/net.h: Rewritten.
10328
10329 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10330
10331 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
10332 names.
10333
10334 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10335
10336 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
10337 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
10338 it truncates the output.
10339 Reported by: Ximin Luo.
10340
10341 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10342
10343 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
10344
10345 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10346
10347 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
10348 partmap before abstraction.
10349
10350 2011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
10351
10352 * util/grub-mkconfig_lib.in: Add missing quotes.
10353
10354 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10355
10356 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
10357 old method if mountinfo would return /dev/root and /dev/root doesn't
10358 exist.
10359
10360 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10361
10362 ZFS zlib support
10363
10364 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
10365 (decomp_table): Add zlib entries.
10366 (zio_read): USe 8 bits for compression function rather than 3.
10367 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
10368
10369 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10370
10371 * grub-core/disk/ahci.c: Add missing license statements.
10372 * grub-core/fs/romfs.c: Likewise.
10373 * grub-core/lib/ia64/setjmp.S: Likewise.
10374 * grub-core/loader/i386/pc/freedos.c: Likewise.
10375 * grub-core/loader/ia64/efi/linux.c: Likewise.
10376 * grub-core/video/colors.c: Likewise.
10377 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
10378
10379 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10380
10381 AHCI support.
10382
10383 * grub-core/Makefile.core.def (ata_pthru): Removed.
10384 (ahci): New module.
10385 (pata): Likewise.
10386 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
10387 on unload.
10388 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
10389 readwrite.
10390 (grub_hdparm_do_check_powermode_cmd): Likewise.
10391 (grub_hdparm_do_smart_cmd): Likewise.
10392 (grub_hdparm_set_val_cmd): Likewise.
10393 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
10394 * grub-core/disk/ahci.c: New file.
10395 * grub-core/disk/ata.c: Factor out the low-level part into ...
10396 * grub-core/disk/pata.c: ... here.
10397 * grub-core/disk/ata_pthru.c: Contents moved to ...
10398 * grub-core/disk/pata.c: ... here.
10399 * grub-core/disk/scsi.c (grub_scsi_names): New array.
10400 (grub_scsi_iterate): Use grub_scsi_names.
10401 (grub_scsi_open): Likewise.
10402 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
10403 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
10404 (grub_ata_regs_t): New struct.
10405 (grub_disk_ata_pass_through_parms): Likewise.
10406 (grub_ata_device): Renamed to ...
10407 (grub_ata): ... this.
10408 (grub_ata_dev): New struct.
10409 Removed all low-level inline functions.
10410 * include/grub/scsi.h: Add PATA and AHCI subsystems.
10411 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
10412 iterate hooks and open. All users updated.
10413 * util/grub-install.in: Handle AHCI disk module.
10414
10415 2011-06-23 Szymon Janc <szymon@janc.net.pl>
10416
10417 Add support for DRI and RSTn markers in JPEG files.
10418
10419 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
10420 (JPEG_MARKER_RST0): Likewise.
10421 (JPEG_MARKER_RST1): Likewise.
10422 (JPEG_MARKER_RST2): Likewise.
10423 (JPEG_MARKER_RST3): Likewise.
10424 (JPEG_MARKER_RST4): Likewise.
10425 (JPEG_MARKER_RST5): Likewise.
10426 (JPEG_MARKER_RST6): Likewise.
10427 (JPEG_MARKER_RST7): Likewise.
10428 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
10429 (grub_jpeg_decode_dri): New function.
10430 (grub_jpeg_decode_sos): Move image data related part into
10431 grub_jpeg_decode_data function.
10432 (grub_jpeg_decode_data): New function.
10433 (grub_jpeg_reset): New function.
10434 (grub_jpeg_decode_jpeg): Handle new markers.
10435
10436 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10437
10438 * util/ieee1275/ofpath.c (check_sas): Close fd.
10439 (main): Free of_path.
10440 Reported by: David Volgyes <dvolgyes>.
10441
10442 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10443
10444 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
10445 Reported by: David Volgyes <dvolgyes>.
10446
10447 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10448
10449 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
10450 file after stat.
10451 Reported by: David Volgyes <dvolgyes>.
10452
10453 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10454
10455 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
10456
10457 Reported by: David Volgyes <dvolgyes>.
10458
10459 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10460
10461 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
10462 Prevent memory leak.
10463
10464 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10465
10466 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
10467 (main): Close file.
10468 Reported by: David Volgyes <dvolgyes>.
10469
10470 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10471
10472 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
10473 to continue if allocation is failed.
10474
10475 Reported by: David Volgyes <dvolgyes>.
10476
10477 2011-06-23 David Volgyes <dvolgyes>
10478
10479 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
10480 dereference.
10481
10482 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10483
10484 Fix spurious warning.
10485
10486 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
10487 (acorn_partition_map_find): Use .bin member.
10488
10489 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10490
10491 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
10492 /dev/root as a valid device.
10493
10494 2011-06-23 Jim Meyering <meyering@redhat.com>
10495
10496 Avoid NULL deref in grub_device_open.
10497
10498 * grub-core/kern/device.c (grub_device_open): Don't dereference
10499 a NULL pointer upon failed grub_env_get.
10500
10501 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10502
10503 Support non-512B sectors and agglomerate reads.
10504
10505 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
10506 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
10507 (disk_io_guid): Removed.
10508 (make_devices): Locate solely by BlockIO.
10509 (grub_efidisk_open): Fill log_sector_size and total_sectors.
10510 (grub_efidisk_read): Use read_blocks.
10511 (grub_efidisk_write): Use write_blocks.
10512 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
10513 log_sector_size.
10514 (get_safe_sectors): Handle non-512B sectors.
10515 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
10516 sectors.
10517 (grub_biosdisk_write): Handle non-512B sectors.
10518 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
10519 (grub_scsi_read): Remove special non-512B block handling (now handled
10520 one level up).
10521 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
10522 and do sanity checks.
10523 (grub_disk_adjust_range): Handle non-512B sectors.
10524 (transform_sector): New function.
10525 (grub_disk_read_small): Likewise.
10526 (grub_disk_read): Rewritten.
10527 (grub_disk_write): Handle non-512B sectors.
10528 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
10529 log_sector_size.
10530 (open_device): Use log_sector_size.
10531 (grub_util_biosdisk_read): Likewise.
10532 (grub_util_biosdisk_write): Likewise.
10533 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
10534 non-512B sectors.
10535 (pc_partition_map_embed): Likewise.
10536 * include/grub/disk.h (grub_disk): New field log_sector_size.
10537 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
10538 (GRUB_DISK_CACHE_BITS): Increased to 6.
10539 * util/grub-fstest.c (fstest): New command testload.
10540 (argp_parser): Likewise.
10541
10542 2011-06-16 Robert Millan <rmh@gnu.org>
10543
10544 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
10545 `ata' driver on kernel of FreeBSD 9.
10546
10547 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
10548 (get_ataraid_disk_name): New functions.
10549 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
10550 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
10551 get_ataraid_disk_name() and get_ada_disk_name().
10552
10553 2011-06-13 Colin Watson <cjwatson@ubuntu.com>
10554
10555 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
10556 input format.
10557
10558 2011-05-29 Colin Watson <cjwatson@ubuntu.com>
10559
10560 * docs/grub.texi (Obtaining and Building GRUB): Substitute
10561 `ftp.gnu.org' for `alpha.gnu.org'.
10562
10563 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
10564
10565 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
10566 partitions under /dev/disk/by-id/.
10567
10568 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
10569
10570 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
10571 after ten consecutive open failures. Scanning all the way up to
10572 10000 is excessive and can cause serious performance problems in
10573 some configurations.
10574 Fixes Ubuntu bug #787461.
10575
10576 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10577
10578 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
10579 opening new one.
10580
10581 2011-05-21 Colin Watson <cjwatson@ubuntu.com>
10582 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10583
10584 Don't stat devices unless we have to.
10585
10586 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
10587 dir == /dev/mapper.
10588 (grub_guess_root_device): Use already known os_dev if possible.
10589 * grub-core/kern/emu/hostdisk.c
10590 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
10591 if device is known to be a dm one.
10592
10593 2011-05-20 Colin Watson <cjwatson@ubuntu.com>
10594
10595 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
10596 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
10597 Reported by: Pawel Tecza.
10598
10599 2011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
10600
10601 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
10602 (lsefisystab): Likewise.
10603 (lssal): Likewise.
10604 (lsefimmap): Likewise.
10605 (hdparm): Enable on qemu-mips.
10606 (setjmp): Add ia64 nodist.
10607 (serial): Simplify tags.
10608
10609 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
10610
10611 * Makefile.util.def (grub-ofpathname): Install manual page.
10612
10613 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
10614
10615 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
10616
10617 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
10618
10619 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
10620
10621 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10622
10623 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
10624 into dprintf.
10625
10626 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10627
10628 Use full 64-bit division.
10629
10630 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
10631 (grub_divmod64): ... this.
10632 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
10633 version.
10634
10635 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
10636
10637 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
10638 `source'.
10639
10640 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
10641
10642 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
10643 to avoid accidents when debugging with 'sh -x'.
10644 * grub-core/gensyminfo.sh.in: Likewise.
10645 * tests/example_scripted_test.in: Likewise.
10646 * tests/grub_cmd_regexp.in: Likewise.
10647 * tests/grub_script_blanklines.in: Likewise.
10648 * tests/grub_script_dollar.in: Likewise.
10649 * tests/grub_script_expansion.in: Likewise.
10650 * tests/grub_script_final_semicolon.in: Likewise.
10651 * tests/partmap_test.in: Likewise.
10652 * tests/util/grub-shell-tester.in: Likewise.
10653 * tests/util/grub-shell.in: Likewise.
10654
10655 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
10656
10657 Move gfxmenu color handling to video, so that gfxterm can use it
10658 too.
10659
10660 * grub-core/gfxmenu/named_colors.c: Move to ...
10661 * grub-core/video/colors.c: ... here. Rename
10662 grub_gui_get_named_color to grub_video_get_named_color.
10663 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
10664 * grub-core/video/colors.c (my_isxdigit): ... here.
10665 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
10666 Move to ...
10667 * grub-core/video/colors.c (parse_hex_color_component): ... here.
10668 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
10669 to ...
10670 * grub-core/video/colors.c (grub_video_parse_color): ... here.
10671
10672 * include/grub/gui.h (grub_gui_color_t): Move to ...
10673 * include/grub/video.h (grub_video_rgba_color_t): ... here.
10674 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
10675 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
10676 * include/grub/gui.h (grub_gui_map_color): Move to ...
10677 * include/grub/video.h (grub_video_map_rgba_color): ... here.
10678 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
10679 to ...
10680 * include/grub/video.h (grub_video_get_named_color): ... here.
10681 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
10682 * include/grub/video.h (grub_video_parse_color): ... here.
10683
10684 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
10685 video/colors.c.
10686 (gfxmenu): Remove gfxmenu/named_colors.c.
10687 (video) [videomodules]: Add video/colors.c.
10688
10689 Add a background_color command.
10690
10691 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
10692 function.
10693 (GRUB_MOD_INIT): Register background_color command.
10694 (GRUB_MOD_FINI): Unregister background_color command.
10695 (redraw_screen_rect): Allow blend/replace of text layer to be
10696 controlled independently from whether there is a background bitmap.
10697 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
10698 changing bitmap.
10699
10700 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10701
10702 Patch BPB in ntldr and chainloader --bpb.
10703
10704 * grub-core/fs/fat.c: Include grub/fat.h.
10705 (grub_fat_bpb): Moved to ...
10706 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
10707 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
10708 grub/ntfs.h.
10709 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
10710 Moved from here...
10711 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
10712 here.
10713 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
10714 New function.
10715 (grub_chainloader_cmd): Patch BPB if --bpb is given.
10716 (GRUB_MOD_INIT): Show --bpb.
10717 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
10718 * grub-core/normal/main.c (features): New variable.
10719 (GRUB_MOD_INIT): Set feature_* variables.
10720 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
10721 proto.
10722 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
10723
10724 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10725
10726 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
10727 for cleanness.
10728
10729 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10730
10731 FreeDOS direct loading support.
10732
10733 * docs/grub.texi (Supported OS): Add FreeDOS.
10734 * grub-core/Makefile.core.def (freedos): New module.
10735 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
10736 variable.
10737 (grub_relocator16_boot): Handle %ebx.
10738 * grub-core/lib/i386/relocator16.S: Likewise.
10739 * grub-core/loader/i386/pc/freedos.c: New file.
10740
10741 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10742
10743 Long Linux command line support.
10744
10745 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
10746 (maximal_cmdline_size): New variable.
10747 (allocate_pages): Use maximal_cmdline_size.
10748 (grub_cmd_linux): Set and use maximal_cmdline_size.
10749 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
10750 (allocate_pages): Use maximal_cmdline_size.
10751 (grub_cmd_linux): Set and use maximal_cmdline_size.
10752 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
10753 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
10754 and cmdline_size.
10755
10756 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10757 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
10758
10759 Improve devmapper support
10760
10761 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
10762 (grub_util_is_lvm): New function.
10763 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
10764 than lvm if not dmraid.
10765 Handle mapped md nodes.
10766 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
10767 (grub_util_device_is_mapped): ... this. Make always available. All users
10768 updated.
10769 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
10770 (convert_system_partition_to_system_disk): Handle lvm, mpath and
10771 dmraid nodes.
10772 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
10773
10774 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10775
10776 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
10777
10778 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
10779 * grub-core/modinfo.sh.in: New file.
10780 * grub-core/Makefile.core.def (modinfo.sh): New script.
10781 * util/grub-mknetdir.in: Use modinfo.sh.
10782 * util/grub-mkrescue.in: Likewise.
10783
10784 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10785
10786 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
10787 Fix potential usage of Elf32 instead of Elf64 when compiling on
10788 32-bit architecture. Add endianness macros while on it.
10789
10790 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10791
10792 Use mipsel- rather than mips- in directories involving mipsel ports to
10793 allow both endiannesses coexist.
10794
10795 * configure.ac: proparate target_cpu=mipsel rather than resetting to
10796 mips. All conditions adjusted.
10797 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
10798 variable.
10799 * util/grub-install.in: Adjust conditions to take renaming into account.
10800 * util/grub-mkimage.c (image_targets): Likewise. New target
10801 mips-qemu_mips-elf for bigendian mips.
10802
10803 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10804
10805 Avoid unnecessary copying on MIPS.
10806
10807 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
10808 early if src == dest.
10809 * util/grub-mkimage.c (generate_image): Arange for src == dest if
10810 compression is none.
10811
10812 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10813
10814 Reduce memory footprint on SGI by putting modules before the kernel
10815 as opposed to after.
10816
10817 * grub-core/Makefile.core.def (kernel): Increase linking address.
10818 (none_decompress): Likewise.
10819 (xz_decompress): Likewise.
10820 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
10821 address.
10822 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
10823 layout change.
10824 (grub_arch_modules_addr): New function.
10825 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
10826 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
10827 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
10828 here.
10829 * grub-core/kern/mips/startup.S (total_size): Rename to ...
10830 (grub_total_modules_size): ... this. Make global.
10831 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
10832 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
10833 New definition.
10834 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
10835 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
10836 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
10837 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
10838 * util/grub-mkimage.c (image_target_desc): New flag
10839 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
10840 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
10841 (generate_image): Handle images with modules before kernel.
10842
10843 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10844
10845 Prevent potential loss of memory map by overwrite on qemu-mips.
10846
10847 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
10848 Save ram size in $s4.
10849 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
10850 All users changed to grub_arch_memsize.
10851 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
10852 Loongson.
10853 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
10854 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
10855 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
10856 external variable.
10857
10858 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
10859
10860 * .bzrignore: Remove grub-dumpbios.
10861
10862 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
10863
10864 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
10865 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
10866 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
10867 existing options which append).
10868 * docs/grub.texi (Simple configuration): Document new options.
10869 Reported by: Ian Jackson. Fixes Debian bug #617538.
10870
10871 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
10872
10873 * util/grub-fstest.c (cmd_cat): New function.
10874 (fstest): Handle CMD_CAT.
10875 (options): Add cat.
10876 (argp_parser): Handle cat.
10877
10878 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
10879
10880 * Makefile.util.def (grub-bin2h): Don't install.
10881 * docs/man/grub-bin2h.h2m: Remove.
10882
10883 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10884
10885 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
10886 place.
10887
10888 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10889
10890 Reenable qemu-mips port.
10891
10892 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
10893 Fix small arc bug while on it.
10894 * gentpl.py: Handle qemu_mips.
10895 * grub-core/Makefile.am: Likewise.
10896 * grub-core/Makefile.core.def: Likewise.
10897 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
10898 inappropriate includes.
10899 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
10900 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
10901 * grub-core/kern/main.c (grub_modules_get_end)
10902 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
10903 * grub-core/kern/mips/qemu-mips: Moved to ..
10904 * grub-core/kern/mips/qemu_mips: ... this.
10905 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
10906 (grub_machine_init): Call terminfo_init and serial_init.
10907 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
10908 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
10909 New variable.
10910 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
10911 parameter passing.
10912 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
10913 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
10914 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
10915 * include/grub/mips/qemu_mips/cmos.h: New file.
10916 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
10917 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
10918 Removed.
10919 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
10920 Use correct mips-style address.
10921 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
10922 (GRUB_TICKS_PER_SECOND): Removed.
10923 (grub_get_rtc): Likewise.
10924 (grub_cpu_idle): Likewise.
10925 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
10926 New definition.
10927 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
10928 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
10929 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
10930 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
10931 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
10932 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
10933 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
10934 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
10935
10936 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10937
10938 SGI ARCS port.
10939
10940 * Makefile.util.def (libgrubmods.a): Add dvh.c.
10941 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
10942 platforms.
10943 * configure.ac: New target mips-arc.
10944 * gentpl.py: Likewise.
10945 * grub-core/Makefile.am: Likewise.
10946 * grub-core/Makefile.core.def: Likewise.
10947 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
10948 (none_decompress): Likewise.
10949 (lsdev): New module.
10950 (datetime): Use lib/arc/datetime.c on ARC.
10951 (part_dvh): New module.
10952 * grub-core/commands/arc/lsdev.c: New file.
10953 * grub-core/disk/arc/arcdisk.c: Likewise.
10954 * grub-core/kern/mips/arc/init.c: Likewise.
10955 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
10956 aligned addresses.
10957 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
10958 support.
10959 (grub_arch_dl_relocate_symbols): Likewise.
10960 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
10961 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
10962 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
10963 platforms.
10964 * grub-core/lib/arc/datetime.c: New file.
10965 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
10966 pci.h on non-loongson.
10967 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
10968 (grub_linux_boot): Set unused registers to 0.
10969 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
10970 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
10971 * grub-core/mmap/mips/uppermem.c: ...here.
10972 * grub-core/partmap/dvh.c: New file.
10973 * grub-core/term/arc/console.c: Likewise.
10974 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
10975 (grub_terminfo_set_current): Add terminal "arc".
10976 (grub_terminfo_readkey): Support ARC sequences.
10977 * include/grub/arc/arc.h: New file.
10978 * include/grub/arc/console.h: Likewise.
10979 * include/grub/disk.h (grub_disk_dev_id): Add
10980 GRUB_DISK_DEVICE_ARCDISK_ID.
10981 * include/grub/mips/arc/kernel.h: New file.
10982 * include/grub/mips/arc/memory.h: Likewise.
10983 * include/grub/mips/arc/time.h: Likewise.
10984 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
10985 * include/grub/mips/kernel.h (grub_halt): ... here.
10986 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
10987 here...
10988 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
10989 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
10990 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
10991 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
10992 proto.
10993 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
10994 from here ...
10995 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
10996 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
10997 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
10998 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
10999 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
11000 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
11001 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
11002 (grub_phys_addr_t): Moved from here ...
11003 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
11004 (grub_vtop): Moved from here ...
11005 * include/grub/mips/memory.h (grub_vtop): ... here.
11006 (grub_map_memory): Moved from here ...
11007 * include/grub/mips/memory.h (grub_map_memory): ... here.
11008 (grub_unmap_memory): Moved from here ...
11009 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
11010 (grub_machine_mmap_iterate): Moved from here ...
11011 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
11012 (grub_mmap_get_lower): Moved from here ...
11013 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
11014 (grub_mmap_get_upper): Moved from here ...
11015 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
11016 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
11017 here ...
11018 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
11019 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
11020 here ...
11021 * include/grub/mips/time.h (grub_get_rtc): ... here.
11022 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
11023 here ...
11024 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
11025 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
11026 here ...
11027 * include/grub/mips/time.h (grub_cpu_idle): ... here.
11028 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
11029 definition.
11030 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
11031 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
11032 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
11033 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
11034 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
11035 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
11036 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
11037 (GRUB_MACHINE_LINK_ADDR): Likewise.
11038 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
11039 to 6.
11040 * util/grub-install.in: Run dvhtool on ARC.
11041 * util/grub-mkimage.c (image_targets): Add mips-arc.
11042 (generate_image): Handle ECOFF output for mips-arc.
11043
11044 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11045
11046 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
11047 blocks.
11048
11049 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11050
11051 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
11052 after enabling port.
11053
11054 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11055
11056 Skip incorrect USB devices.
11057
11058 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
11059 configcnt == 0.
11060 * include/grub/usb.h (grub_usb_err_t): New enum value
11061 GRUB_USB_ERR_BADDEVICE.
11062
11063 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11064
11065 Fuloong video init support.
11066
11067 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
11068 well.
11069 (grub_vga_read_arx): New function.
11070 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
11071 definition.
11072 (framebuffer): New members io, mmioptr and mmiobase.
11073 (read_sis_cmd): New function.
11074 (write_sis_cmd): Likewise.
11075 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
11076 rather than 640x400.
11077 * grub-core/video/sis315_init.c: New file.
11078
11079 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11080
11081 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
11082 non-loongson.
11083 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
11084 to grub_dl_register_symbol.
11085
11086 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11087
11088 Fix compilation errors.
11089
11090 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
11091 potentially unused.
11092 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
11093 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
11094 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
11095 to loongson machines.
11096
11097 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11098
11099 Several FS mtime support.
11100
11101 * grub-core/fs/affs.c (grub_affs_time): New struct.
11102 (grub_affs_file): New field mtime.
11103 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
11104 type. Removed 'size'. New field 'di'. All users updated.
11105 (grub_affs_mount): Simplify checsum checking.
11106 (grub_affs_iterate_dir): New helper grub_affs_create_node.
11107 (grub_affs_dir): Handle mtime.
11108 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
11109 (grub_cpio_dir): Likewise.
11110 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
11111 (grub_hfs_filerec): New field mtime.
11112 (grub_hfs_dir): Handle mtime.
11113 (grub_hfs_mtime): New function.
11114 (grub_hfs_fs): Register grub_hfs_mtime.
11115 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
11116 (grub_iso9660_dir): New field mtime.
11117 (grub_fshelp_node): New field dirent.
11118 (iso9660_to_unixtime): New function.
11119 (iso9660_to_unixtime2): Likewise.
11120 (grub_iso9660_read_symlink): Use node->dirent.
11121 (grub_iso9660_iterate_dir): Likewise.
11122 (grub_iso9660_dir): Set mtime.
11123 (grub_iso9660_mtime): New function.
11124 (grub_iso9660_fs): Register grub_iso9660_mtime.
11125 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
11126 (grub_jfs_inode): New fields atime, ctime and mtime.
11127 (grub_jfs_dir): Set mtime.
11128 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
11129 * grub-core/fs/ntfs.c (list_file): Set mtime.
11130 (grub_ntfs_dir): Likewise.
11131 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
11132 (grub_reiserfs_iterate_dir): Set mtime.
11133 (grub_reiserfs_dir): Likewise.
11134 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
11135 (grub_fshelp_node): Likewise.
11136 (grub_sfs_iterate_dir): Set mtime.
11137 (grub_sfs_dir): Likewise.
11138 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
11139 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
11140 (grub_xfs_inode): New fields atime, mtime, ctime.
11141 (grub_xfs_dir): Set mtime.
11142 * include/grub/datetime.h (grub_datetime2unixtime): New function.
11143 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
11144 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
11145
11146 Support UDF symlinks.
11147
11148 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
11149 (grub_ufs_read_symlink): New function. All users updated.
11150
11151 Check amiga partmap checksum.
11152
11153 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
11154 (grub_amiga_partition): Likewise.
11155 (amiga_partition_map_checksum): New function.
11156 (amiga_partition_map_iterate): Check checksum.
11157
11158 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11159
11160 ROMFS support.
11161
11162 * Makefile.util.def (libgrubmods.a): Add romfs.
11163 * grub-core/Makefile.core.def (romfs): New module.
11164 * grub-core/fs/romfs.c: New file.
11165
11166 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11167
11168 Squashfs v4 support.
11169
11170 * Makefile.util.def (libgrubmods.a): Add squash4.
11171 * grub-core/Makefile.core.def (squash4): New module.
11172 * grub-core/fs/squash4.c: New file.
11173 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
11174 disk_input_start, disk_input.
11175 (get_byte): Handle disk_input.
11176 (grub_zlib_disk_read): New function.
11177 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
11178
11179 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11180 2011-05-15 Feiran Zheng <famcool@gmail.com>
11181
11182 * Makefile.util.def (libgrubmods.a): Add minix3.
11183 * grub-core/Makefile.core.def (minix3): New module.
11184 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
11185 (GRUB_MINIX_BSIZE): Removed.
11186 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
11187 (grub_minix_ino_t): New type.
11188 (grub_minix_le_to_cpu_ino): New macro.
11189 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
11190 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
11191 (grub_minix_data): New field block_size.
11192 (grub_minix_read_file): Handle 64-bit correctly.
11193 * grub-core/fs/minix3.c: New file.
11194
11195 2011-05-15 Tristan Gingold <gingold@free.fr>
11196 2011-05-15 Robert Millan <rmh.grub@aybabtu.com>
11197 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11198
11199 IA64 support.
11200
11201 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
11202 * configure.ac: Add ia64-efi target.
11203 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
11204 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
11205 * gentpl.py: Add ia64_efi platform.
11206 Rename x86_efi to efi and Add ia64-efi. All users updated.
11207 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
11208 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
11209 Remove kern/generic/rtc_get_time_ms.c on EFI.
11210 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
11211 kern/ia64/dl_helper.c on ia64-efi.
11212 Add kern/emu/cache.c on emu.
11213 (linux): Use on loader/ia64/efi/linux.c on ia64.
11214 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
11215 whether symbol is a function.
11216 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
11217 (grub_symbol): New field 'isfunc'.
11218 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
11219 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
11220 (grub_dl_load_segments): Place all sections into the same region.
11221 [__ia64__]: Create trampolines and got.
11222 [GRUB_MACHINE_EMU]: Call mprotect.
11223 (grub_dl_resolve_symbols): Resolve symbol type as well.
11224 [__ia64__]: Create function descriptors.
11225 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
11226 (grub_rtc_get_time_ms): ... this. Expressions simplified.
11227 (grub_get_rtc): New function.
11228 * grub-core/kern/emu/cache.c [__ia64__]: New file.
11229 * grub-core/kern/emu/cache.S: Renamed to ...
11230 * grub-core/kern/emu/cache_s.S: ... this.
11231 [__ia64__]: Add a nop.
11232 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
11233 [__ia64__]: New function.
11234 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
11235 * grub-core/kern/ia64/dl.c: New file.
11236 * grub-core/kern/ia64/dl_helper.c: Likewise.
11237 * grub-core/kern/ia64/efi/init.c: New file.
11238 * grub-core/kern/ia64/efi/startup.S: Likewise.
11239 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
11240 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
11241 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
11242 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
11243 * grub-core/loader/ia64/efi/linux.c: New file.
11244 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
11245 (GRUB_MOD_DEP): Likewise.
11246 (grub_dl) [__ia64__]: New fields got and tramp.
11247 (grub_dl): New field 'base'.
11248 (grub_dl_register_symbol): New argument isfunc. All users updated.
11249 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
11250 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
11251 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
11252 (grub_ia64_dl_get_tramp_got_size): New proto.
11253 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
11254 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
11255 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
11256 * include/grub/efi/api.h: Skip call wrappers on ia64.
11257 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
11258 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
11259 * include/grub/elf.h (ELF_ST_INFO): New definition.
11260 * include/grub/ia64/efi/kernel.h: New file.
11261 * include/grub/ia64/efi/memory.h: Likewise.
11262 * include/grub/ia64/efi/time.h: Likewise.
11263 * include/grub/ia64/kernel.h: Likewise.
11264 * include/grub/ia64/setjmp.h: Likewise (from glibc).
11265 * include/grub/ia64/time.h: New file.
11266 * include/grub/ia64/types.h: Likewise.
11267 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
11268 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
11269 New protos.
11270 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
11271 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
11272 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
11273 * util/grub-mkimage.c (image_target_desc): New field pe_target.
11274 All users updated.
11275 (EFI64_HEADER_SIZE): New definition. All users updated.
11276 (image_targets): Add ia64-efi.
11277 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
11278 jumpers_addr. All users updated.
11279 Create function descriptors.
11280 (count_funcs): New function.
11281 (unaligned_uint32): New struct.
11282 (MASK20): New definition.
11283 (MASK19): Likewise.
11284 (MASKF21): Likewise.
11285 (add_value_to_slot_20b): New function.
11286 (add_value_to_slot_21_real): Likewise.
11287 (add_value_to_slot_21): Likewise.
11288 (ia64_kernel_trampoline): New struct.
11289 (nopm): New variable.
11290 (jump): Likewise.
11291 (make_trampoline): New function.
11292 (relocate_addresses): Handle ia64.
11293 (make_reloc_section): Likewise.
11294 (load_image): Likewise.
11295
11296 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11297
11298 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
11299 warning. Move variables before code while on it.
11300
11301 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11302
11303 Fuloong support.
11304
11305 * configure.ac: Rename yeeloong platform to loongson. All users updated.
11306 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
11307 * grub-core/boot/mips/loongson/fuloong.S: New file.
11308 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
11309 Explicitly init CS5536.
11310 [FULOONG]: Don't use serial until CS5536 is available.
11311 Set GPIO based on dumps.
11312 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
11313 [FULOONG]: Handle GPIO and memory controller differences.
11314 Parse machine type in $a2.
11315 * grub-core/boot/mips/startup_raw.S: Determine and save the
11316 architecture.
11317 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
11318 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
11319 init on architecture type.
11320 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
11321 SIS315E. Don't init at_keyboard on fuloong.
11322 (grub_halt): Support Fuloong.
11323 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
11324 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
11325 (loongson_machtypes): New array.
11326 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
11327 type.
11328 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
11329 config. All users updated. Handle CS5536 serial.
11330 * grub-core/term/serial.c (grub_serial_register): Conditionalise
11331 default port on machine type. Register serial as inactive.
11332 * grub-core/video/sis315pro.c: New file.
11333 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
11334 definition.
11335 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
11336 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
11337 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
11338 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
11339 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
11340 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
11341 to ...
11342 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
11343 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
11344 definition.
11345 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
11346 (grub_arch_machine): New extern var.
11347 * include/grub/mips/loongson/serial.h
11348 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
11349 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
11350 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
11351 (GRUB_MACHINE_SERIAL_PORT0): ... this.
11352 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
11353 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
11354 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
11355 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
11356 * include/grub/term.h (grub_term_register_input_inactive): New inline
11357 function.
11358 (grub_term_register_output_inactive): Likewise.
11359 * include/grub/video.h (grub_video_driver_id): New value
11360 GRUB_VIDEO_DRIVER_SIS315PRO.
11361 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
11362 New field "names". All users updated.
11363 New field value IMAGE_FULOONG_FLASH.
11364 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
11365
11366 2011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
11367
11368 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
11369 and add some clarification.
11370
11371 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11372
11373 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
11374 platforms if kernel is compressed.
11375
11376 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11377
11378 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
11379 unused modules since currently referrence counter isn't reliable and
11380 there isn't much memory to recover there anyway.
11381
11382 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11383
11384 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
11385 rather than resetting it to allow modules to reference themselves
11386 in init.
11387
11388 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11389
11390 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
11391 counter on dependencies since grub_dl_unref already handles this.
11392
11393 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11394
11395 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
11396 on error if not already done.
11397
11398 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11399
11400 Fix few potential memory misusage.
11401
11402 * grub-core/font/font.c (load_font_index): Don't free char_index to
11403 avoid double free.
11404 (grub_font_load): Zero-fill font at alloc for safety.
11405 Close file on error.
11406 (free_font): Free bmp_idx.
11407
11408 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11409
11410 * docs/grub.texi (Installation): Fix several outdated claims.
11411
11412 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11413
11414 Handle module_license on windows.
11415
11416 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
11417 sections shifted.
11418 (insert_string): Make argument const char * instead of char *.
11419 (write_section_data): Handle long section names.
11420 Handle module_license.
11421
11422 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11423
11424 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
11425 handle class-free menuentries.
11426 (grub_normal_add_menu_entry): Add a check to be sure.
11427
11428 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11429
11430 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
11431 PgUp and PgDown.
11432
11433 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11434
11435 * configure.ac: Bump version to 1.99.
11436
11437 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11438
11439 Give ATA device a bit more time on first try in order to allow disks
11440 to spin up.
11441
11442 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
11443 if dev->present is 1. Reset dev->present on failure.
11444 (grub_ata_device_initialize): Set dev->present to 1.
11445 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
11446 (grub_ata_device): New member 'present'.
11447
11448 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11449
11450 * util/grub-mkimage.c (generate_image): Update hash.
11451
11452 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11453
11454 Flush caches on DMA memory.
11455
11456 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
11457 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
11458 (grub_dma_free): Likewise.
11459 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
11460
11461 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11462
11463 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
11464 to avoid asm treating ld and sd as macros.
11465
11466 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11467
11468 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
11469 decompressor.
11470
11471 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11472
11473 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
11474 grub_decompress_core since later would fail if grub_decompress_core
11475 is too far.
11476
11477 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11478
11479 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
11480 R_MIPS_JALR since it's used by newer compiler.
11481
11482 2011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
11483
11484 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
11485
11486 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11487
11488 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
11489 file_path to 0 for surety.
11490 (grub_chainloader_boot): Set exit_data to NULL.
11491 Unset the loader once done.
11492 (grub_cmd_chainloader): Fix confusing error message if file is empty.
11493
11494 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11495
11496 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
11497 unknown key into a dprintf.
11498
11499 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11500
11501 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
11502 on first non-existant partition.
11503
11504 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11505
11506 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
11507 openning fails.
11508 Reported by: Mark Korenberg.
11509
11510 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11511
11512 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
11513 overflow.
11514
11515 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11516
11517 * util/grub-mkimage.c (main): Explicitely flush and sync the output
11518 before closing to ensure that it will be readable by grub-setup.
11519
11520 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11521
11522 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
11523 (devpath_1): Use MAKE_PIWG_PATH.
11524 (devpath_2): Likewise.
11525 (devpath_3): Likewise.
11526 (devpath_4): Likewise.
11527 (devpath_5): Likewise.
11528 (devpath_6): Likewise.
11529
11530 The appleldr.mod was checked that to be binary identical to previous
11531 version.
11532
11533 2011-05-05 Zach <mikezackles>
11534
11535 Support 2010 Macbooks.
11536
11537 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
11538 (devs): Add devpath_6.
11539
11540 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11541
11542 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
11543 /dev/random. /dev/urandom is good enough for our purposes (salting).
11544
11545 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11546
11547 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
11548
11549 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11550
11551 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
11552 hexadecimal.
11553
11554 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11555
11556 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
11557 and not 0 on failure.
11558
11559 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
11560
11561 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
11562 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
11563 disk; otherwise grub_fs_probe will not fall back to the next
11564 filesystem.
11565 (grub_pxefs_open): Likewise, for consistency.
11566 Reported and tested by: Ezekiel Grave.
11567
11568 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
11569
11570 * tests/partmap_test.in: Don't hardcode path to parted.
11571 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
11572
11573 2011-05-01 Colin Watson <cjwatson@ubuntu.com>
11574
11575 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
11576 of `ls' to find out which devices are available.
11577
11578 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11579
11580 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
11581 than source address for efi mmap buffer.
11582
11583 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11584
11585 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
11586 wrong action on non-detecting the magic.
11587
11588 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11589
11590 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
11591 already supplied by another part of the module (fixes compilation on
11592 FreeBSD).
11593
11594 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11595
11596 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
11597 match the one used by mdadm.
11598
11599 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
11600
11601 * po/README: Add instructions for creating po/LINGUAS.
11602
11603 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
11604
11605 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
11606 #551428.
11607
11608 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
11609 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
11610 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
11611 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
11612 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
11613 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
11614 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
11615 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
11616 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
11617 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
11618 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
11619 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
11620 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
11621 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
11622 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
11623 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
11624 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
11625 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
11626 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
11627 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
11628 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
11629 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
11630
11631 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
11632
11633 * grub-core/kern/emu/getroot.c
11634 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
11635 test that was incorrectly reintroduced in r3214.
11636 Reported by: Ian Dall. Fixes Savannah bug #33133.
11637
11638 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
11639
11640 Fix stack pointer handling in 16-bit relocator.
11641
11642 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
11643 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
11644 Fixes Ubuntu bug #683904.
11645
11646 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
11647
11648 * configure.ac: Bump version to 1.99~rc2.
11649
11650 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
11651
11652 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
11653 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
11654 * grub-core/lib/x86_64/setjmp.S: Likewise.
11655 * grub-core/lib/mips/setjmp.S: Likewise.
11656 * grub-core/lib/powerpc/setjmp.S: Likewise.
11657 * grub-core/lib/sparc64/setjmp.S: Likewise.
11658
11659 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
11660
11661 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
11662 * grub-core/lib/efi/datetime.c: Likewise.
11663
11664 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11665
11666 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
11667 New function.
11668 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
11669 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
11670 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
11671
11672 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11673
11674 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
11675 bitmap.
11676 (grub_gfxterm_term_init): Likewise.
11677
11678 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11679
11680 Take into account the decorations the computing menu entry width.
11681
11682 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
11683 (grub_gfxmenu_create_box): Register get_border_width.
11684 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
11685 if available.
11686 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
11687 get_border_width.
11688
11689 2011-04-18 Endres Puschner <code@e7p.de>
11690
11691 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
11692 Don't skip first class.
11693
11694 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11695
11696 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
11697 chunks.
11698 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
11699
11700 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11701
11702 Complete 64-bit division support.
11703
11704 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
11705 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
11706 * include/grub/misc.h (grub_divmod64): Rename to ...
11707 (grub_divmod64_full): ... this.
11708 (grub_divmod64): New inline function.
11709
11710 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11711
11712 * util/grub-mkimage.c (generate_image): Add forgotten comma.
11713
11714 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11715
11716 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
11717 performing the necessary test.
11718
11719 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
11720
11721 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
11722 (kfreebsd.elf): Likewise.
11723 (pc-chainloader.elf): Likewise.
11724 (ntldr.elf): Likewise.
11725
11726 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
11727
11728 Identify RAID by its UUID rather than (guessed) name.
11729
11730 * grub-core/disk/raid.c (ascii2hex): New function.
11731 (grub_raid_open): Accept mduuid/%s specification.
11732 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
11733 (get_mdadm_uuid): ... this.
11734 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
11735
11736 2011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
11737
11738 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
11739 to negative size.
11740
11741 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
11742
11743 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
11744 btrfs subvolume.
11745 * util/grub.d/20_linux_xen.in: Likewise.
11746
11747 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
11748
11749 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
11750 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
11751
11752 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
11753 Build a list of relevant visible mounts using the mnt_id and
11754 parent_mnt_id fields, and then scan that list at the end.
11755
11756 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
11757
11758 * docs/grub.texi (normal): New section.
11759 (normal_exit): New section.
11760 (Embedded configuration): Add reference to normal.
11761 (GRUB only offers a rescue shell): Likewise.
11762 * docs/grub-dev.texi (Error Handling): Fix typo.
11763
11764 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
11765
11766 * NEWS: Drop obsolete entry about probe-only btrfs support.
11767
11768 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
11769
11770 * util/import_gcry.py: Fix typo.
11771
11772 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11773
11774 * NEWS: Add btrfs support.
11775
11776 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11777 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
11778
11779 BtrFS support. Written by me (Vladimir) with important bugfixes and
11780 even more important testing by Colin.
11781
11782 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
11783 * grub-core/Makefile.core.def (btrfs): Add crc.c.
11784 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
11785 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
11786 mem_input_off and mem_input. All users updated to accept in-RAM input.
11787 (gzio_seek): New function.
11788 (test_zlib_header): Likewise.
11789 (grub_gzio_read): Likewise.
11790 (grub_zlib_decompress): Likewise.
11791 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
11792 Accept partial and non-virtual mounts.
11793 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
11794 avoid receiving /dev/dm-X as device.
11795 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
11796 Handle bind and partial mounts.
11797 * grub-core/lib/crc.c: New file.
11798 * include/grub/deflate.h: Likewise.
11799 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
11800 proto.
11801 * include/grub/lib/crc.h: New file.
11802
11803 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11804
11805 Implement automatic module license checking according to new GNU
11806 guidelines.
11807
11808 * grub-core/kern/dl.c (grub_dl_check_license): New function.
11809 (grub_dl_load_core): Use grub_dl_check_license.
11810 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
11811 (GRUB_MOD_LICENSE): Likewise.
11812 (GRUB_MOD_DUAL_LICENSE): Likewise.
11813 All modules updated.
11814
11815 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
11816
11817 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
11818 reserved_first_sector to 1. btrfs reserves plenty of space for boot
11819 loaders.
11820 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
11821
11822 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11823
11824 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
11825
11826 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11827
11828 * util/grub-fstest.c (read_file): Report GRUB error if file opening
11829 failed.
11830
11831 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11832
11833 * grub-core/kern/file.c (grub_file_open): Don't take into account the
11834 parenthesis in the middle of the filename.
11835
11836 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11837
11838 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
11839 rather than trying to put initrd way too high.
11840 Reported by: Ryan Lortie <desrt@desrt.ca>
11841
11842 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11843
11844 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
11845 improperly removed string.
11846
11847 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11848
11849 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
11850 is_disk.
11851 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
11852 (open_device) Likewise.
11853 (grub_util_biosdisk_close): Likewise.
11854 Reported by: Mark Korenberg.
11855
11856 2011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
11857
11858 * util/grub-mkconfig_lib.in: Add missing quotes.
11859
11860 2011-04-10 Colin Watson <cjwatson@ubuntu.com>
11861
11862 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
11863 is NULL.
11864
11865 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11866
11867 Dynamically count the number of lines for the lower banner.
11868
11869 * grub-core/normal/menu_entry.c (per_term_screen): New member
11870 num_entries.
11871 (print_down): Use num_entries.
11872 (update_screen): Likewise.
11873 (grub_menu_entry_run): Set num_entries.
11874 * grub-core/normal/menu_text.c (menu_viewer_data): New member
11875 num_entries.
11876 (grub_print_message_indented): Move real part to ...
11877 (grub_print_message_indented_real): ... here. Additional argument
11878 dry_run.
11879 (draw_border): Additional argument num_entries.
11880 (print_message): Additional argument dry_run.
11881 (print_entries): Receive menu viewer data.
11882 (grub_menu_init_page): New argment num_entries.
11883 (menu_text_set_chosen_entry): Use num_entries.
11884 (grub_menu_try_text): Likewise.
11885 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
11886 All users updated.
11887 (grub_ucs4_count_lines): New function.
11888 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
11889 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
11890 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
11891 (grub_term_border_height): Likewise.
11892 (grub_term_num_entries): Likewise.
11893
11894 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11895
11896 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
11897 Remove now unused string.
11898
11899 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
11900
11901 * docs/grub-dev.texi (Finding your way around): Update for 1.99
11902 build system.
11903 (Getting started): GRUB is developed in Bazaar now, not Subversion.
11904
11905 (Comment): Fix typo.
11906 (Getting started): General copy-editing.
11907 (Typical Development Experience): Likewise.
11908 (Error Handling): Likewise.
11909 (Video API): Likewise.
11910
11911 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
11912
11913 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
11914 throughout.
11915
11916 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11917
11918 * util/grub-mkimage.c (main): Handle special naming of yeeloong
11919 directory.
11920
11921 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
11922
11923 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
11924 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
11925 "development".
11926
11927 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11928
11929 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
11930 grub_strcpy since the lines aren't necessarily 0-terminated.
11931
11932 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11933
11934 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
11935 root on legacy.
11936
11937 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11938
11939 * grub-core/commands/probe.c (options): Argument to set isn't optional.
11940 (GRUB_MOD_INIT): DEVICE isn't optional.
11941
11942 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11943
11944 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
11945 word on new line if it's too long anyway. Fixes a hang.
11946
11947 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11948
11949 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
11950 const.
11951 * util/grub-setup.c (main): Reuse md device name if available.
11952 * util/raid.c (grub_util_raid_getmembers): Receive device name and
11953 not GRUB name as argument.
11954 Based on patch by: Florian Wagner <fwagner>.
11955
11956 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11957
11958 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
11959 Place mbi on low memory for better compatibility.
11960
11961 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11962
11963 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
11964
11965 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11966 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
11967
11968 * autogen.sh: Ensure that collate and ctype locale is C.
11969 * conf/Makefile.common: Likewise.
11970
11971 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11972
11973 * grub-core/normal/menu.c: Add missing include.
11974
11975 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11976
11977 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
11978
11979 2011-04-08 Martin Zuther <mzuther@mzuther.de>
11980
11981 * util/grub-mkconfig.in: Ignore emacsen backup.
11982
11983 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11984
11985 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
11986 on open.
11987 (grub_util_biosdisk_close): Likewise.
11988
11989 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11990
11991 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
11992 const attribute and use grub_isdigit.
11993
11994 2011-04-06 Andrey <dev_null@ukr.net>
11995
11996 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
11997 gcc warning.
11998
11999 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12000
12001 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
12002 useful grub_dprintf's.
12003
12004 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12005
12006 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
12007
12008 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12009
12010 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
12011
12012 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12013
12014 Output errors if theme loading failed.
12015
12016 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
12017 grub_gfxterm_fullscreen on error paths to ...
12018 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
12019 theme loading error.
12020
12021 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12022
12023 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
12024 space for older compilers.
12025 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
12026
12027 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12028
12029 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
12030 and report them as not RAID members since they are useless for GRUB.
12031 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
12032
12033 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12034
12035 Increase LVM implementation robustness in order not to crash on
12036 configurations like pvmove. Previously code assumed that in some places
12037 only lvs or only pvs are used whereas it seems that they are used
12038 interchangeably.
12039
12040 * grub-core/disk/lvm.c (read_node): New function.
12041 (read_lv): Use read_node.
12042 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
12043 Match volumes only at the end when all lvs are found. Take both
12044 pvs (first) and lvs (second) into account.
12045 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
12046 mirror_* into node_*. All users updated.
12047 (grub_lvm_stripe): Merge this ...
12048 (grub_lvm_mirror): ... and this ...
12049 (grub_lvm_node): ... into this. All users updated.
12050
12051 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12052
12053 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
12054 of function to allow further scanning for LVMs.
12055
12056 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12057
12058 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
12059 on failed seek as it breaks open fd reusage.
12060
12061 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12062
12063 * util/grub-install.in: Add a recommendation to use --recheck before
12064 reporting bugs.
12065
12066 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12067
12068 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
12069 are obtained.
12070
12071 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12072
12073 GRUB developper manual based on existing Internals section and
12074 contributions by the various authors with active copyright assignment.
12075
12076 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
12077 * docs/font_char_metrics.png: New file.
12078 * docs/font_char_metrics.txt: Likewise.
12079 * docs/grub-dev.texi: Likewise.
12080 * docs/grub.texi (Internals): Move from here ...
12081 * docs/grub-dev.texi: ... here.
12082
12083 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
12084
12085 Store the loopback device as data on loopback grub_disk structures,
12086 rather than the file it points to. This fixes use of freed memory
12087 if an existing loopback device is replaced.
12088
12089 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
12090 disk->data, not dev->file.
12091 (grub_loopback_read): Adjust file assignment to match.
12092 Fixes Ubuntu bug #742967.
12093
12094 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
12095
12096 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
12097 when replacing an existing device.
12098
12099 2011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
12100
12101 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
12102 memory corruptions.
12103
12104 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
12105 unsigned.
12106 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
12107 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
12108 (grub_jfs_read_inode): Likewise.
12109 (grub_jfs_opendir): Likewise. Remove now useless casts.
12110 (grub_jfs_getent): Likewise.
12111 Make ino a grub_uint32_t rather than int.
12112 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
12113 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
12114 division and module with bit operations.
12115 (grub_jfs_find_file): Make ino a grub_uint32_t.
12116 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
12117
12118 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
12119
12120 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
12121 warning. (This was in fact always initialised before use, but GCC
12122 wasn't smart enough to prove that.)
12123 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
12124
12125 2011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
12126
12127 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
12128 stack alignment.
12129 (efi_wrap_1): Likewise.
12130 (efi_wrap_2): Likewise.
12131 (efi_wrap_3): Likewise.
12132 (efi_wrap_4): Likewise.
12133 (efi_wrap_5): Likewise.
12134 (efi_wrap_6): Likewise.
12135 (efi_wrap_10): Likewise.
12136 Based on information by: Red Hat/Peter Jones.
12137
12138 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
12139
12140 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
12141 set-but-not-used variable.
12142
12143 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
12144
12145 * docs/grub.texi (Simple configuration): Be more explicit about
12146 GRUB_DEFAULT, and add an example.
12147 Reported by: Leslie Rhorer.
12148
12149 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
12150
12151 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
12152 shell".
12153
12154 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
12155
12156 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
12157 * util/grub.d/20_linux_xen.in: Likewise.
12158
12159 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12160
12161 * util/grub.d/10_linux.in: Try alternative config filenames where
12162 we parse config file.
12163 * util/grub.d/20_linux_xen.in: Likewise.
12164
12165 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
12166
12167 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
12168 * util/grub.d/20_linux_xen.in: Likewise.
12169
12170 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12171
12172 * grub-core/disk/raid.c (insert_array): Add few potentially
12173 useful grub_util_info.
12174 (grub_raid_register): Likewise.
12175
12176 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12177
12178 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
12179 Preserve partition number in mdadm code path.
12180
12181 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12182
12183 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
12184 few potentially useful grub_util_info.
12185
12186 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12187
12188 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
12189
12190 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
12191
12192 * docs/grub.texi (default): Use @example rather than nested
12193 itemized lists to avoid breaking gendocs.
12194
12195 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
12196
12197 * docs/grub.texi (Future): Update.
12198
12199 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
12200
12201 * docs/grub.texi (Environment): New chapter.
12202 (Changes from GRUB Legacy): Link to "Environment block" section for
12203 details of limitations.
12204 (Simple configuration): Likewise. Link to documentation of gfxmode
12205 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
12206 respectively.
12207 (Shell-like scripting): Note that normal variables are stored in the
12208 environment.
12209 (gettext): Link to documentation of lang and locale_dir.
12210 (list_env): New section.
12211 (load_env): New section.
12212 (save_env): New section.
12213
12214 (Reporting bugs): Fix typo.
12215
12216 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12217
12218 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
12219 the example.
12220
12221 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12222
12223 * grub-core/term/at_keyboard.c (set_scancodes)
12224 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
12225
12226 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
12227
12228 * docs/grub.texi (Menu-specific commands): Remove some semantics
12229 that were true in GRUB Legacy but not in GRUB 2.
12230 (submenu): New section.
12231 (false): New section.
12232 (read): New section.
12233 (true): New section.
12234
12235 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
12236
12237 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
12238
12239 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
12240
12241 * docs/grub.texi (Simple configuration): Explain some of the
12242 current limitations of grub-mkconfig.
12243 Reported by: Leslie Rhorer.
12244
12245 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12246
12247 Old macs search for boot.efi rather than for bootia32.efi.
12248
12249 * util/grub-install.in: Copy bootia32.efi to boot.efi.
12250 * util/grub-mkrescue.in: Likewise.
12251 Suggested by: Peter Jones.
12252
12253 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12254
12255 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
12256
12257 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12258
12259 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
12260 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
12261 (grub_lvm_mirror): New struct.
12262 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
12263 (grub_lvm_iterate): Iterate only visible volumes.
12264 (grub_lvm_read): Factor out to ..
12265 (read_lv): ... this. Support mirrors.
12266 (grub_lvm_read): New wrapper function.
12267 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
12268 stripped or mirrored.
12269
12270 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12271
12272 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
12273
12274 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
12275
12276 * docs/grub.texi (loopback): New section.
12277
12278 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
12279
12280 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
12281 removed -p option.
12282
12283 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
12284
12285 * docs/grub.texi (BIOS installation): New section, partly based on
12286 previous text in other sections.
12287 (Installing GRUB using grub-install): Replace BIOS discussion with a
12288 cross-reference.
12289 (Images): Likewise.
12290
12291 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12292
12293 * grub-core/kern/emu/hostdisk.c (find_partition_start)
12294 [HAVE_DIOCGDINFO]: Add safety checks.
12295
12296 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12297
12298 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
12299 per default compiled in kernel and prior to 8.0 isn't shipped at all.
12300
12301 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
12302
12303 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
12304 real_sb->size is zero (e.g. RAID-0), get the disk size from
12305 real_sb->data_size instead.
12306 Fixes Ubuntu bug #743136.
12307
12308 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12309
12310 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
12311 printf clauses for printing size and start.
12312
12313 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12314
12315 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
12316 Reported and tested by: Timothy Nikkel.
12317
12318 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12319
12320 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
12321 (dirty_region_add_real): ... this.
12322 (dirty_region_add): Don't discard margin refresh when performing
12323 scheduled repaint.
12324
12325 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12326
12327 * grub-core/lib/relocator.c (allocate_regstart)
12328 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
12329 terminals are capabple of malloc-free operation.
12330 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
12331 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
12332
12333 2011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
12334
12335 * util/grub-setup.c: Copy the partition table zone if floppy support
12336 is disabled, even if no partition table is found.
12337
12338 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
12339 during POST if an invalid partition table is contained in the PBR
12340 of the active partition when GRUB is installed to a partition.
12341
12342 2011-03-28 Colin Watson <cjwatson@debian.org>
12343
12344 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
12345 comment.
12346
12347 2011-03-28 Colin Watson <cjwatson@debian.org>
12348
12349 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
12350 to be specific about what kind of RAID device we're scanning for.
12351
12352 2011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
12353
12354 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
12355 return freed string.
12356
12357 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12358
12359 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
12360
12361 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12362
12363 Use libgeom on FreeBSD to detect partitions.
12364
12365 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
12366 (grub-mkrelpath): Likewise.
12367 (grub-script-check): Likewise.
12368 (grub-editenv): Likewise.
12369 (grub-mkpasswd-pbkdf2): Likewise.
12370 (grub-fstest): Likewise.
12371 (grub-mkfont): Likewise.
12372 (grub-mkdevicemap): Likewise.
12373 (grub-probe): Likewise.
12374 (grub-setup): Likewise.
12375 (grub-ofpathname): Likewise.
12376 (grub-mklayout): Likewise.
12377 (example_unit_test): Likewise.
12378 (grub-menulst2cfg): Likewise.
12379 * grub-core/Makefile.core.def (grub-emu): Likewise.
12380 (grub-emu-lite): Likewise.
12381 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
12382 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
12383 define HAVE_DIOCGDINFO.
12384 (follow_geom_up) [FreeBSD]: New function.
12385 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
12386 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
12387 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
12388 unconditionally of HAVE_DIOCGDINFO.
12389
12390 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12391
12392 Fix FreeBSD compilation problem.
12393
12394 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
12395 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
12396
12397 2011-03-24 Colin Watson <cjwatson@ubuntu.com>
12398
12399 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
12400 Switch back to page zero before loading a kernel, since some kernel
12401 drivers expect that.
12402 Thanks to: Felix Kuehling.
12403
12404 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12405
12406 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
12407 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
12408 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
12409
12410 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12411
12412 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
12413 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
12414
12415 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12416
12417 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
12418 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
12419 malloc is disabled.
12420
12421 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12422
12423 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
12424 for modules headers when counting the needed allocation size.
12425
12426 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12427
12428 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
12429 if no ASCII character is found to prevent crash.
12430
12431 2011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
12432
12433 * grub-core/video/bitmap.c (match_extension): Ignore case.
12434
12435 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12436
12437 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
12438
12439 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12440
12441 * grub-core/script/parser.y: Declare "time" as valid argument.
12442
12443 2011-03-23 Peter Jones <pjones@redhat.com>
12444
12445 Fix incorrect assert failure reporting.
12446
12447 * grub-core/tests/example_functional_test.c (example_test): Add
12448 a failure comment.
12449 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
12450 (failure_start): ...this. Check that malloc succeeded.
12451 Don't call xvasprintf. Return failure struct.
12452 (failure_append_vtext): New function.
12453 (failure_append_text): Likewise.
12454 (add_failure): Likewise.
12455 (grub_test_assert_helper): Likewise.
12456 * include/grub/test.h (grub_test_assert_helper): New declaration.
12457 (grub_test_assert): Macro rewritten.
12458
12459 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12460
12461 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
12462
12463 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12464
12465 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
12466
12467 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12468
12469 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
12470 into GRUB-style one.
12471
12472 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12473
12474 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
12475 error and not grub_errno.
12476 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
12477
12478 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12479
12480 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
12481 GRUB_USB_SPEED_NONE in case of failure and not the error code.
12482
12483 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12484
12485 * grub-core/efiemu/i386/pc/cfgtables.c
12486 (grub_machine_efiemu_init_tables): Make declaration a prototype.
12487 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
12488 (grub_xnu_unlock): Likewise.
12489 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
12490
12491 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12492
12493 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
12494 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
12495 * grub-core/commands/hashsum.c (aliases): Likewise.
12496 * grub-core/commands/setpci.c (pci_registers): Likewise.
12497 * grub-core/disk/usbms.c (attach_hook): Likewise.
12498 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
12499 (zio_checksum_table): Likewise.
12500 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
12501 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
12502 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
12503 * grub-core/lib/relocator.c (leftovers): Likewise.
12504 (extra_blocks): Likewise.
12505 * grub-core/loader/i386/bsd.c (relocator): Likewise.
12506 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
12507 (modules_last): Likewise.
12508 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
12509 (devices): Likewise.
12510 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
12511 (modules_last): Likewise.
12512 * grub-core/normal/auth.c (users): Likewise.
12513 * grub-core/normal/context.c (initial_menu): Likewise.
12514 (current_menu): Likewise.
12515 * grub-core/normal/crypto.c (crypto_specs): Likewise.
12516 * grub-core/term/serial.c (grub_serial_ports): Likewise.
12517 (grub_serial_terminfo_input_template): Likewise.
12518 (grub_serial_terminfo_output_template): Likewise.
12519 (grub_serial_terminfo_input): Likewise.
12520 (grub_serial_terminfo_output): Likewise.
12521 (registered): Likewise.
12522 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
12523
12524 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12525
12526 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
12527 grub_video_mode_type_t.
12528 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
12529 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
12530 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
12531
12532 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12533
12534 * util/grub-install.in: Correct the x86-64 name as x86_64.
12535
12536 2011-03-11 Colin Watson <cjwatson@ubuntu.com>
12537
12538 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
12539 initial chunk read from the kernel always includes GRUB's multiboot
12540 header, which is now outside the first sector.
12541
12542 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
12543
12544 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
12545 cached mmap_size, so that this works correctly when called multiple
12546 times.
12547 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
12548
12549 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
12550
12551 * docs/grub.texi (Simple configuration): Tidy up formatting.
12552
12553 2011-03-07 Szymon Janc <szymon@janc.net.pl>
12554
12555 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
12556 Set-but-not-used variable removed.
12557
12558 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12559
12560 Workaround yet another IEEE1275 bug.
12561
12562 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
12563 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
12564 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
12565 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
12566 is set.
12567 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
12568 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
12569
12570 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12571
12572 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
12573 error.
12574
12575 2011-02-11 Colin Watson <cjwatson@ubuntu.com>
12576
12577 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
12578 empty, since in that case we can only generate either nothing or a
12579 syntactically invalid configuration file.
12580 Reported by: Michal Suchanek. Fixes Debian bug #612898.
12581
12582 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
12583
12584 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
12585 (Making a GRUB bootable CD-ROM): Likewise.
12586 (Invoking grub-mkrescue): New section.
12587 Reported by: Yann Dirson. Fixes Debian bug #612585.
12588
12589 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
12590
12591 * util/grub-install.in: Remove unnecessary brackets from tr
12592 arguments.
12593 * util/grub.d/10_hurd.in: Likewise.
12594 * util/grub.d/10_kfreebsd.in: Likewise.
12595 * util/grub.d/10_linux.in: Likewise.
12596 * util/grub.d/20_linux_xen.in: Likewise.
12597 Reported by: Jamie Heilman. Fixes Debian bug #612564.
12598
12599 2011-02-08 Colin Watson <cjwatson@ubuntu.com>
12600
12601 * include/grub/file.h (not_easly_seekable): Rename to ...
12602 (not_easily_seekable): ... this. Update all users.
12603
12604 2011-01-28 Colin Watson <cjwatson@ubuntu.com>
12605
12606 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
12607 grub-mkrescue.
12608
12609 2011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12610
12611 * util/grub-mkimage.c (generate_image): Refuse to create the images
12612 bigger than the actual flash (512K) in Loongson machines. 512K is also
12613 the biggest chip supported by them.
12614
12615 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12616
12617 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
12618
12619 2011-01-22 Anthony DeRobertis <anthony@derobert.net>
12620
12621 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
12622 super_offset field.
12623
12624 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12625
12626 * util/grub-install.in: Ignore install device on platforms
12627 where it doesn't make sense. Always use UUIDs except on pc, efi and
12628 sparc64.
12629 Reported by: Daniel Kahn Gillmor.
12630
12631 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12632
12633 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
12634
12635 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12636
12637 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
12638 (iterate_real): Don't rely on partition being non-NULL.
12639
12640 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12641
12642 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
12643 supported platforms. Put a compile time assert for this rather than
12644 generate a warning with 32-bit shift.
12645
12646 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12647
12648 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
12649 logical expression more readable.
12650
12651 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12652
12653 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
12654 even if some elements have a name.
12655 Reported by: Alexander GQ Gerasiov.
12656
12657 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
12658
12659 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
12660 path unreadable if `grub-probe -t abstraction' fails, for example if
12661 memberlist fails on an LVM volume group.
12662 Reported by: Darius Jahandarie.
12663
12664 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
12665
12666 * docs/grub.texi (Simple configuration): Document
12667 GRUB_PRELOAD_MODULES.
12668
12669 2011-01-17 Colin Watson <cjwatson@ubuntu.com>
12670
12671 * .bzrignore: Remove nonexistent grub-pbkdf2.
12672
12673 2011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
12674
12675 * configure.ac: Bump version to 1.99~rc1.
12676
12677 2011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
12678
12679 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
12680 for safety.
12681
12682 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12683
12684 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
12685 module.
12686
12687 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12688
12689 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
12690
12691 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12692
12693 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
12694 diskdevid.
12695
12696 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12697
12698 Fix compilation on cygwin.
12699
12700 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
12701 -R .drectve on cygwin.
12702 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
12703 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
12704 (COND_CYGWIN): New condition.
12705 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
12706 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
12707 not @TARGET_OBJ2ELF@.
12708 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
12709 type to determine whether aux is to be used.
12710
12711 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12712
12713 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
12714 realpath'ed device string.
12715 Handle floppy (somewhat).
12716 Issue error in unknown case rather than garbage.
12717 Reported by: Axel Beckert.
12718
12719 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12720
12721 * util/grub.d/00_header.in (load_video): Handle the case when no video
12722 drivers available.
12723 Thanks to: Axel Beckert.
12724
12725 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12726
12727 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
12728 variable. Fixes problem on big endian platforms.
12729
12730 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12731
12732 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
12733 It doesn't work well there.
12734
12735 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12736
12737 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
12738 warning.
12739 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
12740 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
12741 counter.
12742
12743 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12744
12745 Use alias->path rather than buggy "canon".
12746
12747 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
12748 (ofdisk_hash_add): New argument curcan. All users updated.
12749
12750 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
12751
12752 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
12753
12754 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12755
12756 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
12757 loadmask before doing any calculations. Use correct type for offset.
12758 (grub_linux_load64): Likewise.
12759
12760 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
12761
12762 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
12763 with NULL.
12764 (console_grub_equivalences_unshift): Likewise.
12765 Reported by: Daniel Dehennin.
12766
12767 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12768
12769 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
12770 (set_env_limn_ro): Likewise.
12771 (GRUB_MOD_INIT): Likewise.
12772 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
12773 ARRAY_SIZE while on it.
12774 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
12775 * grub-core/normal/context.c (grub_env_export): Move from here ...
12776 * grub-core/kern/env.c (grub_env_export): ... here.
12777 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
12778 prefix.
12779 * grub-core/kern/main.c (grub_main): Export root and prefix.
12780 * include/grub/env.h (grub_env_export): Export.
12781 Reported by: Seth Goldberg.
12782
12783 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12784
12785 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
12786 Take into account space used by ELF sections and multiboot palette.
12787 Reported by: Grégoire Sutre.
12788
12789 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12790
12791 * BUGS: New file.
12792
12793 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12794
12795 Pass more appropriate video id to Linux.
12796
12797 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
12798 grub_video_get_driver_id and variable gfxpayloadforcelfb to
12799 fill have_vga.
12800 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
12801 shift params->lfb_size.
12802 * include/grub/i386/linux.h: Make an enume out of have_vga values.
12803
12804 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12805
12806 * util/grub-menulst2cfg.c: Add missing include of misc.h.
12807
12808 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12809
12810 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
12811 separator and pass bootpath/devid even if only one of them is available.
12812 Reported by: Seth Goldberg.
12813
12814 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12815
12816 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
12817 implementations bug on them.
12818
12819 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
12820 memory.
12821 (filter_memory_map): Likewise.
12822
12823 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12824
12825 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
12826 Reported by: nebuchadnezzar.
12827
12828 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12829
12830 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
12831 Reported by: nebuchadnezzar.
12832
12833 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12834
12835 Submenu default support.
12836
12837 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
12838 auto_boot. All users updated.
12839 Declared static.
12840 Handle chosen and default with submenus.
12841 (grub_menu_execute_with_fallback): Declared static.
12842 Don't notify failure if autobooted. Upper level does it.
12843 (menuentry_eq): New function.
12844 (get_entry_number): Use menuentry_eq.
12845 (show_menu): New parameter "autobooted". All users updated.
12846 (grub_show_menu): Likewise.
12847 * include/grub/normal.h (grub_show_menu): Likewise.
12848 * include/grub/menu.h (grub_menu_execute_entry): Removed.
12849 (grub_menu_execute_with_fallback): Likewise.
12850
12851 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12852
12853 * util/grub-mklayout.c (usage): Update help text.
12854
12855 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12856
12857 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
12858
12859 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12860
12861 * util/grub-menulst2cfg.c (main): Trim the line.
12862
12863 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12864
12865 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
12866 (grub_machine_init): Don't check amount of low memory as reportedly
12867 INT 12h can be broken and if low memory is too low we wouldn't have
12868 gotten into grub_machine_init anyway.
12869
12870 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12871
12872 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
12873 (grub_machine_mmap_iterate): Take low memory into account
12874
12875 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12876
12877 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
12878 badfs.
12879 Reported by: TiCPU.
12880
12881 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12882
12883 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
12884 members errors.
12885
12886 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
12887
12888 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
12889 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
12890
12891 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
12892
12893 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
12894 openbsd and netbsd types being in part_bsd module.
12895
12896 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12897
12898 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
12899 (_FILE_OFFSET_BITS): Likewise.
12900 Reported by: Seth Goldberg.
12901
12902 2011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
12903
12904 * configure.ac: Check for libdevmapper header.
12905
12906 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12907
12908 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
12909 avoid aliasing.
12910 (fzap_lookup): Likewise.
12911 (dnode_get): Likewise.
12912 (make_mdn): Likewise.
12913 (zfs_mount): Likewise.
12914 (fzap_iterate): Use temporary pointer to avoid aliasing.
12915 (grub_zfs_read): Likewise.
12916 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
12917 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
12918 pointers to avoid aliasing.
12919 (grub_cmd_xnu_kernel64): Likewise.
12920 (grub_xnu_load_driver): Likewise.
12921
12922 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12923
12924 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
12925 aliasing warning.
12926 (grub_cmd_terminal_output): Likewise.
12927 Reported and tested by: Grégoire Sutre.
12928
12929 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12930
12931 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
12932 warning.
12933 Reported and tested by: Grégoire Sutre.
12934
12935 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12936
12937 * configure.ac: Do CPU substitution even if it's specified explicitly.
12938 Reported and tested by: Alain Greppin.
12939
12940 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12941
12942 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
12943 Reported and tested by: Alain Greppin.
12944
12945 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12946
12947 Satisfy some bison versions need for inttypes.h.
12948
12949 * grub-core/lib/posix_wrap/inttypes.h: New file.
12950 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
12951 (int16_t): Likewise.
12952 (int32_t): Likewise.
12953 (int64_t): Likewise.
12954 Reported and tested by: Alain Greppin.
12955
12956 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12957
12958 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
12959 Silence spurious warning.
12960 Reported and tested by: Alain Greppin.
12961
12962 2011-01-07 Szymon Janc <szymon@janc.net.pl>
12963
12964 * docs/grub.texi (Support automatic decompression): Update with xz
12965 decompression support.
12966
12967 2011-01-07 Szymon Janc <szymon@janc.net.pl>
12968
12969 Improve loaders' kernel command line handling.
12970
12971 * grub-core/lib/cmdline.c: New file.
12972 * include/grub/lib/cmdline.h: Likewise.
12973 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
12974 grub_create_loader_cmdline to create kernel command line.
12975 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
12976 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
12977 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
12978 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
12979 (linux): Add lib/cmdline.c on common.
12980
12981 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
12982
12983 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
12984 inopos might be unaligned.
12985
12986 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
12987
12988 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
12989 endian transformations.
12990 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
12991 Based on report by: Doug Nazar.
12992
12993 2011-01-07 Doug Nazar <nazard.michi@gmail.com>
12994
12995 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
12996 array->members[i].start_sector.
12997 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
12998
12999 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
13000
13001 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
13002 Reported and tested by: Grégoire Sutre.
13003
13004 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
13005
13006 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
13007 avoid causing test failures by clearing the screen.
13008
13009 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
13010
13011 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
13012 Fix prefix check to handle the case where dir ends with a slash
13013 (most significantly, "/" itself).
13014 Reported by: Michael Vogt.
13015
13016 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13017
13018 Run terminfo_cls on initing terminfo output to clear the screen and
13019 move the cursor to (0,0).
13020
13021 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
13022 Call grub_terminfo_output_init.
13023 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
13024 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
13025 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
13026
13027 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13028
13029 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
13030 only when needed.
13031
13032 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13033
13034 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
13035 CTRL.
13036
13037 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13038
13039 The E820 type 5 is BADRAM, not EXEC_CODE.
13040
13041 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
13042 (GRUB_E820_BADRAM): New define.
13043 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
13044 into reserved. Propagate BADRAM.
13045 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
13046 (GRUB_E820_BADRAM): New define.
13047
13048 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13049
13050 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
13051 Ignore the memory post-4G.
13052 (grub_relocator_firmware_alloc_region): Additional debug statement.
13053
13054 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13055
13056 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
13057 names.
13058 Reported by: David Pravec.
13059
13060 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13061
13062 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
13063 BIOSes.
13064
13065 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13066
13067 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
13068 Prevent overflow.
13069 (grub_reed_solomon_recover): Likewise.
13070
13071 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13072
13073 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
13074
13075 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13076
13077 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
13078 variable.
13079
13080 2011-01-04 Colin Watson <cjwatson@ubuntu.com>
13081
13082 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
13083 descriptions of extract_legacy_entries_source and
13084 extract_legacy_entries_configfile.
13085 Reported by: Seung Soo, Ha.
13086
13087 2011-01-03 Colin Watson <cjwatson@ubuntu.com>
13088
13089 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
13090 on devices that do not implement function 0.
13091
13092 2011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
13093
13094 * grub-core/fs/hfsplus.c: Make parent unsigned.
13095 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
13096 overflows.
13097 (grub_hfsplus_cmp_extkey): Likewise
13098
13099 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
13100
13101 * util/grub-install.in: Correctly use bootloader_id and not
13102 GRUB_DISTRIBUTOR on efibootmgr line.
13103
13104 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
13105
13106 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
13107
13108 2010-12-31 Ian Campbell <ijc@hellion.org.uk>
13109
13110 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
13111 Xen and reorder menu item wording to make it clearer that this entry
13112 will launch Xen. Print separate messages when loading Xen and
13113 Linux.
13114
13115 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
13116
13117 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
13118 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
13119 loop in case of incorrect amiga partmap.
13120
13121 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
13122
13123 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
13124 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
13125 Reported by:EHeM.
13126
13127 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
13128
13129 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
13130 spurious warning.
13131 Reported by: crocket
13132
13133 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13134
13135 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
13136 Preload EFIemu.
13137 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
13138
13139 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13140
13141 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
13142 is loaded
13143 (grub_cmd_xnu_kextdir): Likewise.
13144 (grub_cmd_xnu_splash): Likewise.
13145
13146 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13147
13148 Avoid using Reed-Solomon with 0 redundancy.
13149
13150 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
13151 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
13152 or 0 redundancy.
13153 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
13154 (grub_reed_solomon_recover): Likewise.
13155
13156 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13157
13158 Don't use disk subsystem in freebsd_boot.
13159
13160 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
13161 (freebsd_biosdev): Likewise.
13162 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
13163 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
13164
13165 2010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
13166
13167 Handling of files of unknown size is currently limited. They can't be
13168 used e.g. for initrd or modules. Moreover gzip handling of not
13169 easily seekable files is buggy. Disable unknown file size for now. May
13170 be inefficient but works.
13171
13172 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
13173 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
13174
13175 2010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
13176
13177 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
13178 floppy probe.
13179
13180 2010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
13181
13182 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
13183
13184 2010-12-25 Shea Levy <shlevy>
13185
13186 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
13187
13188 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13189
13190 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
13191 Windows Server 2008.
13192 Reported by: Devin Giddings.
13193
13194 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13195
13196 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
13197 writing an error message because of async power management.
13198 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
13199 (grub_reboot): Likewise.
13200
13201 2010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
13202
13203 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
13204 keep unit tests from failing when they shouldn't.
13205
13206 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
13207
13208 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
13209 previous patch increased the size of the RS code by 20 bytes (at
13210 least with gcc-4.4), so increase this by 20 bytes to match.
13211 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
13212
13213 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
13214
13215 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
13216 scratch area. Make sure to initialise chosen in standalone mode as
13217 well as non-standalone.
13218 Reported by: Robert Hooker and Andy Whitcroft.
13219 Tested by: Andy Whitcroft.
13220
13221 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
13222
13223 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
13224 constructing a new unescaped string and passing it to grub_xputs in
13225 one go, rather than passing characters to grub_printf one at a time.
13226
13227 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
13228
13229 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
13230 initialising utf16.
13231
13232 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
13233
13234 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
13235 comment. Add an extra layer of quotation, requiring the output of
13236 this function to be used in a printf format string.
13237 (gettext_printf): New function.
13238 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
13239 Extract translatable strings from here-documents and use a temporary
13240 variable instead, so that xgettext can find them.
13241 * util/grub.d/10_kfreebsd.in: Likewise.
13242 * util/grub.d/10_linux.in: Likewise.
13243 * util/grub.d/20_linux_xen.in: Likewise.
13244
13245 * po/grub.d.sed: New file.
13246 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
13247 arguments. Set c-format flags on all strings extracted from
13248 util/grub.d/ (xgettext refuses to include these itself for strings
13249 it extracted from a shell file, but these really are c-format).
13250
13251 2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
13252
13253 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
13254 Avoid next pointing to nowhere.
13255
13256 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
13257
13258 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
13259 rather than assuming than rootblock is exactly in the middle.
13260 (grub_affs_label): Likewise.
13261
13262 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
13263
13264 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
13265 reserved_first_sector to 0.
13266 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
13267 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
13268 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
13269
13270 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
13271
13272 Fix handling of UTF-16 UDF labels.
13273
13274 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
13275 (read_string): .. here.
13276 (grub_udf_label): Use read_string.
13277
13278 2010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
13279
13280 * grub-core/normal/menu_entry.c (run): Execute commands from menu
13281 editor under argument scope.
13282 Reported by: Jordan Uggla
13283
13284 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13285
13286 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
13287
13288 2010-12-18 Colin Watson <cjwatson@ubuntu.com>
13289
13290 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
13291 line, and other keys scroll an entire page (previous handling was
13292 for \r and \n to scroll a page and other keys to scroll two lines).
13293
13294 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13295
13296 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
13297 Set ptrdest to correct get_physical_target_address rather than
13298 incorrect get_virtual_current_address.
13299
13300 2010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
13301
13302 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
13303 correct cat to grub_uint8_t * rather than grub_uint32_t *.
13304
13305 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
13306
13307 * .bzrignore: Ignore grub-core/rs_decoder.S.
13308
13309 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
13310
13311 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
13312 .mo/.mo.gz opening sequence to ...
13313 (grub_mofile_open_lang): ... here.
13314 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
13315 * util/grub.d/00_header.in (grub_lang): Include country part of
13316 locale.
13317 Reported by: Mario Limonciello.
13318
13319 2010-12-09 Robert Millan <rmh@gnu.org>
13320
13321 * NEWS: Document addition of ZFS support.
13322
13323 2010-12-04 Colin Watson <cjwatson@ubuntu.com>
13324
13325 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
13326 rather than `/ 2', as the latter requires -Wa,--divide which would
13327 require bumping our minimum binutils version.
13328
13329 2010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
13330
13331 * util/grub-script-check.c (main): Print script line number on
13332 error.
13333
13334 2010-12-01 Robert Millan <rmh@gnu.org>
13335
13336 * grub-core/fs/zfs/zfs.c: New file.
13337 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
13338 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
13339 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
13340 * grub-core/fs/zfs/zfsinfo.c: Likewise.
13341
13342 * include/grub/zfs/dmu.h: Likewise.
13343 * include/grub/zfs/dmu_objset.h: Likewise.
13344 * include/grub/zfs/dnode.h: Likewise.
13345 * include/grub/zfs/dsl_dataset.h: Likewise.
13346 * include/grub/zfs/dsl_dir.h: Likewise.
13347 * include/grub/zfs/sa_impl.h: Likewise.
13348 * include/grub/zfs/spa.h: Likewise.
13349 * include/grub/zfs/uberblock_impl.h: Likewise.
13350 * include/grub/zfs/vdev_impl.h: Likewise.
13351 * include/grub/zfs/zap_impl.h: Likewise.
13352 * include/grub/zfs/zap_leaf.h: Likewise.
13353 * include/grub/zfs/zfs.h: Likewise.
13354 * include/grub/zfs/zfs_acl.h: Likewise.
13355 * include/grub/zfs/zfs_znode.h: Likewise.
13356 * include/grub/zfs/zil.h: Likewise.
13357 * include/grub/zfs/zio.h: Likewise.
13358 * include/grub/zfs/zio_checksum.h: Likewise.
13359
13360 * Makefile.util.def: Build ZFS into libgrubmods.
13361 * grub-core/Makefile.core.def: Build zfs.mod.
13362
13363 2010-11-30 Szymon Janc <szymon@janc.net.pl>
13364
13365 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
13366 variable.
13367 * grub-core/commands/wildcard.c (match_files): Likewise.
13368
13369 2010-11-30 Robert Millan <rmh@gnu.org>
13370
13371 * grub-core/loader/i386/bsd.c
13372 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
13373 whether kernel is loaded using grub_loader_is_loaded(), rather
13374 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
13375 certain error conditions.
13376
13377 2010-11-30 Robert Millan <rmh@gnu.org>
13378
13379 * grub-core/commands/echo.c: Include `<grub/term.h>'.
13380 (grub_cmd_echo): Call grub_refresh() after printing a message.
13381
13382 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
13383
13384 Avoid using tricks for initialising endian variables.
13385
13386 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
13387 Make const.
13388 (GRUB_MOD_INIT): Don't byte-swap.
13389 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
13390 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
13391 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
13392 (grub_swap_bytes32_compile_time): Likewise.
13393 (grub_cpu_to_le32_compile_time): Likewise.
13394 (grub_cpu_to_le16_compile_time): Likewise.
13395
13396 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
13397
13398 * util/grub-setup.c (setup): Stop recommending --force. People who
13399 understand the dangers of blocklists are able to find this option
13400 anyway and the ones who don't shouldn't use it anyway.
13401
13402 2010-11-26 Robert Millan <rmh@gnu.org>
13403
13404 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
13405 Update all users.
13406
13407 2010-11-26 Colin Watson <cjwatson@ubuntu.com>
13408
13409 Fix LVM-on-RAID probing.
13410
13411 * util/grub-probe.c (probe): Remember which disk was detected as
13412 RAID (perhaps an LVM physical volume). Use that disk's raidname
13413 rather than that of the top-level disk.
13414
13415 2010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
13416
13417 Fix cmdline argument quotes for setparams command of menuentry
13418 definitions.
13419
13420 * grub-core/commands/menuentry.c (setparams_prefix): Use single
13421 quotes for arguments.
13422 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
13423 grub_strchrsub function instead.
13424
13425 * include/grub/misc.h (grub_strchrsub): New function.
13426
13427 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
13428
13429 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
13430 effort by skipping "." and ".." entries up-front.
13431 Suggested by: Michael Lazarev.
13432
13433 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
13434
13435 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
13436 ldflags to ldadd, to fix link line ordering.
13437 (none_decompress): Likewise.
13438
13439 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
13440
13441 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
13442 platforms.
13443 (grub-emu-lite): Remove kern/emu/cache.S.
13444
13445 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
13446
13447 * util/deviceiter.c (compare_devices): If the by-id link for a
13448 device couldn't be resolved, fall back to sorting by the by-id link
13449 rather than segfaulting.
13450 Reported and tested by: Daniel Mierswa.
13451
13452 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
13453
13454 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
13455 ldflags, to fix link line ordering.
13456
13457 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
13458
13459 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
13460 linkers are picky about this.
13461
13462 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
13463
13464 * grub-core/Makefile.am (command.lst): Adjust sed expression
13465 ordering so that extended and priority commands aren't treated as
13466 ordinary commands.
13467
13468 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
13469
13470 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
13471 Remove byte-swapping function calls, which are not valid in
13472 structure initialisers.
13473 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
13474 non-const.
13475 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
13476 grub_gpt_partition_type_bios_boot.
13477
13478 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
13479
13480 Fix test program build on GNU/kFreeBSD.
13481
13482 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
13483 $(LIBNVPAIR)' library dependencies.
13484
13485 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
13486
13487 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
13488
13489 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
13490
13491 * util/grub-install.in: Remove excessive quoting that broke
13492 installations to RAID devices.
13493
13494 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
13495
13496 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
13497 bootloader version instead of 0.
13498
13499 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
13500
13501 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
13502 warning.
13503
13504 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
13505
13506 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
13507 retrieve the metadat sector if size isn't known.
13508 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13509
13510 2010-11-18 Robert Millan <rmh@gnu.org>
13511
13512 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
13513 with grub_memcmp().
13514
13515 2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
13516
13517 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
13518 arrow.
13519 Reported by: Jordan Uggla.
13520
13521 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13522
13523 Make better UTF compliant.
13524
13525 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
13526 sequences as incorrect.
13527 (grub_is_valid_utf8): Likewise.
13528 (grub_utf8_to_ucs4): Likewise.
13529 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
13530 (grub_ucs4_to_utf8_alloc): Likewise.
13531 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
13532
13533 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13534
13535 Make legacy_source behave like source.
13536
13537 * grub-core/commands/legacycfg.c (legacy_file): Don't call
13538 grub_show_menu.
13539 (grub_cmd_legacy_source): Call grub_show_menu if needed.
13540
13541 2010-11-16 Colin Watson <cjwatson@debian.org>
13542
13543 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
13544 (-Wunused implies -Wunused-parameter, but not vice versa).
13545
13546 2010-11-16 Colin Watson <cjwatson@ubuntu.com>
13547
13548 * configure.ac: Make error messages less confusing by testing for
13549 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
13550 accepted, but produces a diagnostic if something else is wrong).
13551
13552 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
13553
13554 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
13555 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
13556 (now unused).
13557 (grub_keyboard_controller_init)
13558 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
13559 read the initial state since controller isn't inited yet.
13560
13561 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
13562
13563 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
13564 allocate_regbeg may need to create new chunk header.
13565
13566 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13567
13568 Fix quoting in legacy parser.
13569
13570 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
13571 single quotes.
13572 (grub_legacy_parse): Likewise.
13573 Reported by: Jordan Uggla.
13574 Tested by: Jordan Uggla.
13575
13576 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13577
13578 Don't add -lgcc on i386 and x86_64.
13579
13580 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
13581 * conf/Makefile.common (LDADD_KERNEL): Likewise.
13582 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
13583
13584 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13585
13586 * configure.ac: Add -Wno-trampolines when supported.
13587
13588 2010-11-14 Modestas Vainius <modax@debian.org>
13589
13590 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
13591 fakeraid.
13592
13593 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
13594
13595 Add generic logical block size support for UDF.
13596
13597 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
13598 (GRUB_UDF_BLKSZ): Removed.
13599 (struct grub_udf_data): New field "lbshift" to hold the logical block
13600 size of the file system in log2 format. All users updated.
13601 (sblocklist): Change type to unsigned.
13602 (grub_udf_mount): Change type of "sblklist" to unsigned.
13603 Move AVDP search before VRS recognition, because the latter requires
13604 knowledge of the logical block size, which is detected during the
13605 former.
13606 Detect and validate logical block size during AVDP search, adding
13607 support for block sizes 512, 1024 and 4096.
13608 Make VRS recognition independent of block size.
13609
13610 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
13611
13612 Properly handle deleted files on UDF.
13613
13614 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
13615 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
13616 set.
13617
13618 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
13619
13620 Support reading files larger than 2 GiB.
13621
13622 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
13623 "offset" to grub_off_t.
13624 (grub_udf_read_file): Likewise for parameter "pos".
13625
13626 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13627
13628 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
13629 unavailable.
13630 (Simple configuration): Refer to Changes from GRUB Legacy about
13631 save_env availability.
13632
13633 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13634
13635 * util/grub-install.in: Ignore empty partition table detection
13636 instead of trying to include part_ module.
13637
13638 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13639
13640 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
13641 LVM on RAID support.
13642
13643 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13644
13645 Properly define WORDS_BIGENDIAN in wrapped environments.
13646
13647 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
13648 definition.
13649 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
13650
13651 Reported by: Manoel Rebelo Abranches.
13652 Tested by: Manoel Rebelo Abranches.
13653
13654 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13655
13656 * util/grub-mkconfig.in: Fix quoting.
13657
13658 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13659
13660 Support big ext2 files.
13661
13662 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
13663 (grub_ext2_read_block): Support triple indirect blocks.
13664 (grub_ext2_read_file): Use 64-bit types and read size_high.
13665 (grub_ext2_open): Read size_high.
13666 Reported by: Ximin Luo.
13667 Tested by: Manoel Rebelo Abranches.
13668
13669 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13670
13671 * util/grub-install.in: Handle filenames containing spaces.
13672 Reported by: Jordan Uggla.
13673 Tested by: Jordan Uggla.
13674
13675 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13676
13677 * util/grub-mkconfig.in (grub_script_check): New variable.
13678 Use grub_script_check instead of grub-script-check.
13679 Reported by: Barry Jackson.
13680
13681 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13682
13683 * docs/grub.texi (menu): Correct the order.
13684 Reported by: D. Hugh Redelmeier.
13685
13686 2010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13687
13688 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
13689 jump.
13690
13691 2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
13692
13693 * include/grub/elfload.h (grub_elf32_size): New parameter.
13694 All users updated.
13695 Return maximum segments alignment.
13696 (grub_elf64_size): Likewise.
13697 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
13698 Return maximum segments alignment.
13699 (grub_elf64_size): Likewise.
13700 * grub-core/loader/powerpc/ieee1275/linux.c:
13701 (grub_linux_claimmap_iterate): New function. Uses the
13702 "available" property in the "memory" node for memory allocation
13703 for kernel in the PowerPC loader.
13704 (grub_linux_load32): Correctly find linux entry point offset.
13705 (grub_linux_load64): Likewise.
13706
13707 2010-11-07 Robert Millan <rmh@gnu.org>
13708
13709 On mips-yeeloong, build with -march=loongson2f when this flag is
13710 available (GCC >= 4.4).
13711 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
13712 `-march=mips3'.
13713 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
13714 or otherwise add -march=mips3.
13715
13716 2010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
13717
13718 Suppress shell expansion on echo '*' and echo "*" like cases.
13719 Reported by: Jordan Uggla.
13720
13721 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
13722 string arguments before shell expansion.
13723 * tests/grub_cmd_echo.in: New testcases.
13724
13725 2010-11-07 Robert Millan <rmh@gnu.org>
13726
13727 * conf/mips-qemu-mips.rmk: Remove stale file from previous
13728 transition.
13729
13730 2010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
13731
13732 * grub-core/kern/emu/hostdisk.c
13733 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
13734
13735 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13736
13737 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
13738 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
13739 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
13740
13741 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13742
13743 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
13744
13745 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13746
13747 * util/grub-install.in: Replace useless recomendation to pass
13748 --modules with a recomendation to report a bug.
13749
13750 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13751
13752 Properly register serial terminfo.
13753 Reported by: Jordan Uggla
13754
13755 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
13756 const.
13757 (grub_serial_terminfo_output_template): Likewise.
13758 (grub_cmd_serial): Register "serial" with terminfo.
13759 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
13760 grub_serial_terminfo_output.
13761
13762 2010-11-05 Robert Millan <rmh@gnu.org>
13763
13764 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
13765 needed).
13766
13767 2010-11-05 Robert Millan <rmh@gnu.org>
13768
13769 On Yeeloong, pass machine type information to Linux.
13770
13771 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
13772 (LOONGSON_MACHTYPE): New macro, set to
13773 "machtype=lemote-yeeloong-2f-8.9inches".
13774 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
13775 additional argument to Linux.
13776
13777 2010-11-04 Robert Millan <rmh@gnu.org>
13778
13779 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
13780 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
13781 (its SATA disks are detected as slaveless IDE master drives on
13782 kFreeBSD).
13783 Reported by Carsten Aulbert.
13784
13785 2010-11-02 Colin Watson <cjwatson@ubuntu.com>
13786
13787 * util/bin2h.c (main): Fix spelling error in generated output.
13788
13789 2010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
13790
13791 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
13792
13793 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13794
13795 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
13796 vga= option is supplied.
13797
13798 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13799
13800 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
13801 * util/grub.d/10_kfreebsd.in: Likewise.
13802 * util/grub.d/10_linux.in: Likewise.
13803 * util/grub.d/20_linux_xen.in: Likewise.
13804
13805 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13806
13807 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
13808 argument as an argument to no-argument option.
13809
13810 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13811
13812 * util/grub.d/10_linux.in: Add missing load_video with explicit
13813 GRUB_GFXPAYLOAD_LINUX.
13814
13815 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13816
13817 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
13818
13819 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13820
13821 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
13822 elements with invlid index.
13823 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13824 * grub-core/disk/raid.c (insert_array): Automatically reallocate
13825 members.
13826 * include/grub/raid.h (grub_raid_member): New struct.
13827 (grub_raid_array): Transform devices and start_sector into usage of
13828 grub_raid_member. All users updated
13829 (allocated_devs): New member.
13830
13831 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13832
13833 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
13834 is modified
13835
13836 2010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
13837
13838 NetBSD build fix for getline function conflict from gnulib.
13839
13840 * Makefile.util.def (libgrubkern.a): New library for grub kernel
13841 components that depend on gnulib headers.
13842 (libgrubmods.a): Renamed from earlier libgrub.a.
13843 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
13844
13845 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13846
13847 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
13848 install rather than creating a broken install.
13849
13850 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13851
13852 * util/grub-setup.c (argp): Remove misleading example of installing to
13853 a partition.
13854
13855 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13856
13857 * util/grub-setup.c (setup): Clarify the error message.
13858
13859 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13860
13861 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
13862
13863 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13864
13865 * grub-core/kern/emu/misc.c
13866 (grub_make_system_path_relative_to_its_root)
13867 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
13868
13869 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13870
13871 * grub-core/kern/emu/misc.c
13872 (grub_make_system_path_relative_to_its_root): Revert r2882.
13873
13874 2010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
13875
13876 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
13877 useless field head. All users updated.
13878 (free_subchunk): Correct handling of IN_REGION subchunk.
13879
13880 2010-10-22 Colin Watson <cjwatson@ubuntu.com>
13881
13882 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
13883 (Supported kernels): Likewise.
13884
13885 2010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
13886
13887 Make mktemp invocations portable.
13888
13889 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
13890 exit if mktemp fails.
13891 * tests/grub_script_blockarg.in: Likewise.
13892 * tests/partmap_test.in: Likewise.
13893 * tests/util/grub-shell-tester.in: Likewise.
13894 * tests/util/grub-shell.in: Likewise.
13895 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
13896 * Makefile.am: Likewise, and chain shell commands with `&&'
13897 instead of ';'.
13898 * util/grub-mkrescue.in: Use the same explicit template as above, and
13899 exit if mktemp fails.
13900
13901 2010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
13902
13903 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
13904 Linux kernel, reported by Dennis Schridde.
13905
13906 2010-10-17 Szymon Janc <szymon@janc.net.pl>
13907
13908 * grub-core/normal/auth.c (grub_auth_check_authentication):
13909 Set-but-not-used variable removed.
13910
13911 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13912
13913 * docs/grub.texi (GNU/Linux): Document APM unavailability with
13914 32-bit linux protocol.
13915
13916 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13917
13918 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
13919 cursor shape for sanity.
13920
13921 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13922
13923 * docs/grub.texi (Installation): Document buggy BIOS install.
13924
13925 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13926
13927 * docs/grub.texi (Installation): Indent.
13928
13929 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13930
13931 * util/grub-setup.c (setup): New parameter allow_floppy.
13932 (arguments): New member allow_floppy.
13933 (argp_parser): Handle --allow-floppy.
13934 (main): Pass allow_floppy.
13935 * util/grub-install.in: New option --allow-floppy passed though to
13936 grub-setup.
13937
13938 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13939
13940 * util/grub-install.in: Handle partitionless disks.
13941
13942 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13943
13944 * util/grub-setup.c (setup): Don't clean blocklists before readability
13945 verfification.
13946
13947 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13948
13949 * docs/grub.texi (Installation): Document embedding zone. Remove
13950 obsolete grub-install example.
13951
13952 2010-10-16 Szymon Janc <szymon@janc.net.pl>
13953
13954 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
13955 Set-but-not-used variable ifdef'ed.
13956 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
13957 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
13958 variable removed.
13959 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
13960 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
13961 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
13962 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
13963 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
13964 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
13965 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
13966 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
13967 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
13968 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
13969 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
13970 Likewise.
13971
13972 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13973
13974 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
13975 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
13976 enum value.
13977
13978 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13979
13980 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
13981 synonym to _S5_. Needed for some DSDTs.
13982
13983 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13984
13985 Userspace ACPI parser debugging.
13986
13987 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
13988 headers and add relevant defines. Don't include standard headers.
13989 (main) [GRUB_DSDT_TEST]: New function.
13990 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
13991 Don't declare functions.
13992
13993 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13994
13995 Remove dead grub_efi_mm_fini.
13996
13997 * grub-core/kern/efi/mm.c (allocated_page): Removed.
13998 (ALLOCATED_PAGES_SIZE): Likewise.
13999 (MAX_ALLOCATED_PAGES): Likewise.
14000 (allocated_pages): Likewise.
14001 (grub_efi_allocate_pages): Don't record allocated pages.
14002 (grub_efi_free_pages): Likewise.
14003 (grub_efi_mm_init): Likewise.
14004 (grub_efi_mm_fini): Removed.
14005
14006 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14007
14008 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
14009 (grub_efi_mm_init): Take into account the memory map size increase.
14010
14011 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14012
14013 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
14014 (serial_hw_put): Wait based on real time rather than port reads. Don't
14015 roken ports.
14016 * include/grub/serial.h (grub_serial_port): New field broken.
14017
14018 2010-10-16 Robert Millan <rmh@gnu.org>
14019
14020 * grub-core/kern/emu/misc.c
14021 (grub_make_system_path_relative_to_its_root): Fix premature return
14022 when processing non-root ZFS filesystems.
14023 Reported by Sergio Talens-Oliag.
14024
14025 2010-10-15 Robert Millan <rmh@gnu.org>
14026
14027 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
14028 guarantee compressed ones are processed first.
14029
14030 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
14031
14032 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
14033 grub_efiemu_autocore.
14034
14035 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
14036
14037 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
14038 rather than 0x1b.
14039 (grub_console_getkey): Use correct jae opcode rather than ja.
14040
14041 2010-10-12 Robert Millan <rmh@gnu.org>
14042
14043 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
14044 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
14045 variable. All references updated.
14046
14047 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
14048
14049 2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
14050
14051 Correctly distinguish mdraid flavours.
14052
14053 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
14054 (insert_array): New argument raid.
14055 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
14056 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
14057 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
14058
14059 2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
14060
14061 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
14062 handling of special keys.
14063
14064 2010-10-02 Aleš Nesrsta <starous@volny.cz>
14065
14066 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
14067 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
14068
14069 2010-10-02 Aleš Nesrsta <starous@volny.cz>
14070
14071 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
14072 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
14073 users updated.
14074 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
14075 Use right endpoint when querying descriptor.
14076
14077 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
14078
14079 Clear out 0x80 color bit on EFI.
14080 Tested by: decoder
14081 Reported by: decoder and meta tech.
14082
14083 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
14084 (grub_console_setcolorstate): Clear out 0x80 bit.
14085 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
14086 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
14087 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
14088
14089 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
14090
14091 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
14092 Set to "auto".
14093
14094 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14095
14096 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
14097 mo_file after freeing.
14098
14099 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14100
14101 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
14102
14103 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14104
14105 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
14106 flags.
14107
14108 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14109
14110 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
14111 usage.
14112
14113 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14114
14115 Put terminfo into core on ieee1275 and yeeloong (needed for console).
14116
14117 * gentpl.py: New groups terminfoinkernel and terminfomodule.
14118 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
14119 and terminfo.h when needed.
14120 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
14121 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
14122 (terminfo): Enable only on terminfokernel.
14123 (extcmd): Likewise.
14124 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
14125 * include/grub/lib/arg.h: Likewise.
14126 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
14127 incorrect usage of ->.
14128
14129 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14130
14131 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
14132 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
14133
14134 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14135
14136 Fix coreboot compilation.
14137
14138 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
14139 Take VBE info into account even if only text is supported.
14140 (fill_vbe_info): Take into account the case when only VGA text
14141 is supported.
14142 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
14143 on coreboot, multiboot and qemu.
14144
14145 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14146
14147 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
14148 debug messages.
14149 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
14150
14151 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14152
14153 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
14154 parameters.
14155
14156 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14157
14158 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
14159 if they were BSD-style.
14160
14161 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14162
14163 * grub-core/boot/i386/pc/lnxboot.S: Replace
14164 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
14165 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
14166
14167 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14168
14169 Write embedding zone using Reed-Solomon.
14170
14171 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
14172 * grub-core/Makefile.am (rs_decoder.S): New target.
14173 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
14174 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
14175 (multiboot): Move to RS part.
14176 (post_reed_solomon): New label.
14177 (grub_boot_drive): Move to non-RS part since it's modified in memory
14178 on boot.
14179 Include rs_decoder.S.
14180 * grub-core/lib/reed_solomon.c: New file.
14181 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
14182 New definition.
14183 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
14184 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
14185 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
14186 * include/grub/partition.h (grub_partition_map): Change prototype of
14187 embed to allow returning additional sectors.
14188 * include/grub/reed_solomon.h: New file.
14189 * util/grub-setup.c (setup): Handle Reed-Solomon.
14190
14191 2010-09-28 Colin Watson <cjwatson@ubuntu.com>
14192
14193 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
14194 i386 and x86-64 definedness tests.
14195
14196 2010-09-27 Yves Blusseau <blusseau@zetam.org>
14197
14198 Fix generation of kernel_syms.lst
14199
14200 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
14201 ASM_PREFIX
14202
14203 2010-09-26 Robert Millan <rmh@gnu.org>
14204
14205 Support degraded ZFS arrays in "grub-probe -t device" resolution.
14206
14207 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
14208 the pool is an array of devices, iterate through it and return the
14209 first device that passes a stat() test (instead of blindly returning
14210 the first one).
14211
14212 2010-09-26 Robert Millan <rmh@gnu.org>
14213
14214 Build fixes for GNU/kFreeBSD.
14215
14216 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
14217 to programs that require ZFS conversion.
14218 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
14219 kernels that don't have FLOPPY_MAJOR.
14220
14221 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
14222
14223 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
14224
14225 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
14226
14227 Fix grub-emu build.
14228
14229 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
14230 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
14231 mdraid09 and mdraid1x.
14232
14233 2010-09-24 Colin Watson <cjwatson@ubuntu.com>
14234
14235 Re-enable grub-extras.
14236
14237 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
14238 avoid confusing Automake. Run autogen only twice, once for the top
14239 level and once for grub-core. Add Makefile.util.def and
14240 Makefile.core.def from extra modules to the appropriate autogen
14241 invocations. If Makefile.common exists in an extra module, include
14242 it in both Makefile.util.am and grub-core/Makefile.core.am;
14243 similarly, include any Makefile.util.common file in Makefile.util.am
14244 and any Makefile.core.common file in grub-core/Makefile.core.am.
14245 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
14246 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
14247 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
14248 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
14249
14250 * gentpl.py (gvar_add): Turn GVARS into a set.
14251 (global_variable_initializers): Sort global variables on output.
14252 (vars_init): New function.
14253 (first_time): Likewise.
14254 (library): Ensure that non-global variable initialisations are
14255 emitted before the first time we emit code for a library block.
14256 Append to variables rather than setting them. Only emit
14257 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
14258 each conditional path.
14259 (program): installdir() emits an Autogen macro, so must be passed to
14260 var_add rather than gvar_add.
14261 (data): Likewise.
14262 (script): Likewise.
14263 (rules): New function, centralising handling for different target
14264 types. Set up Guile association lists for first_time and vars_init,
14265 and send most output to a diversion so that variable initialisations
14266 can be emitted first.
14267 (module_rules): Use new rules function.
14268 (kernel_rules): Likewise.
14269 (image_rules): Likewise.
14270 (library_rules): Likewise.
14271 (program_rules): Likewise.
14272 (script_rules): Likewise.
14273 (data_rules): Likewise.
14274
14275 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
14276
14277 * .bzrignore: Add contrib and grub-core/contrib. Remove
14278 grub-core/Makefile.gcry.am.
14279
14280 2010-09-24 Yves Blusseau <blusseau@zetam.org>
14281
14282 * grub-core/lib/LzFind.c: Add missing include.
14283 * grub-core/lib/LzmaEnc.c: Likewise.
14284 * grub-core/script/lexer.c: Likewise.
14285 * grub-core/script/yylex.l: Likewise.
14286 * util/grub-macho2img.c: Likewise.
14287 * util/grub-menulst2cfg.c: Likewise.
14288 * util/grub-mklayout.c: Likewise.
14289 * util/grub-mkpasswd-pbkdf2.c
14290 * util/grub-mkrelpath.c: Likewise.
14291 * util/resolve.c: Likewise.
14292
14293 2010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
14294
14295 * Makefile.util.def (example_unit_test): Add
14296 grub-core/gnulib/libgnu.a.
14297
14298 2010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
14299
14300 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
14301
14302 2010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
14303
14304 Support xz compression on yeeloong.
14305
14306 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
14307 * configure.ac: Check for LZMA.
14308 * grub-core/Makefile.core.def (xz_decompress): New target.
14309 (none_decompress): Likewise.
14310 * grub-core/boot/decompressor/minilib.c: New file.
14311 * grub-core/boot/decompressor/none.c: Likewise.
14312 * grub-core/boot/decompressor/xz.c: Likewise.
14313 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
14314 * grub-core/kern/mips/cache_flush.S: Likewise.
14315 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
14316 * grub-core/kern/mips/startup.S: Move first stage to ...
14317 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
14318 nomacro.
14319 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
14320 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
14321 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
14322 Allocate statically.
14323 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
14324 Allocate statically or use scratch. Don't check CRC32.
14325 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
14326 Allocate statically. Don't check CRC32.
14327 * include/grub/decompressor.h: New file.
14328 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
14329 Removed.
14330 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
14331 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
14332 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
14333 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
14334 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
14335 * util/grub-mkimage.c (grub_compression_t): New type.
14336 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
14337 (image_target_desc): New field default_compression.
14338 (image_targets): Adjust yeeloong targets.
14339 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
14340 (compress_kernel): New parameter comp.
14341 (generate_image): Likewise. Handle new compression case.
14342 (options): New option --compression
14343 (help): Likewise.
14344 (main): Handle new option.
14345
14346 2010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
14347
14348 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
14349
14350 2010-09-22 Colin Watson <cjwatson@ubuntu.com>
14351
14352 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
14353 typo in __i386__ conditional.
14354
14355 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
14356
14357 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
14358 include.
14359
14360 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
14361
14362 Implement EFI and ACPI multiboot2 extensions.
14363
14364 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
14365 new tags as supported.
14366 (acpiv2_size): New function.
14367 (grub_multiboot_get_mbi_size): Take new tags into account.
14368 (grub_multiboot_make_mbi): Add new tags.
14369 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
14370
14371 2010-09-21 Aleš Nesrsta <starous@volny.cz>
14372
14373 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
14374 Added missing configuration of USB device.
14375
14376 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14377
14378 * grub-core/normal/menu_entry.c (run): Make sure we always return
14379 a value.
14380
14381 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14382
14383 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
14384 NumberOfPages is UINT64 according to the UEFI specification, not
14385 UINTN. Fix printf format.
14386
14387 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14388
14389 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
14390 `err' to grub_usb_err_t.
14391 Reported and tested by: KESHAV P.R.
14392
14393 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14394
14395 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
14396 tpart non-const, so that we can assign to it. (Since this is a
14397 typedef, the constness refers to the pointer rather than what it
14398 points to.)
14399
14400 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14401
14402 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
14403 $(top_srcdir)/grub-core/gnulib as well as
14404 $(top_builddir)/grub-core/gnulib.
14405 Reported by: KESHAV P.R.
14406
14407 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14408
14409 * util/grub-install.in: Fix the bootloader ID option to be
14410 consistently --bootloader-id, not --bootloader_id.
14411 Reported by: KESHAV P.R.
14412
14413 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14414
14415 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
14416 check hash checksum." consistently translatable.
14417
14418 2010-09-21 Yves Blusseau <blusseau@zetam.org>
14419
14420 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
14421 $(top_builddir).
14422
14423 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14424
14425 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
14426 (GRUB_MOD_INIT): Register sha1sum command.
14427 (GRUB_MOD_FINI): Unregister sha1sum command.
14428
14429 2010-09-21 Yves Blusseau <blusseau@zetam.org>
14430
14431 Keep boot and grub directory names in sync with utils scripts
14432
14433 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
14434 * config.h.in: Add previous macros.
14435 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
14436 * util/grub-install.in: Use $bootdir and $grubdir variables.
14437
14438 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14439
14440 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
14441 convert partition names to disk names if the new `convert' parameter
14442 is set.
14443 (grub_util_biosdisk_get_grub_dev): If opening the disk device
14444 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
14445 disk in its own right. This can happen with Xen disk images.
14446
14447 2010-09-21 Yves Blusseau <blusseau@zetam.org>
14448
14449 * util/grub-editenv.c: Update strings to avoid warnings when generating
14450 grub.pot file.
14451 * util/grub-setup.c: Likewise.
14452
14453 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
14454
14455 * configure.ac: Change version to 1.99~beta0.
14456
14457 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
14458
14459 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
14460 Add BADRAM.
14461 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
14462 Likewise.
14463 * include/multiboot.h: Resynced with specification.
14464 * include/multiboot2.h: Likewise.
14465
14466 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14467
14468 Fix po directory handling.
14469
14470 * configure.ac: Create po/Makefile.in rather than po/Makefile.
14471 * grub-core/gnulib/Makefile.am: Import gettext module.
14472 * m4/gnulib-cache.m4: Likewise.
14473 * m4/gnulib-comp.m4: Likewise.
14474 * m4/gettext.m4: New file, from gnulib.
14475 * m4/glibc2.m4: Likewise.
14476 * m4/iconv.m4: Likewise.
14477 * m4/intdiv0.m4: Likewise.
14478 * m4/intl.m4: Likewise.
14479 * m4/intldir.m4: Likewise.
14480 * m4/intlmacosx.m4: Likewise.
14481 * m4/intmax.m4: Likewise.
14482 * m4/inttypes-pri.m4: Likewise.
14483 * m4/lcmessage.m4: Likewise.
14484 * m4/lib-ld.m4: Likewise.
14485 * m4/lib-link.m4: Likewise.
14486 * m4/lib-prefix.m4: Likewise.
14487 * m4/lock.m4: Likewise.
14488 * m4/nls.m4: Likewise.
14489 * m4/po.m4: Likewise.
14490 * m4/printf-posix.m4: Likewise.
14491 * m4/progtest.m4: Likewise.
14492 * m4/threadlib.m4: Likewise.
14493 * m4/uintmax_t.m4: Likewise.
14494 * m4/visibility.m4: Likewise.
14495 * po/Makefile.am: Remove.
14496 * po/Makefile.in.in: New file, from gettext.
14497 ($(DOMAIN).pot-update): Support POTFILES-shell.
14498 * po/Makevars: New file.
14499 * po/POTFILES-shell: Rename to ...
14500 * po/POTFILES-shell.in: ... this. Update.
14501 * po/POTFILES: Rename to ...
14502 * po/POTFILES.in: ... this. Update.
14503 * po/Rules-quot: New file, from gettext.
14504 * po/boldquot.sed: Likewise.
14505 * po/en@boldquot.header: Likewise.
14506 * po/en@quot.header: Likewise.
14507 * po/insert-header.sin: Likewise.
14508 * po/quot.sed: Likewise.
14509 * po/remove-potcdate.sin: Likewise.
14510
14511 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14512
14513 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
14514
14515 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14516
14517 * util/grub.d/20_linux_xen.in: Use submenus.
14518
14519 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14520
14521 Support submenus.
14522
14523 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
14524 parameter submenu. All users updated.
14525 * grub-core/normal/main.c (free_menu): Rename to ...
14526 (grub_normal_free_menu): ... this. Made global.
14527 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
14528 if requested.
14529 * grub-core/normal/menu_entry.c (screen): New field submenu.
14530 (make_screen): Set submenu.
14531 (run): Open new context if requested.
14532 * include/grub/menu.h (grub_menu_entry): New field submenu.
14533 * include/grub/normal.h (grub_normal_free_menu): New proto.
14534
14535 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14536
14537 Menu entries extractor.
14538
14539 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
14540 variants.
14541 (GRUB_MOD_INIT): Register new variants.
14542 (GRUB_MOD_FINI): Unregister new variants.
14543 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
14544 into grub_cmd_legacy_source.
14545 (grub_cmd_legacy_source): Implement extractor variants.
14546 (GRUB_MOD_INIT): Register new variants.
14547 (GRUB_MOD_FINI): Unregister new variants.
14548 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
14549 as an extractor.
14550 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
14551 search as an extractor.
14552 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
14553 test as an extractor.
14554 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
14555 as an extractor.
14556 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
14557 (grub_env_new_context): New function.
14558 (grub_env_context_open): Likewise.
14559 (grub_env_extractor_open): Likewise.
14560 (grub_env_extractor_close): Likewise.
14561 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
14562 grub_extractor_level.
14563 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
14564 * include/grub/env.h (grub_env_extractor_open): New proto.
14565 (grub_env_extractor_close): Likewise.
14566 * include/grub/normal.h (grub_extractor_level): New external variable.
14567
14568 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14569
14570 Make cutmem accept a region specification.
14571 Suggested by: Samuel Thibault
14572
14573 * grub-core/mmap/mmap.c (parsemem): New function.
14574 (grub_cmd_cutmem): Handle new arguments.
14575
14576 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14577
14578 New command cutmem.
14579
14580 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
14581 (GRUB_MOD_INIT): Register new command.
14582 (GRUB_MOD_FINI): Unregister new command.
14583
14584 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14585
14586 Support some annoying BSD and Minix subpartitions.
14587
14588 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
14589 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
14590 Properly handle concatenation.
14591 * grub-core/kern/device.c (grub_device_iterate): Likewise.
14592 * grub-core/normal/completion.c (iterate_partition): Likewise.
14593 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
14594 contain partition. All users updated.
14595 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
14596 struct.
14597 (grub_openbsdlabel_partition_map): Likewise.
14598 (bsdlabel_partition_map_iterate): Rename to ..
14599 (iterate_real): ... this. New arguments sector, freebsd and pmap.
14600 (bsdlabel_partition_map_iterate): New function.
14601 (netopenbsdlabel_partition_map_iterate): Likewise.
14602 (netbsdlabel_partition_map_iterate): Likewise.
14603 (openbsdlabel_partition_map_iterate): Likewise.
14604 (GRUB_MOD_INIT): Register new partmaps.
14605 (GRUB_MOD_FINI): Unregister new partmaps.
14606 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
14607 (grub_partition_msdos_iterate): ... this. All users updated.
14608 Don't support embedding other than in a minix partition.
14609 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
14610 proto.
14611 * include/grub/partition.h (grub_partition): New field msdostype.
14612 * util/grub-install.in: Handle openbsd and netbsd types being in
14613 part_bsd module.
14614
14615 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14616
14617 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
14618
14619 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
14620 * grub-core/Makefile.core.def (mdraid): Renamed to ...
14621 (mdraid09): ... this.
14622 (mdraid1x): New module.
14623 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
14624 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
14625
14626 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14627
14628 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
14629 vsprintf.
14630
14631 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
14632
14633 * grub-core/commands/efi/lsefimmap.c: Correct header.
14634 * NEWS: Update.
14635
14636 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
14637
14638 * util/grub-editenv.c (argp_parser): Don't pass translated strings
14639 as printf format strings; the translations might contain '%' which
14640 could cause a crash.
14641 (main): Likewise.
14642 * util/grub-fstest.c (argp_parser): Likewise.
14643 * util/grub-setup.c (argp_parser): Likewise.
14644 (main): Likewise.
14645
14646 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14647
14648 Use argp in grub-fstest.
14649
14650 * util/grub-fstest.c: Don't include getopt.h.
14651 Include argp.h.
14652 (root): New variable.
14653 (args_count): Likewise.
14654 (nparm): Likewise.
14655 (num_disks): Likewise.
14656 (images): Likewise.
14657 (cmd): Likewise.
14658 (debug_str): Likewise.
14659 (args): Likewise.
14660 (options): Transformed to argp.
14661 (usage): Removed.
14662 (main): Split argument parsing into ...
14663 (argp_parser): ... this. Changed to argp format.
14664 (argp): New variable.
14665 (main): Use argp_parse.
14666
14667 2010-09-20 Tristan Gingold <gingold@free.fr>
14668 2010-09-20 Robert Millan <rmh.grub@aybabtu.com>
14669 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14670
14671 * grub-core/commands/efi/lsefimmap.c: New file.
14672 * grub-core/Makefile.core.def (lsefimmap): New module.
14673 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
14674
14675 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14676
14677 Pause the execution (10s max) if any errors are displayed so the user
14678 has a chance to see them.
14679
14680 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
14681 (grub_print_error): Increment grub_err_printed_errors.
14682 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
14683 execution if any errors were displayed.
14684 (show_menu): Remove old code for pause.
14685 * grub-core/normal/menu_entry.c (run): Likewise.
14686 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
14687 users updated.
14688 (grub_normal_get_char_counter): Likewise.
14689 * include/grub/err.h (grub_err_printed_errors): New external variable.
14690 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
14691
14692 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14693
14694 Support multiboot VBE info.
14695
14696 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
14697 Take VBE info into account.
14698 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
14699 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
14700 Call fill_vbe_info when appropriate.
14701 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
14702 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
14703 as supported.
14704 (grub_multiboot_get_mbi_size): Take new tags into account.
14705 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
14706 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
14707 Call fill_vbe_tag when appropriate.
14708 (grub_multiboot_make_mbi): Properly align tags.
14709 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
14710 function.
14711 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
14712 proto.
14713 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
14714
14715 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14716
14717 Suport manual terminal geometry specification.
14718
14719 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
14720 Save state in grub_ofconsole_terminfo_output.
14721 (grub_ofconsole_term): Use grub_terminfo_getwh.
14722 (grub_ofconsole_getwh): Removed.
14723 * grub-core/term/serial.c (grub_serial_getwh): Removed.
14724 (grub_serial_term): Use grub_terminfo_getwh.
14725 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
14726 (options): New struct.
14727 (OPTION_*): New enum.
14728 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
14729 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
14730 width and height.
14731 (grub_terminfo_getwh): New proto.
14732 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
14733
14734 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14735
14736 Handle legacy "terminal" command.
14737
14738 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
14739 and FLAG_TERMINAL.
14740 (legacy_commands): Add terminal and title.
14741 (grub_legacy_parse): Handle terminal. Simplify title handling.
14742
14743 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14744
14745 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
14746 parameters overflow.
14747
14748 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
14749
14750 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
14751 widthspec.h.
14752
14753 * docs/grub.texi (Shell-like scripting): Document `!'.
14754 (Network): Simplify using new i386-pc-pxe format. Mention
14755 grub-mknetdir.
14756
14757 * NEWS: Update.
14758
14759 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
14760
14761 * Makefile.am (SUBDIRS): Restore "."; it's important to force
14762 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
14763 when needed.
14764
14765 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
14766
14767 * grub-core/commands/efi/lsefisystab.c: Correct header.
14768 * grub-core/commands/efi/lssal.c: Likewise.
14769 * grub-core/commands/testload.c: Likewise.
14770
14771 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
14772
14773 * util/grub-mkrescue.in: Add explicit root argument to --set to
14774 prevent the UUID being interpreted as an argument to --set (matches
14775 previous change to prepare_grub_to_access_device).
14776
14777 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
14778
14779 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
14780 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
14781 the verbosity of later #ifs.
14782 (find_partition_start): Define this function on FreeBSD too.
14783 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
14784 function.
14785 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
14786 on FreeBSD.
14787
14788 2010-09-20 Yves Blusseau <blusseau@zetam.org>
14789
14790 * util/grub-editenv.c: Use argp instead of getopt.
14791
14792 2010-09-20 Yves Blusseau <blusseau@zetam.org>
14793
14794 * util/grub-setup.c: Use argp instead of getopt.
14795
14796 2010-09-20 Yves Blusseau <blusseau@zetam.org>
14797
14798 Use gnulib-tool to create gnulib source files.
14799
14800 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
14801 grub-core/gnulib directories
14802 * .bzignore: Add **/.deps and autogenerated gnulib files
14803 * configure.ac: Assign auxiliary directory to build-aux, add invocation
14804 of gnulib macros, add grub-core/gnulib/Makefile
14805 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
14806 include m4 directory to aclocal.
14807 * Makefile.util.def: Remove direct compilation of gnulib source files
14808 and use the new grub-core/gnulib/libgnu.a.
14809 * build-aux/config.rpath: move config.rpath from top directory to
14810 build-aux
14811 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
14812 in gnulib headers
14813 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
14814 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
14815 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
14816 header.
14817 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
14818 string.
14819
14820 2010-09-20 Yves Blusseau <blusseau@zetam.org>
14821
14822 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
14823 grub-core/genmod.sh and grub-core/gensyminfo.sh
14824
14825 2010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
14826
14827 Add a test for echo command options.
14828
14829 * tests/grub_cmd_echo.in: New test.
14830 * Makefile.util.def: Rules for new test.
14831
14832 2010-09-20 Szymon Janc <szymon@janc.net.pl>
14833
14834 Remove crc.mod and move crc command to hashsum.mod.
14835 Remove lib/crc.c - users updated to use gcrypt implementation.
14836
14837 * grub-core/commands/crc.c: Removed.
14838 * grub-core/Makefile.core.def (crc): Module removed.
14839 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
14840 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
14841 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
14842 * grub-core/lib/crc.c: Removed.
14843 * include/grub/lib/crc.h: Removed.
14844 * Makefile.util.def (crc): Remove lib/crc.c
14845 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
14846 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
14847 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
14848 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
14849 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
14850 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
14851
14852 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14853
14854 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
14855
14856 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14857
14858 Split config.h for util and core.
14859
14860 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
14861 (ADDR32): Likewise.
14862 (DATA32): Likewise.
14863 (BSS_START_SYMBOL): Likewise.
14864 (END_SYMBOL): Likewise.
14865 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
14866 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
14867 * config.h.in: New file.
14868 * configure.ac: Use config-util.h as config define file.
14869 Rename MACHINE into GRUB_MACHINE. All users updated.
14870 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
14871 updated.
14872 (NESTED_FUNC_ATTR): Likewise.
14873 Substitue new variables.
14874 (COND_HAVE_ASM_USCORE): New conditional.
14875 * grub-core/Makefile.am (ASM_PREFIX): New variable.
14876 (kernel_syms.lst): Use ASM_PREFIX.
14877 * grub-core/kern/emu/console.c: Include config-util.h.
14878 * grub-core/kern/emu/misc.c: Likewise.
14879 * grub-core/kern/emu/mm.c: Likewise.
14880 * include/grub/emu/misc.h: Likewise.
14881 * include/grub/libgcc.h: Likewise.
14882
14883 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14884
14885 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
14886 constants usage.
14887 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
14888 Fix GRUB_TERM_KEY_* constants usage.
14889 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
14890
14891 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14892
14893 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
14894 print pointer.
14895 * grub-core/bus/usb/uhci.c: Remove empty define.
14896 (grub_uhci_check_transfer): Add missing cast.
14897 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
14898 print pointer.
14899 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
14900 PRIuGRUB_SIZE.
14901 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
14902
14903 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14904
14905 * grub-core/Makefile.core.def (legacycfg): Add
14906 lib/i386/pc/vesa_modes_table.c on emu.
14907
14908 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
14909
14910 Reduce number of temporary files generated by build system.
14911
14912 * grub-core/gencmdlist.sh: Removed.
14913 * grub-core/genfslist.sh: Removed.
14914 * grub-core/genhandlerlist.sh: Removed.
14915 * grub-core/genmodsrc.sh: Removed.
14916 * grub-core/genpartmaplist.sh: Removed.
14917 * grub-core/genparttoollist.sh: Removed.
14918 * grub-core/gentermiinallist.sh: Removed.
14919 * grub-core/genvideolist.sh: Removed.
14920
14921 * grub-core/genmod.sh.in: New file.
14922 * grub-core/gensyminfo.sh.in: New file.
14923
14924 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
14925 * conf/Makefile.extra-dist: Update with new files.
14926 * gentpl.py: Remove rules related to unnecessary temporary files.
14927 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
14928 and und-* files.
14929 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
14930 genmod.sh scripts.
14931 * grub-core/bus/usb/uhci.c: Remove empty #define.
14932 * grub-core/genmoddep.awk: Updated with new syminfo format.
14933 * util/bash-completion.d/Makefile.am: Add config.log to
14934 CLEANFILES.
14935
14936 2010-09-19 Yves Blusseau <blusseau@zetam.org>
14937
14938 * Makefile.util.def: Add forgotten $(LIBINTL) library.
14939
14940 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
14941
14942 * util/grub-mkconfig.in: Check the config script for syntax errors
14943 before saving.
14944
14945 2010-09-19 Colin Watson <cjwatson@ubuntu.com>
14946 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14947
14948 * Makefile.util.def (grub-install): Use util/grub-install.in on all
14949 platforms.
14950 * util/grub-install.in: Add EFI and IEEE1275 support.
14951 * util/i386/efi/grub-install.in: Removed.
14952 * util/ieee1275/grub-install.in: Likewise.
14953
14954 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14955
14956 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
14957 (grub_cmd_cmosclean): Likewise.
14958 (GRUB_MOD_INIT): Register command cmosclean.
14959 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
14960 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
14961
14962 2010-09-18 Carles Pina i Estany <carles@pina.cat>
14963 2010-09-18 Aleš Nesrsta <starous@volny.cz>
14964 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
14965
14966 Add keyboard layouts support.
14967
14968 * Makefile.util.def (grub-mklayout): New file.
14969 (grub-kbdcomp): New script.
14970 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
14971 Add keyboard_layouts.h.
14972 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
14973 commands/boot.c on yeeloong.
14974 (keylayouts): New module.
14975 * grub-core/bus/usb/ohci.c
14976 * grub-core/bus/usb/uhci.c
14977 * grub-core/bus/usb/usbhub.c (rescan): New variable.
14978 (grub_usb_add_hub): Poll interrupt pipe for device handling.
14979 (attach_root_port): Likewise.
14980 (poll_nonroot_hub): Likewise.
14981 (grub_usb_poll_devices): Likewise.
14982 (detach_device): Close transfer.
14983 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
14984 function.
14985 (grub_usb_bulk_setup_readwrite): Likewise.
14986 (grub_usb_bulk_finish_readwrite): Likewise.
14987 * grub-core/commands/keylayouts.c: New file.
14988 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
14989 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
14990 aliases.
14991 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
14992 support scancode 2.
14993 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
14994 * include/grub/keyboard_layouts.h: New file.
14995 * util/grub-mklayout.c: New file.
14996 * util/grub-kbdcomp.in: Likewise.
14997
14998 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
14999
15000 Unify memory types.
15001
15002 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
15003 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
15004 types.
15005 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
15006 (grub_upper_mem): Likewise.
15007 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
15008 * include/grub/memory.h (grub_memory_type_t): New enum.
15009 All users updated.
15010
15011 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15012
15013 * grub-core/Makefile.core.def (lsapm): New module.
15014 * grub-core/commands/i386/pc/lsapm.c: New file.
15015 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
15016 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
15017 Likewise.
15018 * include/grub/i386/pc/apm.h: New file.
15019 * include/multiboot.h (multiboot_apm_info): New struct.
15020
15021 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15022
15023 GRUB-legacy configuration file support.
15024
15025 * Makefile.util.def (grub-menulst2cfg): New util.
15026 * docs/man/grub-menulst2cfg.h2m: New file.
15027 * grub-core/Makefile.core.def (legacycfg): New module.
15028 * grub-core/commands/legacycfg.c: New file.
15029 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
15030 (grub_normal_add_menu_entry): ... this.
15031 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
15032 (grub_normal_set_password): ...this.
15033 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
15034 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
15035 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
15036 * grub-core/lib/legacy_parse.c: New file.
15037 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
15038 * include/grub/i386/pc/vesa_modes_table.h: New file.
15039 * include/grub/legacy_parse.h: Likewise.
15040 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
15041 * util/grub-menulst2cfg.c: New file.
15042
15043 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
15044
15045 * grub-core/kern/emu/hostdisk.c
15046 (convert_system_partition_to_system_disk): Initialise node.
15047
15048 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
15049
15050 * grub-core/kern/emu/hostdisk.c
15051 (convert_system_partition_to_system_disk): Fix devmapper memory pool
15052 leak.
15053 Reported and based on patch by: Modestas Vainius.
15054
15055 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
15056
15057 Fix DM-RAID probing with recent versions of device-mapper udev
15058 rules.
15059
15060 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
15061 canonicalise device paths under /dev/mapper/.
15062 (convert_system_partition_to_system_disk): Compare the
15063 uncanonicalised path to /dev/mapper/ rather than the canonicalised
15064 path, since device nodes under /dev/mapper/ are often symlinks.
15065
15066 2010-09-17 Yves Blusseau <blusseau@zetam.org>
15067
15068 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
15069
15070 2010-09-16 Yves Blusseau <blusseau@zetam.org>
15071
15072 * configure.ac: Avoid some annoying error messages if freetype-config
15073 program is not found.
15074
15075 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
15076
15077 Support RAID on virtio devices, and others.
15078
15079 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
15080 Rename to ...
15081 [__MINGW32__] (grub_find_device): ... this.
15082 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
15083 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
15084 reasonable default if dir is NULL.
15085 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
15086 ...
15087 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
15088 (grub_guess_root_device): Update callers.
15089 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
15090
15091 * util/raid.c (grub_util_getdiskname): Remove.
15092 (grub_util_raid_getmembers): Use grub_find_device rather than
15093 grub_util_getdiskname.
15094
15095 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
15096
15097 * docs/grub.texi (serial): Remove obsolete comment about GRUB
15098 needing to be compiled with serial support.
15099 (ls): Indicate that multiple files are accepted.
15100 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
15101 indicate that multiple files are accepted.
15102
15103 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
15104
15105 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
15106 libgrub_a_init.c, and util/bash-completion.d/grub.
15107
15108 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15109
15110 * util/grub-setup.c (setup): Fix incorrect container semantics.
15111
15112 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15113
15114 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
15115 misusage.
15116 Reported by: J. Nick Terry
15117
15118 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15119
15120 Move embedding routines to partmap sources files.
15121
15122 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
15123 [GRUB_UTIL]: New variable.
15124 (gpt_partition_map_iterate): Set part.parent.
15125 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
15126 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
15127 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
15128 New function.
15129 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
15130 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
15131 (grub_partition_map) [GRUB_UTIL]: New field embed.
15132 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
15133 (setup): Use ->embed.
15134
15135 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15136
15137 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
15138 function.
15139 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
15140 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
15141
15142 2010-09-15 Yves Blusseau <blusseau@zetam.org>
15143
15144 Add function to get completions from usage.
15145
15146 * util/bash-completion.d/grub-completion.bash.in: Add function to get
15147 completions from usage. Use LC_ALL=C to get options properly.
15148
15149 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15150
15151 * grub-core/gnulib/basename-lgpl.c: Imported.
15152 * grub-core/gnulib/basename.c: Likewise.
15153 * grub-core/gnulib/dirname-lgpl.c: Likewise.
15154 * grub-core/gnulib/dirname.c: Likewise.
15155 * grub-core/gnulib/dirname.h: Likewise.
15156 * grub-core/gnulib/stripslash.c: Likewise.
15157
15158 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15159
15160 * grub-core/gnulib/error.c: Resynced.
15161 * grub-core/gnulib/getopt.c: Likewise.
15162 * grub-core/gnulib/getopt_int.h: Likewise.
15163 * grub-core/gnulib/regex.h: Likewise.
15164 * grub-core/gnulib/regex_internal.c: Likewise.
15165 * grub-core/gnulib/regex_internal.h: Likewise.
15166
15167 2010-09-15 Szymon Janc <szymon@janc.net.pl>
15168
15169 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
15170 CRC calculations and validity checks.
15171 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
15172 calculations.
15173
15174 2010-09-15 Szymon Janc <szymon@janc.net.pl>
15175
15176 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
15177
15178 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15179
15180 Fix incorrect echo options handling.
15181 Reported by: Yves Blusseau.
15182
15183 * include/grub/command.h (grub_command_flags_t): New flags
15184 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
15185 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
15186 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
15187
15188 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15189
15190 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
15191 users updated.
15192 (GRUB_COMMAND_FLAG_MENU): Likewise.
15193 (GRUB_COMMAND_FLAG_BOTH): Likewise.
15194 (GRUB_COMMAND_FLAG_TITLE): Removed.
15195 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
15196 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
15197 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
15198 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
15199 (grub_command_flags_t): New enum. All users updated.
15200
15201 2010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
15202
15203 Fix solaris compilation.
15204
15205 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
15206 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
15207 (grub-emu-list): Likewise.
15208
15209 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15210
15211 Remove deprecated root command.
15212
15213 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
15214 updated.
15215
15216 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15217
15218 * util/i386/pc/grub-setup.c: Merge this ...
15219 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
15220 * util/grub-setup.c: ... into this.
15221 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
15222 New struct.
15223
15224 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15225
15226 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
15227 possible.
15228
15229 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15230
15231 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
15232 allocate p.
15233
15234 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15235
15236 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
15237 explicit root argument to set to prevent UUID to be interpreted as
15238 argument to set.
15239
15240 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15241
15242 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
15243
15244 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15245
15246 Don't export grub_gate_a20.
15247
15248 * grub-core/kern/i386/pc/init.c: Remove leftovers.
15249 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
15250 to ...
15251 (grub_gate_a20): ... this. All users updated.
15252 * include/grub/i386/pc/init.h: Removed. All users updated.
15253
15254 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15255
15256 Create euro.pf2 which supports most European languages.
15257
15258 * Makefile.am (grubdata_DATA): Add euro.pf2.
15259 (euro.pf2): New target.
15260 (CLEANFILES): Add euro.pf2.
15261
15262 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15263
15264 * configure.ac: Disable emu-usb by default to prevent inadvertent
15265 device takeover.
15266
15267 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15268
15269 Disable usbserial on grub-emu since our libusb code isn't good enough
15270 yet.
15271
15272 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
15273 (usbserial_pl2303): Likewise.
15274 (usbserial_ftdi): Likewise.
15275
15276 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15277
15278 * include/grub/disk.h (grub_disk): Remove has_partitions.
15279 All users updated.
15280 * disk/loopback.c (grub_loopback): Remove has_partitions.
15281 All users updated.
15282 (options): Remove partitions. All users updated.
15283 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
15284 * util/i386/pc/grub-setup.c (setup): copy partition table only when
15285 actual partition table is found.
15286
15287 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15288
15289 Remove readability checks (too many false negatives).
15290
15291 * util/grub-install.in: Remove readability checks.
15292 * util/grub-mkconfig.in: Likewise.
15293 * util/grub.d/10_hurd.in: Likewise.
15294 * util/grub.d/10_kfreebsd.in: Likewise.
15295 * util/grub.d/10_linux.in: Likewise.
15296 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
15297 way.
15298
15299 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15300
15301 Enable acpi shutdown on all ACPI platforms.
15302
15303 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
15304 on coreboo, multiboot and EFI.
15305 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
15306 (grub_acpi_halt): Likewise.
15307 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
15308 (grub_cmd_halt): Don't call grub_acpi_halt directly.
15309 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
15310 * grub-core/lib/i386/halt.c (grub_halt)
15311 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
15312
15313 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15314
15315 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
15316 context.
15317
15318 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15319
15320 * grub-core/video/efi_gop.c: Fix over-80-chars line.
15321 * grub-core/video/efi_uga.c: Likewise.
15322
15323 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15324
15325 Filter devaliases and never open same device twice.
15326
15327 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
15328 (last_ihandle): Likewise.
15329 (ofdisk_hash_ent): New member shortest.
15330 (ofdisk_hash_add): Add canonical path too.
15331 (scan): New function.
15332 (grub_ofdisk_iterate): Iterate over hashed entries.
15333 (compute_dev_path): Don't add :0.
15334 (grub_ofdisk_open): Don't really open the disk.
15335 (grub_ofdisk_close): Avoid closing unrelated disk.
15336 (grub_ofdisk_read): Implement reopen logic.
15337 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
15338 New function.
15339 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
15340 New proto.
15341
15342 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15343
15344 Fix sparc64.
15345
15346 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
15347 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
15348 right address. Add sparc64_ieee1275_ldflags.
15349 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
15350 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
15351 to grub_host_to_target_addr
15352 (load_image): Likewise.
15353
15354 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15355
15356 * grub-core/normal/completion.c (complete_file): Handle device
15357 containing slash.
15358 Fix based on patch by Doug Nazar.
15359
15360 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15361
15362 grub-mknetdir script.
15363
15364 * Makefile.util.def (grub-mknetdir): New module.
15365 * tests/util/grub-shell.in: Support boot=net
15366 * util/grub-mknetdir.in: New file.
15367
15368 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15369
15370 videoinfo on non-vbe.
15371
15372 * grub-core/Makefile.core.def (vbeinfo): Removed.
15373 (vbetest): Removed.
15374 (videoinfo): New module.
15375 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
15376 * grub-core/commands/i386/pc/vbetest.c: Removed.
15377 * grub-core/commands/videoinfo.c: New file.
15378 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
15379 specification.
15380 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
15381 as vbetest.
15382 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
15383 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
15384 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
15385 mode_number. New parameter mode. All users updated.
15386 (grub_video_gop_iterate): New function.
15387 (grub_video_efi_gop): New member iterate.
15388 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
15389 (grub_vbe_set_video_mode): Remove setting useless fields.
15390 (vbe2videoinfo): New function.
15391 (grub_video_vbe_iterate): Likewise.
15392 (grub_video_vbe_setup): Use vbe2videoinfo.
15393 (grub_video_vbe_print_adapter_specific_info): New function.
15394 (grub_video_vbe_adapter): New fields iterate and
15395 print_adapter_specific_info.
15396 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
15397 All users updated.
15398 (grub_video_mode_info): New field mode_number.
15399 (grub_video_adapter): New fields iterate and
15400 print_adapter_specific_info.
15401
15402 2010-09-13 Tristan Gingold <gingold@free.fr>
15403 2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
15404 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15405
15406 * grub-core/commands/efi/lsefisystab.c: New file.
15407 * grub-core/commands/efi/lssal.c: Likewise.
15408 * grub-core/Makefile.core.def (lsacpi): New module.
15409 (lsefisystab): Likewise.
15410 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
15411 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
15412 (grub_efi_sal_system_table): New struct.
15413 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
15414 (grub_efi_sal_system_table_memory_descriptor): Likewise.
15415 (grub_efi_sal_system_table_platform_features): Likewise.
15416 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
15417 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
15418 (grub_efi_sal_system_table_ap_wakeup): Likewise.
15419 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
15420
15421 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15422
15423 Support explicit user claim that a device is BIOS-visible.
15424
15425 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
15426 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
15427 * grub-core/kern/emu/hostdisk.c
15428 (convert_system_partition_to_system_disk): Support mdX.
15429 (find_system_device): New parameter add. All users updated.
15430 (grub_util_biosdisk_is_present): New function.
15431 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
15432 proto.
15433
15434 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15435
15436 Search hints support.
15437
15438 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
15439 All users updated.
15440
15441 2010-09-13 Yves Blusseau <blusseau@zetam.org>
15442
15443 Bash completion script for util commands
15444
15445 * Makefile.am: Add util/bash-completion.d directory
15446 * configure.ac: Likewise.
15447 * util/bash-completion.d/Makefile.am: New file.
15448 * util/bash-completion.d/grub-completion.bash.in: Likewise.
15449
15450 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15451
15452 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
15453 (print_backlog): set backlog_ucs4 and backlog_glyphs.
15454 Reported by: Yves Blusseau.
15455
15456 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15457
15458 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
15459 partition size and offset.
15460
15461 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15462
15463 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
15464
15465 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15466
15467 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
15468
15469 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15470
15471 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
15472 (grub_xvasprintf): Likewise.
15473
15474 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15475
15476 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
15477
15478 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15479
15480 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
15481 args ending with NULL.
15482
15483 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15484
15485 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
15486 pointer.
15487
15488 2010-09-11 Szymon Janc <szymon@janc.net.pl>
15489
15490 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
15491
15492 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15493
15494 Shutdown using ACPI.
15495
15496 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
15497 * grub-core/commands/acpihalt.c: New file.
15498 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
15499 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
15500 (grub_acpi_halt): New proto.
15501 (GRUB_ACPI_SLP_EN): New const.
15502 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
15503 (GRUB_ACPI_OPCODE_*): New enum.
15504 (GRUB_ACPI_EXTOPCODE_*): Likewise.
15505
15506 2010-09-11 Tristan Gingold <gingold@free.fr>
15507 2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
15508 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15509
15510 * commands/lsacpi.c: New file.
15511 * grub-core/Makefile.core.def (lsacpi): New module.
15512 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
15513 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
15514 (grub_acpi_madt_entry_header): New struct.
15515 (grub_acpi_madt): Likewise.
15516 (grub_acpi_madt_entry_interrupt_override): Likewise.
15517 (grub_acpi_madt_entry_sapic): Likewise.
15518 (grub_acpi_madt_entry_lsapic): Likewise.
15519 (grub_acpi_madt_entry_platform_int_source): Likewise.
15520 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
15521 (PRIuGRUB_UINT32_T): Likewise.
15522 (PRIxGRUB_UINT64_T): Likewise.
15523
15524 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15525
15526 Implement loading palette on ieee1275_fb.
15527
15528 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
15529 (have_setcolors): Likewise.
15530 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
15531 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
15532 (grub_video_ieee1275_set_palette): Implement.
15533
15534 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15535 2010-09-11 Colin Watson <cjwatson@ubuntu.com>
15536
15537 * util/grub-install.in (grub_partition): New variable.
15538 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
15539 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
15540 Fixes a bug reported by Yves Blusseau.
15541
15542 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15543
15544 Fix emu on mipsel.
15545
15546 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
15547 =grub_cpu_flush_cache on all mips and not only yeeloong.
15548 * configure.ac (COND_mips): New conditional.
15549 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
15550 platforms.
15551 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
15552 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
15553 [GRUB_LINKER_HAVE_INIT]: New function.
15554 (grub_emu_post_init): Likewise.
15555 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
15556 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
15557 * include/grub/cache.h (_mips): Include mips/cache.h.
15558 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
15559 LVM and RAID prototypes.
15560 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
15561 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
15562 function.
15563
15564 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
15565
15566 * util/grub-install.in: Don't try to verify core.img until after
15567 running grub-mkimage to create it.
15568
15569 2010-09-10 Robert Millan <rmh@gnu.org>
15570
15571 * util/grub.d/10_hurd.in: Add misc readability checks.
15572 * util/grub.d/10_kfreebsd.in: Likewise.
15573 * util/grub.d/10_linux.in: Likewise.
15574
15575 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
15576
15577 * util/grub-install.in: ${imgext} won't be defined here until the
15578 install branch is merged. For the meantime, only verify core.img on
15579 i386-pc and sparc64-ieee1275 platforms.
15580
15581 2010-09-10 Robert Millan <rmh@gnu.org>
15582
15583 Solaris support in grub_find_zpool_from_dir(). Thanks
15584 Seth Goldberg for referring to getextmntent() facility.
15585
15586 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
15587 `sys/mkdev.h'.
15588 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
15589 `<sys/mnttab.h>'.
15590 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
15591 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
15592 method for finding zpool name.
15593
15594 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
15595
15596 grub-fstest needs the host and hostfs modules while other utilities
15597 actively require those modules to be absent, so grub-fstest needs
15598 its own initialisation and finalisation code.
15599
15600 * Makefile.am (grub_fstest.pp): New target.
15601 (grub_fstest_init.lst): Likewise.
15602 (grub_fstest_init.c): Likewise.
15603 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
15604
15605 2010-09-10 Robert Millan <rmh@gnu.org>
15606
15607 * configure.ac: Check for `struct statfs.f_fstypename' and
15608 `struct statfs.f_mntfromname'.
15609
15610 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
15611 kFreeBSD-specific code.
15612
15613 2010-09-10 Robert Millan <rmh@gnu.org>
15614
15615 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
15616 on ZFS. Now non-main filesystems are supported as / too.
15617
15618 2010-09-09 Colin Watson <cjwatson@ubuntu.com>
15619
15620 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
15621 and grub-core/disk/host.c to ...
15622 (grub-fstest): ... here. Having the host disk implementation
15623 present confuses grub-probe and other utility programs.
15624
15625 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
15626 when writing to a file, not when writing to stdout.
15627
15628 2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
15629
15630 * tests/partmap_test.in: New test for partitions.
15631 * Makefile.util.def: Rules for new test.
15632
15633 2010-09-09 Robert Millan <rmh@gnu.org>
15634
15635 * util/grub-probe.c (probe): Fix a pair of unhandled error
15636 conditions.
15637
15638 2010-09-09 Robert Millan <rmh@gnu.org>
15639
15640 Basic Btrfs support (detection and UUID).
15641
15642 * grub-core/fs/btrfs.c: New file.
15643 * Makefile.util.def (library): Register btrfs.c.
15644 * grub-core/Makefile.core.def: Likewise.
15645
15646 2010-09-08 Robert Millan <rmh@gnu.org>
15647
15648 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
15649 with (optional) parameters to specify device and relative path.
15650 * util/grub-install.in: Use is_path_readable_by_grub() to
15651 verify readability of a few critical files.
15652 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
15653 verify readability of grub.cfg.new.
15654
15655 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
15656
15657 Split minix.mod into minix.mod and minix2.mod.
15658
15659 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
15660 * grub-core/Makefile.core.def (minix2): New module.
15661 * grub-core/fs/minix.c: Use definitions instead of runtime version
15662 checking.
15663 * grub-core/fs/minix2.c: New file.
15664
15665 2010-09-08 Yves Blusseau <blusseau@zetam.org>
15666
15667 Add new --boot-directory option to replace --root-directory
15668
15669 * util/grub-install.in: Add new --boot-directory option
15670 * util/grub-reboot.in: Likewise.
15671 * util/grub-set-default.in: Likewise.
15672
15673 2010-09-08 Yves Blusseau <blusseau@zetam.org>
15674
15675 * util/grub-mkconfig.in: Use new variable.
15676
15677 2010-09-08 Yves Blusseau <blusseau@zetam.org>
15678
15679 * configure.ac: Define some useful variables.
15680
15681 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
15682
15683 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
15684 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
15685 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
15686 Use terminfo and don't use cursor-on/cursor-off unless it's known
15687 to work.
15688 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
15689 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
15690
15691 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
15692
15693 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
15694 starts with "(,", fill the drive containing the loaded image in
15695 between those two characters, but expect that a full partition
15696 specification including partition map names will follow.
15697
15698 2010-09-08 Robert Millan <rmh@gnu.org>
15699
15700 * configure.ac: Remove `--enable-grub-fstest' option.
15701 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
15702
15703 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
15704 `grub-fstest' instead of `grub-probe' for readability verification.
15705 * util/grub-probe.c (probe): Remove readability verification kludge.
15706
15707 2010-09-08 Robert Millan <rmh@gnu.org>
15708
15709 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
15710 initializing `GRUB_FS'.
15711
15712 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
15713
15714 Not command (!) support to GRUB script.
15715
15716 * tests/grub_script_not.in: New test.
15717 * Makefile.util.def: Rules for new test.
15718
15719 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
15720 ! command as a special case.
15721 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
15722
15723 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
15724
15725 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
15726 grub_free.
15727
15728 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
15729
15730 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
15731
15732 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
15733
15734 * docs/grub.texi (Shell-like scripting): Documentation for break,
15735 continue, shift and return commands.
15736
15737 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
15738
15739 Rename CD-ROM to cd on BIOS.
15740
15741 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
15742 "cd".
15743 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
15744
15745 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15746
15747 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
15748 * util/grub-probe.c (main): Likewise.
15749 * util/i386/pc/grub-setup.c (main): Likewise.
15750 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
15751 Reported and debugged by: alexxy
15752
15753 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15754
15755 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
15756 diagnostic info.
15757
15758 2010-09-05 Jo Shields <directhex@apebox.org>
15759
15760 * util/grub.d/30_os-prober.in: Add missing classes.
15761
15762 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15763
15764 * docs/grub.texi (Theme file format): Document new position format.
15765
15766 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15767
15768 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
15769 a table. Use @code instead of @verbatim.
15770
15771 2010-09-05 Colin D Bennett <colin@gibibit.com>
15772
15773 Gfxmenu documentation.
15774
15775 * docs/grub.texi (Theme file format): New chapter.
15776
15777 2010-09-05 Szymon Janc <szymon@janc.net.pl>
15778
15779 * grub-core/Makefile.core.def (xzio): New module.
15780 * grub-core/io/xzio.c: New file.
15781 * grub-core/lib/xzembed/xz.h: New file (from xembed).
15782 * grub-core/lib/xzembed/xz_config.h: Likewise.
15783 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
15784 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
15785 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
15786 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
15787 * grub-core/lib/xzembed/xz_private.h: Likewise.
15788 * grub-core/lib/xzembed/xz_stream.h: Likewise.
15789 * include/grub/file.h (grub_file_filter_id): New compression filter
15790 GRUB_FILE_FILTER_XZIO.
15791
15792 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15793
15794 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
15795 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
15796 size.
15797
15798 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15799
15800 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
15801 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
15802
15803 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15804
15805 Uncompressed checksum support.
15806
15807 * grub-core/commands/hashsum.c (options): Add option --uncompress.
15808 (check_list): New parameter uncompress.
15809 (grub_cmd_hashsum): Handle --uncompress.
15810
15811 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15812
15813 Reintroduce testload.
15814
15815 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
15816 from here ...
15817 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
15818 (GRUB_MOD_INIT): New function.
15819 (GRUB_MOD_FINI): Likewise.
15820 * grub-core/Makefile.core.def (testload): New module.
15821
15822 2010-09-05 Szymon Janc <szymon@janc.net.pl>
15823
15824 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
15825 (uint8_t): New type.
15826 (uint16_t): Likewise.
15827 (uint32_t): Likewise.
15828 (uint64_t): Likewise.
15829
15830 2010-09-05 Szymon Janc <szymon@janc.net.pl>
15831
15832 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
15833
15834 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15835
15836 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
15837 Made static.
15838 (grub_gzfile_open): Removed. All users updated.
15839 (GRUB_MOD_INIT): New function.
15840 (GRUB_MOD_FINI): Likewise.
15841 * grub-core/kern/file.c (grub_file_filters_all): New variable.
15842 (grub_file_filters_enabled): Likewise.
15843 (grub_file_open): Handle filters.
15844 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
15845 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
15846 * include/grub/file.h (grub_file_filter_id_t): New type.
15847 (grub_file_filter_t): Likewise.
15848 (grub_file_filters_all): New extern variable.
15849 (grub_file_filters_enabled): Likewise.
15850 (grub_file_filter_register): New inline function.
15851 (grub_file_filter_unregister): Likewise.
15852 (grub_file_filter_disable): Likewise.
15853 (grub_file_filter_disable_compression): Likewise.
15854 * include/grub/gzio.h: Removed.
15855
15856 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15857
15858 Filename expansion support for wildcards in GRUB script.
15859
15860 * tests/grub_script_expansion.in: New test.
15861 * Makefile.util.def: Rule for new test.
15862
15863 * grub-core/commands/wildcard.c: New file, implements filename
15864 expansion support for GRUB script.
15865 * grub-core/Makefile.core.def: Rule update for regexp.mod.
15866 * grub-core/script/argv.c: Cosmetic changes.
15867 * grub-core/script/execute.c (grub_script_arglist_to_argv):
15868 Refactored to perform wildcard expansion on arguments.
15869 * include/grub/script_sh.h (grub_script_wildcard_translator): New
15870 struct.
15871
15872 * tests/util/grub-shell.in: Fix quoting for read input.
15873
15874 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15875
15876 Support for updating environment variables with matched substrings
15877 of regexp.
15878
15879 * tests/grub_cmd_regexp.in: New test.
15880 * Makefile.util.def: Rule for new test.
15881
15882 * grub-core/commands/regexp.c: New option -s to update environment
15883 variables with regexp matches.
15884
15885 2010-09-04 Szymon Janc <szymon@janc.net.pl>
15886
15887 * include/grub/file.h (grub_file): New member not_easly_seekable.
15888 (grub_file_seekable): New inline function.
15889 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
15890 easily seekable.
15891 (grub_gzio_open): Set not_easly_seekable.
15892 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
15893 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
15894
15895 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15896
15897 Support for options to appear multiple times on cmdline.
15898
15899 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
15900 * grub-core/commands/extcmd.c: Support for repeatable option.
15901 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
15902 repeatable option support.
15903
15904 Refactor menuentry into a regular command.
15905
15906 * grub-core/commands/menuentry.c: New file, menuentry command
15907 implementation.
15908 * grub-core/Makefile.core.def: Rule update for normal.mod.
15909 * grub-core/normal/main.c: Moved menuentry creation to
15910 grub-core/commands/menuentry.c.
15911 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
15912 (grub_menu_execute_entry_real): Removed.
15913 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
15914 function.
15915 (grub_script_execute_menuentry): Removed.
15916 * grub-core/script/parser.y (menuentry): Removed.
15917 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
15918 * grub-core/script/yylex.l (menuentry): Removed.
15919 * include/grub/menu.h (grub_menu_init): New prototype.
15920 (grub_menu_fini): New prototype.
15921 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
15922 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
15923 (grub_script_execute_sourcecode): New prototype.
15924
15925 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15926
15927 "return" command for GRUB script functions.
15928
15929 * tests/grub_script_return.in: New test.
15930 * Makefile.util.def: Rules for new test.
15931
15932 * grub-core/script/execute.c (grub_script_return): New function.
15933 * grub-core/script/main.c: Register/unregister return commaond.
15934 * include/grub/script_sh.h (grub_script_return): New prototype.
15935
15936 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15937
15938 "setparams" command to update positional parameters.
15939
15940 * tests/grub_script_setparams.in: New test.
15941 * Makefile.util.def: Rules for new test.
15942
15943 * grub-core/script/argv.c (grub_script_argv_make): New function.
15944 * grub-core/script/execute.c (replace_scope): New function.
15945 (grub_script_setparams): New function.
15946 * grub-core/script/lexer.c: Remove unused variables.
15947 * grub-core/script/main.c: Register/unregister setparams command.
15948 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
15949 (grub_script_setparams): New prototype.
15950
15951 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15952
15953 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
15954 grub_free order.
15955
15956 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15957
15958 Support for passing block of commands as an argument to extcmds.
15959
15960 * Makefile.util.def: Rules for new test.
15961 * tests/grub_script_blockarg.in: New test.
15962 * grub-core/tests/test_blockarg.c: New file, block argument
15963 command used in the test.
15964
15965 * include/grub/extcmd.h (grub_extcmd_context): New struct.
15966 (grub_register_extcmd_prio): New function prototype.
15967 (grub_extcmd_dispatcher): New function prototype.
15968 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
15969 type.
15970 * include/grub/script_sh.h (struct grub_script): New members
15971 `children', `next_siblings' and `refcnt' for block arguments and
15972 reference counting.
15973 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
15974 (grub_script_arg): New member `script' for block argument.
15975 (grub_script_argv): New member `script' for block argument.
15976 (grub_parser_param): New member `scripts' for block argument.
15977 (grub_script_mem_free): New extern function prototype.
15978 (grub_script_ref): New function prototype.
15979 (grub_script_unref): New function prototype.
15980
15981 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
15982 extcmd form to support block arguments.
15983 * grub-core/script/argv.c: Block arguments support.
15984 * grub-core/script/execute.c: Likewise.
15985 * grub-core/script/lexer.c: Likewise.
15986 * grub-core/script/main.c: Likewise.
15987 * grub-core/script/script.c: Likewise.
15988 * grub-core/script/parser.y: Likewise. New `block' and `block0'
15989 non-terminals.
15990
15991 * grub-core/commands/acpi.c: Update extcmd implementations with
15992 grub_extcmd_context_t.
15993 * grub-core/commands/cat.c: Likewise.
15994 * grub-core/commands/echo.c: Likewise.
15995 * grub-core/commands/extcmd.c: Likewise.
15996 * grub-core/commands/hashsum.c: Likewise.
15997 * grub-core/commands/hdparm.c: Likewise.
15998 * grub-core/commands/help.c: Likewise.
15999 * grub-core/commands/hexdump.c: Likewise.
16000 * grub-core/commands/i386/cpuid.c: Likewise.
16001 * grub-core/commands/i386/pc/drivemap.c: Likewise.
16002 * grub-core/commands/i386/pc/halt.c: Likewise.
16003 * grub-core/commands/i386/pc/sendkey.c: Likewise.
16004 * grub-core/commands/iorw.c: Likewise.
16005 * grub-core/commands/keystatus.c: Likewise.
16006 * grub-core/commands/loadenv.c: Likewise.
16007 * grub-core/commands/ls.c: Likewise.
16008 * grub-core/commands/lspci.c: Likewise.
16009 * grub-core/commands/memrw.c: Likewise.
16010 * grub-core/commands/probe.c: Likewise.
16011 * grub-core/commands/search_wrap.c: Likewise.
16012 * grub-core/commands/setpci.c: Likewise.
16013 * grub-core/commands/sleep.c: Likewise.
16014 * grub-core/disk/loopback.c: Likewise.
16015 * grub-core/hello/hello.c: Likewise.
16016 * grub-core/loader/i386/bsd.c: Likewise.
16017 * grub-core/loader/xnu.c: Likewise.
16018 * grub-core/term/gfxterm.c: Likewise.
16019 * grub-core/term/serial.c: Likewise.
16020 * grub-core/tests/lib/functional_test.c: Likewise.
16021
16022 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16023
16024 Multi-line quoted strings support.
16025
16026 * grub-core/script/lexer.c (append_newline): Removed.
16027 (grub_script_lexer_yywrap): Refactored.
16028 (grub_script_lexer_init): Refactored.
16029 * grub-core/script/yylex.l (yywrap): New function.
16030 (grub_lexer_resplit): New function.
16031 (grub_lexer_unput): New function.
16032 * include/grub/script_sh.h (grub_lexer_param): New members, unput
16033 and resplit.
16034 * tests/grub_script_echo1.in: Added few more testcases.
16035
16036 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
16037
16038 * grub-core/kern/misc.c: Don't add abort alias in utils.
16039 Reported by: echoline.
16040
16041 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
16042
16043 Add missing files into "make dist" tarball for other platforms.
16044
16045 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
16046 * conf/Makefile.common (dist_noinst_DATA): New variable.
16047 * conf/Makefile.extra-dist: Added missing make dist files.
16048 * grub-core/Makefile.core.def: Likewise.
16049
16050 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
16051
16052 Compress grub_prefix.
16053
16054 * grub-core/boot/i386/pc/lnxboot.S: Use
16055 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
16056 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
16057 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
16058 GRUB_MACHINE_PREFIX_END. All users updated.
16059 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
16060 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
16061 + 0x40.
16062 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
16063 * util/grub-mkimage.c (image_target_desc): Change data_end to
16064 prefix_end. All users updated.
16065
16066 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
16067
16068 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
16069 value.
16070 (grub_openbsd_boot): Likewise.
16071 (grub_netbsd_boot): Likewise.
16072 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
16073 (grub_xnu_boot): Likewise.
16074
16075 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16076
16077 * configure.ac: Clean LIBS variable after tests.
16078
16079 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
16080
16081 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
16082
16083 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16084
16085 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
16086 echo if libdevmapper will be used.
16087
16088 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
16089
16090 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
16091 constant for the same file.
16092
16093 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16094
16095 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
16096
16097 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
16098
16099 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
16100 grub-core/*.pp.
16101
16102 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
16103
16104 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
16105 required by the boot protocol.
16106
16107 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
16108 ebp and edi members.
16109 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
16110 state.ebp and state.edi.
16111 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
16112 %ebp and %edi according to grub_relocator32_ebp and
16113 grub_relocator32_edi respectively.
16114 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
16115 and state.edi.
16116
16117 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16118
16119 Add i386-pc-pxe image target.
16120
16121 * util/grub-mkimage.c (image_target_desc): New enum value
16122 IMAGE_I386_PC_PXE.
16123 (image_targets): New target i386-pc-pxe.
16124 (generate_image): Handle i386-pc-pxe image.
16125
16126 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16127
16128 Fix grub_pxe_scan.
16129
16130 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
16131 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
16132 All users updated.
16133 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
16134 (grub_pxe_pxenv): Correct type.
16135
16136 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
16137
16138 * NEWS: Document most of the important changes since 1.98.
16139
16140 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
16141
16142 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
16143 generated manual page) a little.
16144
16145 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
16146
16147 * docs/grub.texi: Add myself as an author.
16148
16149 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
16150
16151 * Makefile.util.def (libgrub.a): Add missing sunpc.
16152 Reported by: Seth Goldberg.
16153
16154 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16155
16156 Interrupt wrapping and code simplifications.
16157
16158 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
16159 x86_noieee1275 which are functionaly equivalent in this case.
16160 (grub-install): Make source on each platform explicit. Enable on
16161 all noemu.
16162 * gentpl.py (x86_efi_pc): Removed group.
16163 (x86_noefi): Likewise.
16164 (i386_noefi): Likewise.
16165 (x86_noieee1275): Likewise.
16166 (i386_noieee1275): Likewise.
16167 (i386_noefi_noieee1275): Likewise.
16168 (i386_pc_qemu_coreboot): Likewise.
16169 (i386_coreboot_multiboot): Likewise.
16170 (i386_pc_coreboot_multiboot_qemu): Likewise.
16171 (x86_noefi_mips): Likewise.
16172 (noieee1275): Likewise.
16173 (ieee1275_mips): Likewise.
16174 (noemu_noieee1275): Likewise.
16175 (cmos): New group.
16176 (usb): Likewise.
16177 (videoinkernel): Likewise.
16178 (videomodules): Likewise.
16179 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
16180 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
16181 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
16182 include/grub/loader.h, include/grub/msdos_partition.h,
16183 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
16184 include/grub/machine/console.h, include/grub/machine/vga.h,
16185 include/grub/machine/vbe.h, include/grub/machine/init.h,
16186 include/grub/machine/kernel.h, include/grub/cpu/time.h,
16187 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
16188 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
16189 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
16190 * grub-core/Makefile.core.def (kernel): Explicit the source for
16191 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
16192 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
16193 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
16194 Use videoinkernel tag.
16195 (usb): Enable on all usb.
16196 (usbserial_common): Likewise.
16197 (usbserial_pl2303): Likewise.
16198 (usbserial_ftdi): Likewise.
16199 (uhci): Enable on all x86.
16200 (ohci): Enable on all pci.
16201 (cmostest): Enable on all CMOS.
16202 (acpi): Include commands/acpi.c on all platforms.
16203 (halt): Add relevant lib/*/halt.c.
16204 (hdparm): Enable on all pci.
16205 (lspci): Likewise.
16206 (usbtest): Enable on all usb.
16207 (ata): Enable on all pci.
16208 (ata_pthru): Likewise.
16209 (usbms): Enable on all usb.
16210 (usb_keyboard): Likewise.
16211 (font): Use tag videomodules.
16212 (bufio): Likewise.
16213 (datetime): Use tag cmos. Enable on all noemu.
16214 (mmap): Use tags common and x86.
16215 (gfxterm): Use tag videomodules.
16216 (bitmap): Likewise.
16217 (bitmap_scale): Likewise.
16218 (video_fb): Likewise.
16219 (video): Likewise.
16220 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
16221 adjust padding accordingly. All users updated.
16222 (grub_ohci_transaction): Fix bad format specification.
16223 (GRUB_MOD_INIT): Add asserts for struct size.
16224 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
16225 (grub_alloc_td): Likewise.
16226 (grub_free_queue): Likewise.
16227 (grub_uhci_transfer): Likewise.
16228 (grub_uhci_transaction): Fix bad format specification.
16229 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
16230 (grub_usb_bulk_readwrite): Likewise.
16231 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
16232 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
16233 Made static.
16234 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
16235 Made static.
16236 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
16237 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
16238 Transformed into C.
16239 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
16240 Moved from here ...
16241 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
16242 ... here. Transformed into C. Made static.
16243 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
16244 Moved from here ...
16245 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
16246 ... here. Transformed into C. Made static.
16247 * grub-core/kern/i386/pc/startup.S
16248 (grub_biosdisk_check_int13_extensions): Moved from here ...
16249 * grub-core/disk/i386/pc/biosdisk.c
16250 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
16251 Made static.
16252 * grub-core/kern/i386/pc/startup.S
16253 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
16254 * grub-core/disk/i386/pc/biosdisk.c
16255 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
16256 Transformed into C. Made static.
16257 * grub-core/kern/i386/pc/startup.S
16258 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
16259 * grub-core/disk/i386/pc/biosdisk.c
16260 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
16261 Transformed into C. Made static.
16262 * grub-core/kern/i386/pc/startup.S
16263 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
16264 * grub-core/disk/i386/pc/biosdisk.c
16265 (grub_biosdisk_get_diskinfo_standard): ... here.
16266 Transformed into C. Made static.
16267 * grub-core/kern/i386/pc/startup.S
16268 (grub_biosdisk_get_num_floppies): Moved from here ...
16269 * grub-core/disk/i386/pc/biosdisk.c
16270 (grub_biosdisk_get_num_floppies): ... here.
16271 Transformed into C. Made static.
16272 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
16273 New function.
16274 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
16275 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
16276 Transformed into C. Made static.
16277 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
16278 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
16279 Transformed into C. Made static.
16280 * grub-core/kern/i386/ieee1275/init.c: Removed.
16281 * grub-core/kern/i386/misc.S: Likewise.
16282 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
16283 Splitted from here ...
16284 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
16285 Transformed into C. Made static. All users updated.
16286 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
16287 Transformed into C. Made static. All users updated.
16288 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
16289 Moved from here...
16290 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
16291 Transformed into C. Made static. All users updated.
16292 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
16293 Moved from here...
16294 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
16295 Transformed into C. Made static. All users updated.
16296 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
16297 Removed (replaced by C version).
16298 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
16299 Moved from here...
16300 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
16301 Transformed into C. Made static.
16302 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
16303 Moved from here...
16304 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
16305 ... here. Transformed into C.
16306 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
16307 Moved from here...
16308 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
16309 ... here. Transformed into C.
16310 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
16311 Moved from here...
16312 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
16313 ... here. Transformed into C. Made static.
16314 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
16315 Moved from here...
16316 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
16317 ... here. Transformed into C.
16318 * grub-core/kern/i386/pc/startup.S
16319 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
16320 * grub-core/video/i386/pc/vbe.c
16321 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
16322 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
16323 Moved from here...
16324 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
16325 ... here. Transformed into C.
16326 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
16327 Moved from here...
16328 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
16329 ... here. Transformed into C.
16330 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
16331 Moved from here...
16332 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
16333 ... here. Transformed into C.
16334 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
16335 Moved from here...
16336 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
16337 ... here. Transformed into C.
16338 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
16339 Moved from here...
16340 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
16341 ... here. Transformed into C. Made static.
16342 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
16343 Moved from here...
16344 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
16345 ... here. Transformed into C. Made static.
16346 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
16347 Moved from here...
16348 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
16349 ... here. Transformed into C. Made static.
16350 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
16351 pxe_rm_entry as third argument.
16352 (grub_bios_interrupt): New function.
16353 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
16354 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
16355 of calling grub_stop.
16356 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
16357 * grub-core/lib/efi/halt.c (grub_halt): ...here.
16358 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
16359 * grub-core/lib/emu/halt.c (grub_halt): ... here.
16360 * grub-core/lib/i386/halt.c: Moved from here ...
16361 * grub-core/lib/i386/halt.c: ... here.
16362 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
16363 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
16364 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
16365 grub_stop_floppy.
16366 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
16367 * include/grub/i386/coreboot/init.h: Removed.
16368 * include/grub/i386/multiboot/init.h: Likewise.
16369 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
16370 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
16371 * include/grub/i386/pc/int.h: New file.
16372 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
16373 (grub_pxe_scan): Removed.
16374 (grub_pxe_call): Update prototype.
16375 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
16376 prototypes.
16377 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
16378 * include/grub/i386/qemu/init.h: Removed.
16379 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
16380 noreturn.
16381 (grub_halt): Likewise.
16382 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
16383 (grub_reboot): Likewise.
16384 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
16385 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
16386 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
16387
16388 2010-08-30 Robert Millan <rmh@gnu.org>
16389
16390 * NEWS: Document addition of ZFS support in `grub-install' and
16391 `grub-mkconfig'.
16392
16393 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
16394
16395 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
16396 dprintf output.
16397
16398 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16399
16400 Remove leftover embedding of font objects.
16401
16402 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
16403 * util/grub-install.in (font): Removed.
16404 * util/grub-mkimage.c (generate_image): Remove font support. All users
16405 updated.
16406
16407 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16408
16409 Remove leftover embedding of font objects.
16410
16411 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
16412 * util/grub-install.in (font): Removed.
16413 * util/grub-mkimage.c (generate_image): Remove font support. All users
16414 updated.
16415
16416 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16417
16418 * docs/grub.texi (Network): Fix reference to pxe_blksize.
16419 Reported by: Ian Turner
16420
16421 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16422
16423 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
16424 timeout to avoid indefinite boot stalling.
16425
16426 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16427
16428 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
16429 (grub_env_write_color_highlight): Likewise.
16430
16431 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16432
16433 * grub-core/normal/term.c (print_more): Return to normal and not
16434 to standard state after printing "---MORE---".
16435
16436 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16437
16438 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
16439 Mask out the bit 0x80 since it has other meaning that specifiing color.
16440
16441 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16442
16443 New relocator. Allows for more kernel support and more straightforward
16444 loader writing.
16445
16446 * Makefile.am (BOOTTARGET): New variable.
16447 (QEMU32): Likewise.
16448 (linux.init.x86_64): New target.
16449 (linux.init.i386): Likewise.
16450 (multiboot.elf): Likewise.
16451 (kfreebsd.elf): Likewise.
16452 (kfreebsd.aout): Likewise.
16453 (pc-chainloader.elf): Likewise.
16454 (pc-chainloader.bin): Likewise.
16455 (ntldr.elf): Likewise.
16456 (ntldr.bin): Likewise.
16457 (multiboot2.elf): Likewise.
16458 (kfreebsd.init.x86_64): Likewise.
16459 (kfreebsd.init.i386): Likewise.
16460 (knetbsd.init.i386): Likewise.
16461 (kopenbsd.init.i386): Likewise.
16462 (knetbsd.init.x86_64): Likewise.
16463 (kopenbsd.init.x86_64): Likewise.
16464 (linux-initramfs.i386): Likewise.
16465 (linux-initramfs.x86_64): Likewise.
16466 (kfreebsd-mfsroot.i386.img): Likewise.
16467 (knetbsd.image.i386): Likewise.
16468 (kopenbsd.image.i386): Likewise.
16469 (kopenbsd.image.x86_64): Likewise.
16470 (knetbsd.miniroot-image.i386.img): Likewise.
16471 (kfreebsd-mfsroot.x86_64.img): Likewise.
16472 (knetbsd.image.x86_64): Likewise.
16473 (knetbsd.miniroot-image.x86_64.img): Likewise.
16474 (kfreebsd-mfsroot.i386.gz): Likewise.
16475 (bootcheck-kfreebsd-i386): Likewise.
16476 (kfreebsd-mfsroot.x86_64.gz): Likewise.
16477 (bootcheck-kfreebsd-x86_64): Likewise.
16478 (knetbsd.miniroot-image.i386.gz): Likewise.
16479 (bootcheck-knetbsd-i386): Likewise.
16480 (bootcheck-kopenbsd-i386): Likewise.
16481 (bootcheck-kopenbsd-x86_64): Likewise.
16482 (knetbsd.miniroot-image.x86_64.gz): Likewise.
16483 (bootcheck-knetbsd-x86_64): Likewise.
16484 (bootcheck-linux-i386): Likewise.
16485 (bootcheck-linux-x86_64): Likewise.
16486 (bootcheck-linux16-i386): Likewise.
16487 (bootcheck-linux16-x86_64): Likewise.
16488 (bootcheck-multiboot): Likewise.
16489 (bootcheck-multiboot2): Likewise.
16490 (bootcheck-kfreebsd-aout): Likewise.
16491 (bootcheck-pc-chainloader): Likewise.
16492 (bootcheck-ntldr): Likewise.
16493 (CLEANFILES): Add new targets.
16494 (BOOTCHECKS): New variable.
16495 (.PHONY): Add bootchecks.
16496 (SUCCESSFUL_BOOT_STRING): New variable.
16497 (BOOTCHECK_TIMEOUT): Likewise.
16498 (bootcheck): New target
16499 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
16500 * configure.ac: Correct efiemu excuse.
16501 * docs/grub.texi (Supported kernels): New chapter.
16502 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
16503 include/grub/mm_private.h. Simplify inclusion of
16504 include/grub/boot.h, include/grub/loader.h
16505 and include/grub/msdos_partition.h
16506 (KERNEL_HEADER_FILES) [i386_coreboot]:
16507 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
16508 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
16509 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
16510 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
16511 include/grub/machine/loader.h.
16512 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
16513 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
16514 extra_dist.
16515 (pci.mod): Enable on i386-multiboot.
16516 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
16517 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
16518 i386-qemu.
16519 (relocator.mod): Rewritten.
16520 (aout.mod): Enable on all x86.
16521 (bsd.mod): Likewise.
16522 (ntldr.mod): New module.
16523 (linux.mod): Use loader/i386/linux.c on all x86.
16524 (xnu.mod): Enable on all x86.
16525 (vga_text.mod): disable on EFI and QEMU.
16526 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
16527 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
16528 * grub-core/efiemu/loadcore.c: Likewise.
16529 * grub-core/efiemu/main.c: Likewise.
16530 (grub_efiemu_exit_boot_services): Removed.
16531 (grub_efiemu_finish_boot_services): Likewise.
16532 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
16533 function.
16534 * grub-core/efiemu/i386/nocfgtables.c: New file.
16535 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
16536 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
16537 (grub_efi_finish_boot_services): Moved from here ...
16538 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
16539 Fille finish memory map and related data.
16540 (finish_mmap_buf): New variable.
16541 (grub_efi_uintn_t finish_mmap_size): Likewise.
16542 (grub_efi_uintn_t finish_key): Likewise.
16543 (grub_efi_uintn_t finish_desc_size): Likewise.
16544 (grub_efi_uint32_t finish_desc_version): Likewise.
16545 (grub_efi_is_finished): Likewise.
16546 (grub_efi_get_memory_map): Use saved memory map if EFI is already
16547 finished.
16548 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
16549 (grub_elf64_phdr_iterate): Likewise.
16550 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
16551 (grub_os_area_size): Likewise.
16552 (grub_machine_init): Don't reserve os area.
16553 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
16554 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
16555 * grub-core/kern/i386/loader.S: Removed.
16556 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
16557 (grub_os_area_size): Likewise.
16558 (grub_machine_init): Don't reserve os area.
16559 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
16560 Don't call grub_dl_unload_all.
16561 Don't include loader.S.
16562 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
16563 Declare the memory after _end as available.
16564 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
16565 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
16566 (GRUB_MM_ALLOC_MAGIC): Moved from here...
16567 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
16568 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
16569 * include/grub/mm_private.h (grub_mm_header): ... here.
16570 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
16571 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
16572 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
16573 (grub_mm_region): ..here. Removed addr. Added pre_size.
16574 All users updated.
16575 * grub-core/kern/mm.c (base): Renamed to ...
16576 (grub_mm_base): ... this. Made global.
16577 (grub_real_malloc): Alloc from end of region.
16578 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
16579 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
16580 * grub-core/kern/powerpc/cache_flush.S: ... here.
16581 * grub-core/lib/efi/relocator.c: New file.
16582 * grub-core/lib/i386/relocator.c: Rewritten.
16583 * grub-core/lib/i386/relocator16.S: New file.
16584 * grub-core/lib/i386/relocator32.S: Likewise.
16585 * grub-core/lib/i386/relocator64.S: Likewise.
16586 * grub-core/lib/i386/relocator_asm.S: Rewritten.
16587 * grub-core/lib/i386/relocator_common.S: New file.
16588 * grub-core/lib/ieee1275/relocator.c: Likewise.
16589 * grub-core/lib/mips/relocator.c: Rewritten.
16590 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
16591 stylistic adjustments.
16592 * grub-core/lib/powerpc/relocator.c: New file.
16593 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
16594 * grub-core/lib/relocator.c: Rewritten.
16595 * grub-core/lib/x86_64/relocator_asm.S: New file.
16596 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
16597 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
16598 (bsd_tag): New struct.
16599 (tags): New variable.
16600 (tags_last): Likewise.
16601 (netbsd_module): New struct.
16602 (netbsd_mods): New variable.
16603 (netbsd_mods_last): Likewise.
16604 (openbsd_opts): New parameter "serial".
16605 (OPENBSD_SERIAL_ARG): New definition.
16606 (netbsd_opts): New parameter "serial".
16607 (NETBSD_SERIAL_ARG): New definition.
16608 (grub_freebsd_add_meta): Reorganised into ...
16609 (grub_bsd_add_meta): ...this. All users updated.
16610 (grub_freebsd_add_mmap): Reorganised into ...
16611 (generate_e820_mmap): ...this...
16612 (grub_bsd_add_mmap): ...and this. All users updated.
16613 (grub_freebsd_list_modules): Use tags.
16614 (grub_netbsd_add_meta_module): New function.
16615 (grub_netbsd_list_modules): Likewise.
16616 (grub_freebsd_boot): Use relocator and finish EFI.
16617 (grub_openbsd_boot): Likewise.
16618 (grub_netbsd_setup_video): New function.
16619 (grub_netbsd_add_modules): Likewise.
16620 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
16621 and finish EFI.
16622 (grub_bsd_unload): Unload tags.
16623 (grub_bsd_load_aout): Use relocator.
16624 (grub_bsd_elf32_size_hook): New function.
16625 (grub_bsd_elf32_hook): Use relocator.
16626 (grub_bsd_elf64_size_hook): New function.
16627 (grub_bsd_elf64_hook): Use relocator.
16628 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
16629 (grub_bsd_load): Zero-out openbsd_ramdisk.
16630 (grub_bsd_load): Use relocator.
16631 (grub_cmd_openbsd): Support serial.
16632 (grub_cmd_netbsd): Support modules.
16633 (grub_cmd_freebsd_module): Use relocator.
16634 (grub_netbsd_module_load): New function.
16635 (grub_cmd_netbsd_module): Likewise.
16636 (grub_cmd_openbsd_ramdisk): Likewise.
16637 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
16638 kopenbsd_ramdisk.
16639 (GRUB_MOD_FINI): Unregister new commands.
16640 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
16641 (grub_freebsd_load_elfmodule_obj): Use relocator.
16642 (grub_freebsd_load_elfmodule): Likewise.
16643 (grub_freebsd_load_elf_meta): Likewise.
16644 (grub_netbsd_load_elf_meta): New function.
16645 (grub_openbsd_find_ramdisk): Likewise.
16646 * grub-core/loader/i386/bsd_helper.S: Removed.
16647 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
16648 * grub-core/loader/i386/bsd_trampoline.S: Removed.
16649 * grub-core/loader/i386/efi/linux.c: Likewise.
16650 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
16651 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
16652 (DEFAULT_VIDEO_MODE): Likewise.
16653 (real_mode_target): New variable.
16654 (prot_mode_target): Likewise.
16655 (initrd_mem_target): Likewise.
16656 (relocator): Likewise.
16657 (efi_mmap_buf): Likewise.
16658 (efi_mmap_size): Likewise.
16659 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
16660 (free_pages): Use relocator.
16661 (allocate_pages): Account for efi_mmap and use relocator. Return error.
16662 (grub_linux_setup_video): Return error.
16663 (grub_linux_trampoline_start): Removed.
16664 (grub_linux_trampoline_end): Likewise.
16665 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
16666 andd video parameters depending on firmware.
16667 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
16668 [GRUB_MACHINE_EFI]: Pass EFI parameters.
16669 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
16670 (grub_cmd_initrd): Use relocator.
16671 * grub-core/loader/i386/linux_trampoline.S: Removed.
16672 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
16673 (elf_sec_entsize): Likewise.
16674 (elf_sec_shstrndx): Likewise.
16675 (elf_sections): Likewise.
16676 (grub_multiboot_load): Use relocator.
16677 (grub_multiboot_get_mbi_size): Account for sections.
16678 (grub_multiboot_make_mbi): Use relocator and support sections.
16679 (grub_multiboot_add_elfsyms): New function.
16680 (grub_multiboot_free_mbi): Free sections.
16681 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
16682 (grub_linux_real_target): Likewise.
16683 (grub_linux_real_chunk): Likewise.
16684 (grub_linux16_prot_size): Likewise.
16685 (grub_linux16_boot): Use relocator.
16686 (grub_linux_unload): Unload relocator.
16687 (grub_cmd_linux): Use relocator.
16688 (grub_cmd_initrd): Likewise.
16689 * grub-core/loader/i386/pc/ntldr.c: New file.
16690 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
16691 Don't try to guess CPU frequency.
16692 (grub_xnu_set_video): Stretch bitmap.
16693 (grub_xnu_boot): Use relocator.
16694 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
16695 (grub_linux_unload): Free relocator.
16696 (grub_linux_load32): Use relocator.
16697 (grub_linux_load64): Likewise.
16698 (grub_cmd_initrd): Likewise.
16699 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
16700 (grub_multiboot_unload): Unload relocator.
16701 (grub_cmd_multiboot): Use relocator.
16702 (grub_cmd_module): Likewise.
16703 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
16704 Use relocator and support sections.
16705 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
16706 (elf_sec_entsize): Likewise.
16707 (elf_sec_shstrndx): Likewise.
16708 (elf_sections): Likewise.
16709 (grub_multiboot_load): Use relocator.
16710 (grub_multiboot_get_mbi_size): Account for sections.
16711 (grub_multiboot_make_mbi): Use relocator and support sections.
16712 (grub_multiboot_add_elfsyms): New function.
16713 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
16714 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
16715 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
16716 Prototype changed. All users updated.
16717 (grub_xnu_align_heap): Simplified.
16718 (grub_xnu_writetree_toheap): Likewise.
16719 (grub_xnu_unload): Unload relocator.
16720 (grub_cmd_xnu_kernel): Use relocator.
16721 (grub_cmd_xnu_kernel64): Likewise.
16722 (grub_xnu_register_memory): Simplified.
16723 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
16724 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
16725 EFI is finished.
16726 (grub_console_checkkey): Likewise.
16727 (grub_console_getkey): Likewise.
16728 (grub_console_getwh): Likewise.
16729 (grub_console_getxy): Likewise.
16730 (grub_console_gotoxy): Likewise.
16731 (grub_console_cls): Likewise.
16732 (grub_console_setcolorstate): Likewise.
16733 (grub_console_setcursor): Likewise.
16734 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
16735 * grub-core/tests/boot/kbsd.init-i386.S: New file.
16736 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
16737 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
16738 * grub-core/tests/boot/kernel-8086.S: Likewise.
16739 * grub-core/tests/boot/kernel-i386.S: Likewise.
16740 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
16741 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
16742 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
16743 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
16744 * grub-core/tests/boot/knetbsd.cfg: Likewise.
16745 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
16746 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
16747 * grub-core/tests/boot/linux.cfg: Likewise.
16748 * grub-core/tests/boot/linux.init-i386.S: Likewise.
16749 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
16750 * grub-core/tests/boot/linux16.cfg: Likewise.
16751 * grub-core/tests/boot/multiboot.cfg: Likewise.
16752 * grub-core/tests/boot/multiboot2.cfg: Likewise.
16753 * grub-core/tests/boot/ntldr.cfg: Likewise.
16754 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
16755 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
16756 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
16757 New definition.
16758 * include/grub/dl.h (grub_dl_unload_all): Removed.
16759 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
16760 (grub_efi_finish_boot_services): Change prototype.
16761 (grub_efi_is_finished): New variable.
16762 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
16763 Changed prototype.
16764 (grub_efiemu_finish_boot_services): Removed.
16765 (grub_machine_efiemu_init_tables): New prototype.
16766 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
16767 (grub_elf64_phdr_iterate): Likewise.
16768 * include/grub/i386/bsd.h: Include relocator.h.
16769 (freebsd_tag_header): New struct.
16770 (grub_openbsd_bios_mmap): Removed.
16771 (grub_unix_real_boot): Removed.
16772 (grub_freebsd_load_elfmodule32): Changed prototype.
16773 (grub_freebsd_load_elfmodule_obj64): Likewise.
16774 (grub_freebsd_load_elf_meta32): Likewise.
16775 (grub_freebsd_load_elf_meta64): Likewise.
16776 (grub_freebsd_add_meta): Removed.
16777 (grub_netbsd_load_elf_meta32): New prototype.
16778 (grub_netbsd_load_elf_meta64): Likewise.
16779 (grub_bsd_add_meta): Likewise.
16780 (grub_openbsd_ramdisk_descriptor): New struct.
16781 (grub_openbsd_find_ramdisk32): New prototype.
16782 (grub_openbsd_find_ramdisk64): Likewise.
16783 * include/grub/i386/coreboot/loader.h: Removed.
16784 * include/grub/i386/efi/loader.h: Likewise.
16785 * include/grub/i386/ieee1275/loader.h: Likewise.
16786 * include/grub/i386/linux.h (linux_kernel_header): Change void *
16787 to grub_uint32_t.
16788 * include/grub/i386/loader.h: Removed.
16789 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
16790 value.
16791 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
16792 (grub_phys_addr_t): New type.
16793 (grub_vtop): New inline function.
16794 (grub_map_memory): Likewise.
16795 (grub_unmap_memory): Likewise.
16796 * include/grub/i386/multiboot/loader.h: Removed.
16797 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
16798 (NETBSD_BTINFO_CONSOLE): New definition.
16799 (NETBSD_BTINFO_SYMTAB): Likewise.
16800 (NETBSD_BTINFO_MODULES): Likewise.
16801 (NETBSD_BTINFO_FRAMEBUF): Likewise.
16802 (grub_netbsd_bootinfo): New struct.
16803 (grub_netbsd_btinfo_common): Use explicit bitsize.
16804 (grub_netbsd_btinfo_mmap_entry): Removed.
16805 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
16806 (grub_netbsd_btinfo_bootdisk): New struct.
16807 (grub_netbsd_btinfo_symtab): Likewise.
16808 (grub_netbsd_btinfo_serial): Likewise.
16809 (grub_netbsd_btinfo_modules): Likewise.
16810 (grub_netbsd_btinfo_framebuf): Likewise.
16811 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
16812 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
16813 Likewise.
16814 (grub_openbsd_bootargs): Use explicit bitsize.
16815 (grub_openbsd_bootarg_console): New struct.
16816 (GRUB_OPENBSD_COM_MAJOR): New definition.
16817 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
16818 * include/grub/i386/pc/efiemu.h: Removed.
16819 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
16820 * include/grub/i386/qemu/loader.h: Removed.
16821 * include/grub/i386/relocator.h: Rewritten.
16822 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
16823 * include/grub/mips/memory.h: New file.
16824 * include/grub/mips/multiboot.h: Rewritten.
16825 * include/grub/mips/relocator.h: Rewritten.
16826 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
16827 (grub_vtop): New function.
16828 (grub_map_memory): Likewise.
16829 (grub_unmap_memory): Likewise.
16830 * include/grub/misc.h (ALIGN_DOWN): New definition.
16831 * include/grub/mm.h (grub_mm_check_real): New proto.
16832 (GRUB_MM_CHECK): New definition.
16833 * include/grub/mm_private.h: New file.
16834 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
16835 (grub_multiboot_get_mbi_size): Removed.
16836 (grub_multiboot_make_mbi): Change prottype.
16837 (grub_multiboot_set_accepts_video): New proto.
16838 (grub_multiboot_add_elfsyms): Likewise.
16839 (grub_multiboot_payload_eip): New variable.
16840 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
16841 New prototype.
16842 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
16843 New definition.
16844 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
16845 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
16846 * include/grub/powerpc/ieee1275/loader.h: Removed.
16847 * include/grub/powerpc/memory.h: New file.
16848 * include/grub/powerpc/relocator.h: Likewise.
16849 * include/grub/relocator.h: Likewise.
16850 * include/grub/relocator_private.h: Likewise.
16851 * include/grub/sparc64/ieee1275/loader.h: Removed.
16852 * include/grub/x86_64/memory.h: New file.
16853 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
16854 (grub_xnu_heap_malloc): Likewise.
16855 (grub_xnu_heap_real_start): Removed.
16856 (grub_xnu_heap_start): Likewise.
16857 (grub_xnu_relocator): New variable.
16858 (grub_xnu_heap_target_start): Likewise.
16859 * tests/util/grub-shell.in: Support non-pc.
16860 * util/grub-mkimage.c (image_targets): Fix multiboot target.
16861
16862 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16863
16864 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
16865 on malloc error.
16866 (grub_bidi_logical_to_visual): Check that malloc succeded.
16867 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
16868 puts.
16869 (grub_xputs_normal): Likewise.
16870
16871 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16872
16873 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
16874 extra_dist.
16875
16876 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16877
16878 * grub-core/efiemu/runtime/efiemu.sh: Removed.
16879
16880 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16881
16882 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
16883
16884 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16885
16886 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
16887 dprintf.
16888
16889 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
16890
16891 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
16892
16893 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16894
16895 * grub-core/normal/term.c (print_more): Fix a memory leak.
16896 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
16897 (grub_xputs_normal): Likewise.
16898
16899 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16900
16901 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
16902 the begining of the string
16903
16904 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16905
16906 * grub-core/script/script.c (grub_script_parse): Free parsed on
16907 failure.
16908
16909 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16910
16911 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
16912 on failure.
16913
16914 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16915
16916 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
16917 return.
16918
16919 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16920
16921 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
16922 (scroll_up): Fix a memory leak.
16923
16924 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16925
16926 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
16927 errors.
16928
16929 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
16930
16931 Handle USB pendrives exposed as floppies.
16932
16933 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
16934 floppy.
16935 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
16936 Check for partitions on all devices.
16937
16938 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
16939
16940 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
16941 (readkey): Likewise.
16942
16943 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
16944
16945 Multiple variable names support to "export" command.
16946
16947 * normal/context.c (grub_cmd_export): "export" command supports
16948 multiple variable names.
16949
16950 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
16951
16952 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
16953 --target=drive output to Mach device name.
16954
16955 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
16956
16957 New Automake based build system for GRUB.
16958
16959 * ABOUT-NLS: New file.
16960 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
16961 in Makefile.util.def file.
16962 * Makefile.util.def: New file. Autogen build definitions file for
16963 GRUB host utils.
16964 * conf/Makefile.common: New file. Common variables for GRUB host
16965 utils and target modules.
16966 * conf/Makefile.extra-dist: New file. Extra files for make dist.
16967 * docs/Makefile.am: New file. Automake file for docs.
16968 * gentpl.py: New file. Python script to generate Autogen
16969 template.
16970 * grub-core/Makefile.am: New file. GRUB target modules' rules
16971 that doesn't fit in Makefile.core.def file.
16972 * grub-core/Makefile.core.def: New file. Autogen build
16973 definitions file for GRUB target modules.
16974 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
16975 specific setjmp.S file.
16976 * po/Makefile.am: New file.
16977
16978 * .bzrignore: New ignores.
16979 * INSTALL: New requirements, without Ruby.
16980 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
16981 * autogen.sh: Updated to invoke autogen as necessary.
16982 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
16983 and defines for Automake conditionals.
16984 * geninit.sh: Refactoring.
16985
16986 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
16987 necessary.
16988 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
16989 New prototype.
16990
16991 * include/grub/test.h: Fix functional test modules' naming.
16992 * grub-core/tests/example_functional_test.c: Fix test module name.
16993
16994 * util/misc.c: Hosted versions' of grub functions for libgrub.a
16995 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
16996 * util/grub-editenv.c: Likewise.
16997 * util/grub-fstest.c: Likewise.
16998 * util/grub-mkdevicemap.c: Likewise.
16999 * util/grub-mkfont.c: Likewise.
17000 * util/grub-mkimage.c: Likewise.
17001 * util/grub-mkpasswd-pbkdf2.c: Likewise.
17002 * util/grub-probe.c: Likewise.
17003 * util/grub-script-check.c: Likewise.
17004 * util/i386/pc/grub-setup.c: Likewise.
17005 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17006
17007 * tests/util/grub-shell.in: Fix override directory path.
17008 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
17009 * util/import_gcry.py: Create Makefile.gcry.def file instead.
17010
17011 * util/lvm.c: Update #includes.
17012 * util/raid.c: Likewise.
17013 * util/resolve.c: Likewise.
17014 * grub-core/bus/emu/pci.c: Likewise.
17015 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
17016 * grub-core/lib/posix_wrap/string.h: Likewise.
17017 * grub-core/kern/emu/main.c: Likewise.
17018
17019 * grub-core/gensymlist.sh: New file. Script for generating kernel
17020 symbols file.
17021 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
17022
17023 * grub-core/gentrigtables.c: Fix unused variable warnings.
17024
17025 * Makefile.in: Removed.
17026 * conf/any-emu.rmk: Removed.
17027 * conf/common.rmk: Removed.
17028 * conf/i386-coreboot.rmk: Removed.
17029 * conf/i386-efi.rmk: Removed.
17030 * conf/i386-ieee1275.rmk: Removed.
17031 * conf/i386-multiboot.rmk: Removed.
17032 * conf/i386-pc.rmk: Removed.
17033 * conf/i386-qemu.rmk: Removed.
17034 * conf/i386.rmk: Removed.
17035 * conf/mips-yeeloong.rmk: Removed.
17036 * conf/mips.rmk: Removed.
17037 * conf/powerpc-ieee1275.rmk: Removed.
17038 * conf/sparc64-ieee1275.rmk: Removed.
17039 * conf/tests.rmk: Removed.
17040 * conf/x86-efi.rmk: Removed.
17041 * conf/x86_64-efi.rmk: Removed.
17042 * gendistlist.sh: Removed.
17043 * geninitheader.sh: Removed.
17044 * genkernsyms.sh.in: Removed.
17045 * genmk.rb: Removed.
17046 * gensymlist.sh.in: Removed.
17047 * mkinstalldirs: Removed.
17048 * boot: Moved ...
17049 * grub-core/boot: ... to here.
17050 * bus: Moved ...
17051 * grub-core/bus: ... to here.
17052 * commands: Moved ...
17053 * grub-core/commands: ... to here.
17054 * disk: Moved ...
17055 * grub-core/disk: ... to here.
17056 * efiemu: Moved ...
17057 * grub-core/efiemu: ... to here.
17058 * font: Moved ...
17059 * grub-core/font: ... to here.
17060 * fs: Moved ...
17061 * grub-core/fs: ... to here.
17062 * gencmdlist.sh: Moved ...
17063 * grub-core/gencmdlist.sh: ... to here.
17064 * genemuinit.sh: Moved ...
17065 * grub-core/genemuinit.sh: ... to here.
17066 * genemuinitheader.sh: Moved ...
17067 * grub-core/genemuinitheader.sh: ... to here.
17068 * genfslist.sh: Moved ...
17069 * grub-core/genfslist.sh: ... to here.
17070 * genhandlerlist.sh: Moved ...
17071 * grub-core/genhandlerlist.sh: ... to here.
17072 * genmoddep.awk: Moved ...
17073 * grub-core/genmoddep.awk: ... to here.
17074 * genmodsrc.sh: Moved ...
17075 * grub-core/genmodsrc.sh: ... to here.
17076 * genpartmaplist.sh: Moved ...
17077 * grub-core/genpartmaplist.sh: ... to here.
17078 * genparttoollist.sh: Moved ...
17079 * grub-core/genparttoollist.sh: ... to here.
17080 * genterminallist.sh: Moved ...
17081 * grub-core/genterminallist.sh: ... to here.
17082 * gentrigtables.c: Moved ...
17083 * grub-core/gentrigtables.c: ... to here.
17084 * genvideolist.sh: Moved ...
17085 * grub-core/genvideolist.sh: ... to here.
17086 * gettext: Moved ...
17087 * grub-core/gettext: ... to here.
17088 * gfxmenu: Moved ...
17089 * grub-core/gfxmenu: ... to here.
17090 * gnulib: Moved ...
17091 * grub-core/gnulib: ... to here.
17092 * hello: Moved ...
17093 * grub-core/hello: ... to here.
17094 * hook: Moved ...
17095 * grub-core/hook: ... to here.
17096 * io: Moved ...
17097 * grub-core/io: ... to here.
17098 * kern: Moved ...
17099 * grub-core/kern: ... to here.
17100 * lib: Moved ...
17101 * grub-core/lib: ... to here.
17102 * loader: Moved ...
17103 * grub-core/loader: ... to here.
17104 * mmap: Moved ...
17105 * grub-core/mmap: ... to here.
17106 * normal: Moved ...
17107 * grub-core/normal: ... to here.
17108 * partmap: Moved ...
17109 * grub-core/partmap: ... to here.
17110 * parttool: Moved ...
17111 * grub-core/parttool: ... to here.
17112 * script: Moved ...
17113 * grub-core/script: ... to here.
17114 * term: Moved ...
17115 * grub-core/term: ... to here
17116 * tests/example_functional_test.c: Moved ...
17117 * grub-core/tests/example_functional_test.c: ... to here.
17118 * tests/lib/functional_test.c: Moved ...
17119 * grub-core/tests/lib/functional_test.c: ... to here.
17120 * tests/lib/test.c: Moved ...
17121 * grub-core/tests/lib/test.c: ... to here.
17122 * video: Moved ...
17123 * grub-core/video: ... to here.
17124
17125 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
17126
17127 Replace --enable-grub-emu-modules with grub-emu-lite.
17128
17129 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
17130 cache.S.
17131
17132 * include/grub/emu/misc.h (grub_emu_init): New prototype.
17133 * kern/emu/full.c: New file. For grub-emu specific initialization.
17134 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
17135 * kern/emu/main.c: Call initialization function grub_emu_init.
17136
17137 * Makefile.in: Include grub-emu-lite in install.
17138 * commands/parttool.c: Use grub_no_autoload to differentiate
17139 between grub-emu and grub-emu-lite.
17140 * include/grub/misc.h: New variable grub_no_autoload.
17141
17142 * conf/any-emu.rmk: New rules for grub-emu-lite.
17143 * configure.ac: Remove --enable-grub-emu-modules.
17144 * genmk.rb: Cleanup unnecessary rules.
17145 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
17146
17147 * normal/main.c: Don't load list files on grub-emu-lite.
17148 * util/misc.c (grub_arch_sync_caches): Removed.
17149
17150 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
17151
17152 * kern/mips/startup.S (grub_prefix): Update comment to refer to
17153 grub-mkimage rather than grub-mkelfimage.
17154 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
17155
17156 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
17157
17158 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
17159 a key after CapsLock or NumLock. It's just a qemu bug.
17160
17161 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
17162
17163 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
17164 needed by libusb wrapper.
17165
17166 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
17167
17168 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
17169
17170 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
17171
17172 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
17173 --nounzip is passed.
17174
17175 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
17176
17177 USB hotunplugging and USB serial support.
17178
17179 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
17180 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
17181 (grub_uhci_transfer): Respect timeout and set *actual.
17182 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
17183 non-standard length.
17184 (grub_usb_device_attach): Autoload modules.
17185 (GRUB_MOD_INIT): Set grub_term_poll_usb.
17186 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
17187 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
17188 users updated.
17189 (grub_usb_add_hub): Fill nports and children.
17190 (attach_root_port): Receive hub instead of controller.
17191 All users updated. Fill hub->devices.
17192 (grub_usb_root_hub): Allocate hub->devices.
17193 (detach_device): New function.
17194 (poll_nonroot_hub): Fill children and detach devices.
17195 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
17196 actual arguments. All users updated.
17197 (grub_usb_bulk_read_extended): New function.
17198 * bus/usb/serial/common.c: New file.
17199 * bus/usb/serial/ftdi.c: Likewise.
17200 * bus/usb/serial/pl2303.c: Likewise.
17201 * commands/terminal.c (handle_command): Support wildcard.
17202 * commands/usbtest.c: Output "Unknown" instead of empty string.
17203 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
17204 (usbserial_common_mod_SOURCES): New variable.
17205 (usbserial_common_mod_CFLAGS): Likewise.
17206 (usbserial_common_mod_LDFLAGS): Likewise.
17207 (pkglib_MODULES): Add usbserial_pl2303.mod.
17208 (usbserial_pl2303_mod_SOURCES): New variable.
17209 (usbserial_pl2303_mod_CFLAGS): Likewise.
17210 (usbserial_pl2303_mod_LDFLAGS): Likewise.
17211 (pkglib_MODULES): Add usbserial_ftdi.mod.
17212 (usbserial_ftdi_mod_SOURCES): New variable.
17213 (usbserial_ftdi_mod_CFLAGS): Likewise.
17214 (usbserial_ftdi_mod_LDFLAGS): Likewise.
17215 (pkglib_MODULES): Add serial.mod.
17216 (serial_mod_SOURCES): New variable.
17217 (serial_mod_CFLAGS): Likewise.
17218 (serial_mod_LDFLAGS): Likewise.
17219 * conf/i386-pc.rmk: Likewise.
17220 * conf/mips-yeeloong.rmk: Likewise.
17221 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
17222 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
17223 * disk/usbms.c (first_available_slot): New variable.
17224 (grub_usbms_attach): Don't reuse free slots due to potential cache
17225 problems.
17226 * include/grub/serial.h: Moved to ..
17227 * include/grub/ns8250.h: ...this.
17228 * include/grub/serial.h: New file.
17229 * include/grub/term.h (grub_term_poll_usb): New variable.
17230 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
17231 readkey. All users updated.
17232 (grub_terminfo_output_state): Pass term to put.
17233 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
17234 (grub_usb_controller_dev): Add timeout and actual arguments to
17235 transfer. All users updated.
17236 (grub_usb_interface): New field detach_data.
17237 (grub_usb_device): New fields children and nports.
17238 (grub_usb_ep_type_t): New type.
17239 (grub_usb_get_ep_type): New function.
17240 (grub_usb_bulk_read_extended): Likewise.
17241 * include/grub/usbdesc.h (grub_usb_desc): New type.
17242 * include/grub/usbserial.h: New file.
17243 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
17244 * kern/term.c (grub_term_poll_usb): New variable.
17245 (grub_getkey): Call grub_term_poll_usb if set.
17246 (grub_checkkey): Likewise.
17247 (grub_getkeystatus): Likewise.
17248 * term/serial.c: Moved controller-specific parts to ...
17249 * term/ns8250.c: ... here.
17250 * term/serial.c: Mostly rewritten.
17251 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
17252 according to spec.
17253
17254 2010-08-20 Robert Millan <rmh@gnu.org>
17255
17256 Make kFreeBSD code more generic to support ext2fs as root, ufs as
17257 a separate module and maybe other interesting combinations.
17258
17259 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
17260 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
17261 (kfreebsd_entry): Add generic filesystem module load routine.
17262 Map GRUB `ext2' to kFreeBSD `ext2fs'.
17263
17264 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
17265
17266 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
17267 "numcenter" (I misunderstood the purpose of this entry).
17268 * docs/grub.texi (sendkey): Likewise.
17269
17270 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
17271
17272 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
17273 status flag options; simply omitting the option is equivalent and
17274 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
17275 (keysym_table): Rename "num5numlock" to "numlock".
17276 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
17277 can uniformly say that only the last of multiple `sendkey'
17278 invocations has any effect.
17279 * docs/grub.texi (sendkey): New section.
17280
17281 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
17282
17283 * commands/i386/pc/sendkey.c (options): Fix three typos.
17284
17285 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17286
17287 Implement sendkey support.
17288
17289 * commands/i386/pc/sendkey.c: New file.
17290 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
17291 (sendkey_mod_SOURCES): New variable.
17292 (sendkey_mod_CFLAGS): Likewise.
17293 (sendkey_mod_LDFLAGS): Likewise.
17294
17295 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
17296
17297 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
17298 fix warnings from Autoconf.
17299
17300 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
17301
17302 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
17303 to avoid false positives with some assemblers that output things
17304 like "someprefix_func" as part of their output.
17305
17306 2010-08-15 Robert Millan <rmh@gnu.org>
17307
17308 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
17309 errors.
17310 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
17311 grub_get_libzfs_handle() errors.
17312
17313 2010-08-14 Robert Millan <rmh@gnu.org>
17314
17315 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
17316 filesystem is not ZFS.
17317
17318 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17319
17320 Fix for misspelled color names defaulting to black/black (bug
17321 reported by Doug Nazar)
17322
17323 * include/grub/normal.h (grub_parse_color_name_pair): Add return
17324 status to prototype.
17325 * normal/color.c (grub_parse_color_name_pair): Return failure
17326 status.
17327 (grub_env_write_color_normal): Ignore bad color names.
17328 (grub_env_write_color_highlight): Likewise.
17329 * normal/main.c (GRUB_MOD_INIT): Set default color names.
17330
17331 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17332
17333 "shift" command support to GRUB script.
17334
17335 * include/grub/script_sh.h (grub_script_shift): New prototype.
17336 * script/execute.c (grub_script_shift): New function.
17337 * script/main.c (grub_script_init): Register shift command.
17338 (grub_script_fini): Unregister shift command.
17339 * util/grub-script-check.c (grub_script_cmd_shift): New function.
17340
17341 * tests/grub_script_shift.in: New testcase.
17342 * conf/tests.rmk: Rules for new testcase.
17343
17344 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17345
17346 "continue" command support to GRUB script.
17347
17348 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
17349 (grub_script_break): Continue support.
17350 * script/main.c (grub_script_init): Register continue command.
17351 (grub_script_fini): Unregister continue command.
17352
17353 * tests/grub_script_continue.in: New testcase.
17354 * conf/tests.rmk: Rules for new testcase.
17355
17356 2010-08-12 BVK Chaitanya <bvk@dbook>
17357
17358 "break" command support to GRUB script.
17359
17360 * conf/common.rmk: Rule updates to grub-script-check.
17361 * include/grub/misc.h (grub_min): New function.
17362 * include/grub/script_sh.h (grub_script_init): New prototype.
17363 (grub_script_fini): New prototype.
17364 (grub_script_break): New prototype.
17365 * script/main.c (grub_script_init): New function.
17366 (grub_script_fini): New function.
17367 * script/execute.c (grub_script_break): New function.
17368 * normal/main.c: Calls to grub_script_{init,fini}.
17369 * util/grub-script-check.c (grub_script_break): New function.
17370
17371 * tests/grub_script_break.in: New testcase.
17372 * conf/tests.rmk: Rules for new test case.
17373
17374 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17375
17376 Function parameters support to GRUB script.
17377
17378 * script/yylex.l (VARIABLE): Regular expression update.
17379 * script/function.c (grub_script_function_call): Moved ...
17380 * script/execute.c (grub_script_function_call): ... to here.
17381 (grub_script_execute_arglist_to_argv): Removed.
17382 (grub_script_arglist_to_argv): New function.
17383 * script/argv.c: New file.
17384 (grub_script_argv_free): New function.
17385 (grub_script_argv_next): Likewise.
17386 (grub_script_argv_append): Likewise.
17387 (grub_script_argv_split_append): Likewise.
17388 * include/grub/script_sh.h (grub_script_argv): New struct.
17389 (grub_script_argv_free): New function.
17390 (grub_script_argv_next): Likewise.
17391 (grub_script_argv_append): Likewise.
17392 (grub_script_argv_split_append): Likewise.
17393
17394 * conf/common.rmk (normal.mod): New source script/argv.c.
17395
17396 * tests/grub_script_echo1.in: More tests.
17397 * tests/grub_script_vars1.in: Likewise.
17398 * tests/grub_script_functions.in: New test case.
17399 * conf/tests.rmk: Rules for new testcase.
17400
17401 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17402
17403 Remove grub_script_cmdblock struct.
17404
17405 * include/grub/script_sh.h: Remove grub_script_cmdblock.
17406 * script/parser.y: Likewise.
17407 * script/execute.c: Rename cmdblock suffix to cmdlist.
17408 * script/script.c: Likewise.
17409 * util/grub-script-check.c: Likewise.
17410
17411 2010-08-11 Yves Blusseau <blusseau@zetam.org>
17412
17413 * .bzrignore: add grub-macho2img
17414
17415 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
17416
17417 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
17418
17419 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
17420
17421 Remove the dump of sm712 initialisation sequence.
17422
17423 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
17424 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
17425 (GRUB_VGA_IO_MISC_WRITE): Likewise.
17426 (GRUB_VGA_CR_*): Added many registers.
17427 (GRUB_VGA_SR_*): Likewise.
17428 (GRUB_VGA_GR_*): Likewise.
17429 (grub_vga_write_arx): New function.
17430 (grub_video_hw_config): New struct.
17431 (grub_vga_set_geometry): New function.
17432 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
17433 GRUB_PCI_CLASS_SUBCLASS_VGA.
17434 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
17435 * video/sm712.c (grub_sm712_write_reg): New function
17436 (grub_sm712_read_reg): Likewise.
17437 (grub_sm712_sr_write): Likewise.
17438 (grub_sm712_gr_write): Likewise.
17439 (grub_sm712_cr_write): Likewise.
17440 (grub_sm712_write_arx): Likewise.
17441 (grub_sm712_cr_shadow_write): Likewise.
17442 (grub_sm712_write_dda_lookup): Likewise.
17443 (grub_video_sm712_setup): Initialise the video rather then
17444 blindly replay the dump.
17445 (main) [TEST]: Add a routine to be able to compile as standalone for
17446 tests.
17447 * video/sm712_init.c (sm712_init): Removed.
17448 (sm712_sr_seq1): New array.
17449 (sm712_sr_seq2): Likewise.
17450
17451 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
17452
17453 * include/grub/vga.h: Add missing grub/pci.h include.
17454
17455 2010-08-10 Yves Blusseau <blusseau@zetam.org>
17456
17457 * util/grub-macho2img.c (main): fix typo
17458
17459 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
17460
17461 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
17462 (grub_vga_gr_read): Likewise.
17463 (grub_vga_cr_write): Likewise.
17464 (grub_vga_cr_read): Likewise.
17465 (grub_vga_sr_write): Likewise.
17466 (grub_vga_sr_read): Likewise.
17467 (grub_vga_palette_read): Likewise.
17468 (grub_vga_palette_write): Likewise.
17469 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
17470 (grub_sm712_sr_read): New function.
17471 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
17472 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
17473
17474 2010-08-09 Robert Millan <rmh@gnu.org>
17475
17476 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
17477 out unused variables on non-ZFS build.
17478
17479 2010-08-08 Robert Millan <rmh@gnu.org>
17480
17481 Fix path generation for sub-filesystems in ZFS.
17482
17483 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
17484 missing slash.
17485
17486 2010-08-08 Robert Millan <rmh@gnu.org>
17487
17488 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
17489
17490 2010-08-08 Robert Millan <rmh@gnu.org>
17491
17492 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
17493 exist, issue a proper error message (rely on `ls' for translated
17494 strings).
17495
17496 2010-08-08 Robert Millan <rmh@gnu.org>
17497
17498 Fix grub-probe invocation.
17499
17500 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
17501
17502 2010-08-04 Robert Millan <rmh@gnu.org>
17503
17504 * configure.ac: Remove checks for getfsstat() and getmntany().
17505 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
17506 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
17507 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
17508 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
17509 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
17510 function.
17511 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
17512 via find_mount_point_from_dir() and getfsstat() / getmntany().
17513
17514 2010-08-04 Robert Millan <rmh@gnu.org>
17515
17516 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
17517 (grub_find_zpool_from_mount_point): Merge into ...
17518 (grub_find_zpool_from_dir): ... this.
17519 * kern/emu/misc.c: Likewise.
17520
17521 * kern/emu/misc.c
17522 (grub_make_system_path_relative_to_its_root): Replace
17523 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
17524 with grub_find_zpool_from_dir().
17525 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
17526
17527 2010-08-04 Robert Millan <rmh@gnu.org>
17528
17529 Support OpenSolaris in ZFS device resolution.
17530
17531 * configure.ac: Check for getmntany().
17532 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
17533 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
17534 support.
17535
17536 2010-08-03 Robert Millan <rmh@gnu.org>
17537
17538 Fix grub-emu build.
17539
17540 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
17541 * include/grub/emu/misc.h: ... here.
17542
17543 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
17544 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
17545
17546 * util/misc.c: Remove `<grub/util/libzfs.h>'.
17547 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
17548 (grub_get_libzfs_handle): Move to ...
17549 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
17550 (grub_get_libzfs_handle): ... here.
17551
17552 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
17553
17554 * script/execute.c (grub_script_execute_cmdline): Check for NULL
17555 as command name case.
17556
17557 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
17558
17559 * disk/raid.c (insert_array): Select unique numbers for named arrays
17560 as well, for use as keys in the disk cache.
17561
17562 2010-08-01 Robert Millan <rmh@gnu.org>
17563
17564 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
17565 kFreeBSD device name, except on ZFS where the filesystem label is
17566 used.
17567 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
17568 `/boot/zfs/zpool.cache'.
17569 Set mountfrom kernel variable using ${kfreebsd_device}.
17570
17571 2010-08-01 Robert Millan <rmh@gnu.org>
17572
17573 Make it even harder to use uninitialized `libzfs_handle' (and
17574 make the interface a bit simpler).
17575
17576 * include/grub/util/misc.h (grub_util_init_libzfs)
17577 (libzfs_handle): Remove.
17578 (grub_get_libzfs_handle): New prototype.
17579
17580 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
17581 attribute.
17582 (grub_util_init_libzfs): Remove.
17583 (grub_get_libzfs_handle): New function.
17584
17585 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
17586 grub_get_libzfs_handle() to obtain a libzfs handle instead of
17587 accessing `libzfs_handle' directly.
17588
17589 2010-08-01 Robert Millan <rmh@gnu.org>
17590
17591 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
17592 (grub_find_zpool_from_mount_point): New function prototypes.
17593
17594 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
17595 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
17596
17597 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
17598 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
17599 `static' attribute.
17600
17601 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
17602 finding zpool from mount point into ...
17603 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
17604
17605 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
17606 requested path is part of a ZFS pool, use
17607 grub_find_zpool_from_mount_point() to detect its filesystem name,
17608 and generate a path with `/fsname@path' syntax.
17609
17610 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
17611
17612 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
17613 (void) rather than () so that this is a proper prototype.
17614
17615 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
17616
17617 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
17618
17619 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
17620
17621 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
17622 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
17623
17624 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
17625
17626 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
17627
17628 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
17629
17630 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
17631
17632 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
17633
17634 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
17635 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
17636 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
17637 disable gfxpayload.
17638 (Shell-like scripting): Add real content.
17639 (Serial terminal): Suggest `terminal_input serial; terminal_output
17640 serial' rather than putting the two commands on separate lines,
17641 since console input will be inoperative after the first command.
17642 (menuentry): Document --class, --users, and --hotkey options.
17643 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
17644 Vladimir Serbinenko).
17645
17646 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
17647 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
17648
17649 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
17650
17651 2010-08-01 Robert Millan <rmh@gnu.org>
17652
17653 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
17654 (grub_find_zpool_from_mount_point): New function prototypes.
17655
17656 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
17657 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
17658
17659 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
17660 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
17661 `static' attribute.
17662
17663 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
17664 finding zpool from mount point into ...
17665 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
17666
17667 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
17668 requested path is part of a ZFS pool, use
17669 grub_find_zpool_from_mount_point() to detect its filesystem name,
17670 and generate a path with `/fsname@path' syntax.
17671
17672 2010-08-01 Robert Millan <rmh@gnu.org>
17673
17674 Prevent accidental use of uninitialized libzfs_handle.
17675
17676 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
17677 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
17678 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
17679
17680 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
17681
17682 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
17683 util/grub.d/10_linux.in). Fixes Debian bug #591093.
17684
17685 2010-08-01 Robert Millan <rmh@gnu.org>
17686
17687 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
17688
17689 2010-07-31 Robert Millan <rmh@gnu.org>
17690
17691 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
17692
17693 2010-07-31 Robert Millan <rmh@gnu.org>
17694
17695 * kern/emu/misc.c: Add missing license header.
17696
17697 2010-07-31 Robert Millan <rmh@gnu.org>
17698
17699 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
17700
17701 * include/grub/util/libnvpair.h: Include `<config.h>'.
17702 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
17703 declaring libnvpair prototypes ourselves.
17704 * include/grub/util/libzfs.h: Include `<config.h>'.
17705 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
17706 declaring libzfs prototypes ourselves.
17707
17708 (libzfs_handle): Moved to ...
17709 * include/grub/util/misc.h (libzfs_handle): ... here.
17710 Include `<grub/util/libzfs.h>'.
17711
17712 2010-07-30 Robert Millan <rmh@gnu.org>
17713
17714 * include/grub/emu/misc.h: Add missing license header.
17715
17716 2010-07-30 Robert Millan <rmh@gnu.org>
17717
17718 Enable `grub-probe -t device' resolution on ZFS.
17719
17720 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
17721 * include/grub/util/libnvpair.h: New file.
17722 * include/grub/util/libzfs.h: New file.
17723
17724 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
17725 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
17726 `<grub/util/libnvpair.h>'.
17727 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
17728
17729 (find_mount_point_from_dir): New static function.
17730 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
17731 function.
17732 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
17733 find_root_device_from_libzfs() before ressorting to find_root_device().
17734
17735 * include/grub/util/misc.h (grub_util_init_libzfs): New function
17736 prototype.
17737 * util/misc.c: Include `<grub/util/libzfs.h>'.
17738 (grub_util_init_libzfs): New function.
17739 [HAVE_LIBZFS] (libzfs_handle): New global variable.
17740 [HAVE_LIBZFS] (fini_libzfs): New static function.
17741 (grub_util_init_libzfs): New function.
17742 * util/grub-probe.c (main): Call grub_util_init_libzfs().
17743
17744 2010-07-30 Robert Millan <rmh@gnu.org>
17745
17746 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
17747 (xmalloc, xrealloc, xstrdup, xasprintf): Add
17748 `warn_unused_result' attribute.
17749 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
17750 (grub_xasprintf, grub_xvasprintf): Likewise.
17751 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
17752
17753 2010-07-29 Robert Millan <rmh@gnu.org>
17754
17755 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
17756 (probe): Handle `PRINT_FS_LABEL'.
17757 (main): Handle `-t fs_label'.
17758
17759 2010-07-29 Robert Millan <rmh@gnu.org>
17760
17761 * configure.ac: Remove grub-mkisofs checks.
17762
17763 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
17764
17765 * util/ieee1275/grub-install.in: Don't use empty grub_device.
17766 Reported by: Lennart Sorensen.
17767
17768 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17769
17770 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
17771 prior to terminal_input/terminal_output separation. It's been over 1.5
17772 years and those versions weren't widely deployed.
17773
17774 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
17775
17776 * disk/raid.c (insert_array): Don't count named arrays when looking
17777 for unused array numbers.
17778 Reported and tested by: Michael Guntsche.
17779
17780 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
17781
17782 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
17783 implementation of this so that grub-emu links again, with a note
17784 that this should support hotplugging in the future.
17785
17786 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
17787
17788 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
17789
17790 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
17791
17792 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
17793 handle on failure.
17794 (grub_loopback_close): Remove empty function.
17795 (grub_loopback_dev): Remove close method.
17796
17797 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
17798
17799 Disable EFI cursor when the EFI console becomes inactive.
17800
17801 * term/efi/console.c (grub_efi_console_init): New function.
17802 (grub_efi_console_fini): New function.
17803 (grub_console_term_output): Register init and fini methods.
17804
17805 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17806
17807 * tests/util/grub-shell-tester.in: Remove bashism and declare as
17808 sh script.
17809
17810 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17811
17812 * disk/loopback.c (grub_loopback): Replace filename with file.
17813 (delete_loopback): Handle new semantics.
17814 (grub_cmd_loopback): Likewise.
17815 (grub_loopback_iterate): Likewise.
17816 (grub_loopback_close): Likewise.
17817
17818 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17819
17820 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
17821 with -p "".
17822 Reported by: Tito Keitel.
17823
17824 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17825
17826 * docs/grub.texi (Naming convention): Document new naming convention.
17827
17828 2010-07-20 Vadim Solomin <vadic052@gmail.com>
17829 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
17830
17831 Generate device.map in something closer to the old ordering.
17832
17833 * util/deviceiter.c (struct device): New declaration.
17834 (compare_file_names): Rename to ...
17835 (compare_devices): ... this. Sort by kernel name in preference to
17836 the stable by-id name, but keep the latter as a fallback comparison.
17837 Update header comment.
17838 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
17839 of `struct device' rather than of plain file names.
17840
17841 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
17842
17843 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
17844 on i386.
17845
17846 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17847
17848 * commands/acpi.c (setup_common_tables): Use sizeof instead of
17849 hardcoding size.
17850 (setv1table): Likewise.
17851
17852 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
17853
17854 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
17855 removing the homehost if present.
17856 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
17857 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
17858 removing the homehost if present.
17859 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
17860 if possible.
17861 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
17862
17863 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
17864 parameter. Set its pointer target to 0.
17865 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
17866 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
17867 `data_offset' value from the superblock for 1.x metadata.
17868 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
17869 data on the device.
17870 (insert_array): Record the start sector of data on the device.
17871 (grub_raid_register): Pass start_sector parameters to
17872 grub_raid_list->detect and insert_array.
17873 * include/grub/raid.h (struct grub_raid_array): Add start_sector
17874 member.
17875 (struct grub_raid): Add start_sector parameter to `detect'.
17876
17877 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
17878 __attribute__ ((packed)), leaving a comment.
17879 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
17880 (grub_mdraid_detect_09): ... here and ...
17881 (grub_mdraid_detect_1x): ... here.
17882
17883 2010-07-20 Peter Henn <peter.henn@web.de>
17884
17885 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
17886 chunk size and disk size, which are already given as sector counts
17887 as distinct from the 0.90 units. Fetch the correct device number
17888 from the role table instead of using the table index.
17889
17890 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
17891
17892 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
17893 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
17894 (WriteMostly1): New macro.
17895 Set array->name to NULL for metadata format 0.90. Add support for
17896 metadata 1.x. Fix some comments.
17897 * disk/raid.c (): Add support for name based RAID arrays. Fix a
17898 few comments.
17899 * util/getroot.c (grub_util_get_grub_dev): Add support for
17900 /dev/md/name style devices.
17901
17902 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
17903
17904 * .bzrignore: Ignore 20_linux_xen.
17905
17906 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
17907
17908 * util/import_unicode.py: Remove unnecessary imports.
17909
17910 2010-07-17 Aleš Nesrsta <starous@volny.cz>
17911
17912 Hotplugging and USB hub support.
17913
17914 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
17915 (grub_ohci): Likewise.
17916 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
17917 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
17918 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
17919 (GRUB_OHCI_CTRL_EDS): Likewise.
17920 (GRUB_OHCI_BULK_EDS): Likewise.
17921 (GRUB_OHCI_TDS): Likewise.
17922 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
17923 (grub_ohci_ed_phys2virt): New function.
17924 (grub_ohci_virt_to_phys): Likewise.
17925 (grub_ohci_td_phys2virt): Likewise.
17926 (grub_ohci_td_virt2phys): Likewise.
17927 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
17928 attachment.
17929 (grub_ohci_find_ed): New function.
17930 (grub_ohci_alloc_td): Likewise.
17931 (grub_ohci_free_td): Likewise.
17932 (grub_ohci_free_tds): Likewise.
17933 (grub_ohci_transfer): Use previously allocated memory.
17934 (grub_ohci_portstatus): Reset status changed bit.
17935 (grub_ohci_detect_dev): Supply status changed.
17936 (grub_ohci_fini_hw): Free memory.
17937 (grub_ohci_restore_hw): Reallocate memory.
17938 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
17939 Reset status change.
17940 (grub_uhci_detect_dev): Supply status_change.
17941 * bus/usb/usb.c (attach_hooks): New var.
17942 (grub_usb_device_attach): New function.
17943 (grub_usb_register_attach_hook_class): Likewise.
17944 (grub_usb_unregister_attach_hook_class): Likewise.
17945 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
17946 (grub_usb_add_hub): Reset connection changed bit.
17947 (attach_root_port): New function.
17948 (grub_usb_root_hub): Likewise.
17949 (poll_nonroot_hub): Likewise.
17950 (grub_usb_poll_devices): Likewise.
17951 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
17952 * disk/usbms.c (grub_usbms_open): Use device hooks.
17953 (grub_usbms_iterate) :Poll devices.
17954 (grub_usbms_finddevs): Split into ...
17955 (grub_usbms_attach): ... this ...
17956 (grub_usbms_attach): ... and this.
17957 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
17958 in detect_dev.
17959 (grub_usb_interface): New fields attached and detach_hook.
17960 (grub_usb_attach_hook_class): New type.
17961 (grub_usb_attach_desc): New struct.
17962 (grub_usb_register_attach_hook_class): New function.
17963 (grub_usb_unregister_attach_hook_class): Likewise.
17964 (grub_usb_poll_devices): Likewise.
17965 (grub_usb_device_attach): Likewise.
17966 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
17967 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
17968
17969 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
17970
17971 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
17972 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
17973 delta determination style. Works with most NetBSD partitions too.
17974
17975 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
17976
17977 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
17978 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
17979
17980 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
17981
17982 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
17983
17984 2010-07-14 Anton Blanchard <anton@samba.org>
17985
17986 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
17987 ET_DYN files.
17988
17989 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
17990
17991 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
17992
17993 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
17994
17995 * kern/partition.c (grub_partition_check_containment): New function to
17996 check that a partition is physically contained in a parent. Since
17997 offsets are relative (and non-negative), this reduces to checking that
17998 the partition ends before its parent.
17999 (grub_partition_map_probe): Discard out-of-range sub-partitions.
18000 (grub_partition_iterate): Likewise.
18001 * include/grub/partition.h (grub_partition_map): Slightly more detailed
18002 comments.
18003 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
18004 partitions that start before their parent, and add debug printfs.
18005
18006 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
18007
18008 * Makefile.in (.SUFFIX): Spell correctly, as ...
18009 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
18010 bare module name without `.mod', e.g. `test') tried to invoke a
18011 Modula-2 compiler.
18012
18013 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
18014
18015 * README: Point to the Info manual.
18016
18017 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
18018
18019 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
18020 2nd superblock position from partition size.
18021
18022 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
18023
18024 * Makefile.in (MAINTAINER_CLEANFILES): Remove
18025 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
18026 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
18027 outputs.
18028
18029 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18030
18031 Restructure SCSI .id handling.
18032 Reported and tested by: Aleš Nesrsta.
18033
18034 * disk/ata.c (grub_atapi_close): Removed. All users updated.
18035 (grub_atapi_dev): Changed .name to "ata". New field .id.
18036 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
18037 (grub_usbms_dev): New field .id.
18038 * disk/scsi.c (grub_scsi_iterate): Generate name.
18039 (grub_scsi_open): Parse name.
18040 * include/grub/scsi.h (grub_make_scsi_id): New function.
18041 (grub_scsi_dev): Change iterate and open to number instead of naming
18042 busses. All users updated.
18043 (grub_scsi): Remove name. Add .bus.
18044
18045 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18046
18047 * commands/help.c (grub_cmd_help): Fix a typo.
18048
18049 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18050
18051 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
18052 Reported and tested by: Colin Watson.
18053
18054 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18055
18056 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
18057 in this context.
18058
18059 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
18060
18061 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
18062
18063 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
18064
18065 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
18066 indentation.
18067
18068 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
18069
18070 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
18071 and disk/raid6_recover.c.
18072 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
18073 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
18074
18075 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
18076
18077 * term/gfxterm.c (repaint_schedulded): Rename to ...
18078 (repaint_scheduled): ... this. Update all callers.
18079 (repaint_was_schedulded): Rename to ...
18080 (repaint_was_scheduled): ... this. Update all callers.
18081
18082 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
18083
18084 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
18085 which we expect to be handled by upper layers.
18086
18087 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
18088
18089 * bus/usb/usbhub.c: #include time.h header.
18090
18091 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
18092
18093 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
18094 entry_name also for entries without stat blocks (e.g. ".."); fixes
18095 corruption of the first entry in a directory.
18096
18097 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
18098
18099 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
18100 after setting gfxterm as the active terminal. GRUB_BACKGROUND
18101 doesn't work otherwise.
18102
18103 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
18104
18105 * docs/grub.texi (Features): Update list of supported file systems.
18106 (GNU/Linux): Update for GRUB 2.
18107 (Serial terminal): Remove mention of --disable-serial, which was a
18108 GRUB Legacy configure option. Update instructions to use
18109 `terminal_input' and `terminal_output' rather than `terminal'.
18110 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
18111 configuration' and `Installing GRUB using grub-install'.
18112 (Menu entry editor): Update for GRUB 2.
18113 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
18114 Document new -a, -u, and -v options.
18115 (initrd): New section.
18116 (initrd16): New section.
18117 (linux): New section.
18118 (linux16): New section.
18119 (search): The `var' argument to `--set' is optional.
18120 (GRUB only offers a rescue shell): Go into a little more detail on
18121 drive ordering.
18122
18123 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
18124
18125 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
18126
18127 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
18128
18129 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
18130 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
18131
18132 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
18133
18134 * util/i386/pc/grub-setup.c (setup): Rename prefix to
18135 install_prefix, in line with install_dos_part and install_bsd_part.
18136 Add new prefix variable, which is copied to install_prefix after
18137 comparing core.img in memory with the one read from disk in the
18138 no-embedding case, and use that rather than overwriting
18139 install_prefix immediately when installing to a partition.
18140 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
18141 Bicakci.
18142
18143 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
18144
18145 * configure.ac: Avoid == in test command, it's not portable.
18146 * util/grub.d/30_os-prober.in: Likewise.
18147
18148 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
18149
18150 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
18151
18152 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
18153
18154 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
18155 multiple (top-level) partmaps.
18156
18157 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18158
18159 * util/i386/efi/grub-install.in: Don't use empty grub_device.
18160 Reported by: Tino Keitel.
18161
18162 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18163
18164 Bidi and diacritics support.
18165
18166 * Makefile.in (widthspec.bin): New target.
18167 (widthspec.h): Likewise.
18168 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
18169 * autogen.sh: Generate unidata.c.
18170 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
18171 * commands/ls.c (grub_ls_list_devices): Likewise.
18172 (grub_ls_list_files): Likewise.
18173 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
18174 (grub_mini_cmd_lsmod): Likewise.
18175 * commands/read.c: Likewise.
18176 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
18177 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
18178 * lib/arg.c (grub_arg_show_help): Likewise.
18179 * lib/crypto.c (grub_password_get): Likewise.
18180 * normal/auth.c (grub_username_get): Likewise.
18181 * normal/misc.c (grub_normal_print_device_info): Likewise.
18182 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
18183 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
18184 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
18185 (normal/charset.c_DEPENDENCIES): New variable.
18186 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
18187 (pkglib_MODULES): Remove charset.mod.
18188 (charset_mod_SOURCES): Removed.
18189 (charset_mod_CFLAGS): Likewise.
18190 (charset_mod_LDFLAGS): Likewise.
18191 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
18192 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
18193 and term/tparm.c.
18194 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18195 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18196 (kernel_img_HEADERS): Add terminfo.h.
18197 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
18198 Fill ->font. Reverse ascii bitmaps.
18199 (grub_font_get_xheight): New function.
18200 * font/font.c (grub_font_get_string_width): Moved from here ...
18201 * gfxmenu/font.c (grub_font_get_string_width): ... here.
18202 * font/font.c (grub_font_draw_string): Moved from here ...
18203 * gfxmenu/font.c (grub_font_draw_string): ... here.
18204 * font/font.c (grub_font_dup_glyph): New function.
18205 (grub_font_blit_glyph): Likewise.
18206 (grub_font_blit_glyph_mirror): Likewise.
18207 (blit_comb): Likewise.
18208 (grub_font_construct_dry_run): Likewise.
18209 (grub_font_get_constructed_device_width): Likewise.
18210 (grub_font_construct_glyph): Likewise.
18211 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
18212 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
18213 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
18214 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
18215 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
18216 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
18217 (grub_font_get_xheight): New proto.
18218 (grub_font_get_constructed_device_width): Likewise.
18219 (grub_font_construct_glyph): Likewise.
18220 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
18221 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
18222 * include/grub/font.h (grub_font_draw_string): Moved from here ...
18223 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
18224 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
18225 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
18226 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
18227 (grub_console_getcharwidth): Likewise.
18228 * include/grub/misc.h (grub_xputs): New proto.
18229 (grub_puts): Inlined.
18230 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
18231 (grub_normal_get_line_counter): Removed.
18232 (grub_install_newline_hook): Likewise.
18233 (grub_normal_get_char_counter): New proto.
18234 (grub_normal_reset_more): Likewise.
18235 (grub_xputs_normal): Likewise.
18236 * include/grub/powerpc/ieee1275/console.h: Removed.
18237 * include/grub/sparc64/ieee1275/console.h: Likewise.
18238 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
18239 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
18240 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
18241 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
18242 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
18243 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
18244 (grub_term_input): Pass reference to self. All users updated.
18245 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
18246 Pass reference to self. New fields normal_color, highlight_color and
18247 data. All users updated.
18248 (grub_putchar): Removed.
18249 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
18250 (grub_unicode_estimate_width): New function.
18251 (grub_term_getcharwidth): Add defaults.
18252 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
18253 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
18254 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
18255 (grub_cls): Remove EXPORT_FUNC.
18256 (grub_setcolorstate): Inline.
18257 (grub_newline_hook): Removed.
18258 * include/grub/terminfo.h: Rewritten. All users updated.
18259 * include/grub/unicode.h: New file.
18260 * include/grub/video.h (grub_video_signed_rect): New type.
18261 * kern/emu/console.c (grub_console_highlight_color): Removed.
18262 (grub_console_normal_color): Likewise.
18263 (grub_console_standard_color): Made static.
18264 (grub_ncurses_putchar): Remove mapping.
18265 (grub_ncurses_getcharwidth): Removed.
18266 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
18267 (grub_ncurses_setcolor): Removed.
18268 (grub_ncurses_getcolor): Likewise.
18269 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
18270 (grub_console_putchar): ... this.
18271 (grub_console_putchar): Handle argument difference.
18272 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
18273 console_init_early and console_init_lately.
18274 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
18275 * kern/misc.c (grub_puts): Removed.
18276 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
18277 (grub_vsnprintf_real): Remove str = NULL support.
18278 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
18279 * normal/charset.c (grub_utf8_to_ucs4): ... here.
18280 * kern/term.c (grub_putcode): Renamed to ...
18281 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
18282 (grub_putchar): Removed.
18283 (grub_xputs_dumb): New function.
18284 (grub_xputs): New variable.
18285 * lib/charset.c: Move from here ...
18286 * normal/charset.c: ... to here.
18287 (grub_ucs4_to_utf8): New function.
18288 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
18289 (join_types): New variable.
18290 (unpack_join): New function.
18291 (bidi_types): New variable.
18292 (unpack_bidi): New function.
18293 (get_bidi_type): Likewise.
18294 (get_join_type): Likewise.
18295 (is_mirrored): Likewise.
18296 (grub_unicode_get_comb_type): Likewise.
18297 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
18298 (is_type_after): Likewise.
18299 (grub_unicode_aglomerate_comb): Likewise.
18300 (bidi_line_wrap): Likewise.
18301 (grub_bidi_line_logical_to_visual): Likewise.
18302 (grub_bidi_logical_to_visual): Likewise.
18303 (grub_unicode_mirror_code): Likewise.
18304 (grub_unicode_shape_code): Likewise.
18305 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
18306 Don't use grub_putchar.
18307 * normal/main.c (grub_normal_init_page): Use grub_putcode.
18308 (grub_normal_reader_init): Likewise.
18309 (grub_xputs_saved): New variable.
18310 (GRUB_MOD_INIT): Set grub_xputs.
18311 (GRUB_MOD_FINI): Restore grub_xputs.
18312 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
18313 (menu_init): Avoid printing gfxmenu error.
18314 (show_menu): Use grub_normal_get_char_counter.
18315 * normal/menu_entry.c (update_screen): Fix out-of-array.
18316 (complete): Avoid NULL dereferencing.
18317 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
18318 * normal/menu_text.c (print_spaces): Removed.
18319 (grub_print_ucs4): Likewise.
18320 (grub_print_message_indented): Use grub_print_ucs4.
18321 (print_message): Use grub_putcode.
18322 (print_entry): Hanlde diacritics.
18323 * normal/term.c (term_state): New type.
18324 (grub_more_lines): Removed.
18325 (term_states): New variable.
18326 (grub_normal_line_counter): Renamed to ..
18327 (grub_normal_char_counter): ...this. All users updated.
18328 (grub_normal_get_line_counter): Renamed to ...
18329 (grub_normal_get_char_counter): ... this.
18330 (grub_normal_reset_more): New function.
18331 (process_newline): Removed.
18332 (print_more): New function.
18333 (grub_install_newline_hook): Removed.
18334 (map_code): New function.
18335 (grub_puts_terminal): Use grub_print_ucs4.
18336 (putglyph): New function.
18337 (putcode_real): Likewise.
18338 (grub_putcode): Use putcode_real.
18339 (get_maxwidth): New function.
18340 (get_startwidth): Likewise.
18341 (print_ucs4_terminal): Likewise.
18342 (find_term_state): Likewise.
18343 (put_glyphs_terminal): Likewise.
18344 (print_backlog): Likewise.
18345 (print_ucs4_real): Likewise.
18346 (grub_print_ucs4): Likewise.
18347 (grub_xputs_normal): Likewise.
18348 * term/efi/console.c (grub_console_putchar): Output diacritics.
18349 (grub_console_getcharwidth): Removed.
18350 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
18351 * term/gfxterm.c (clear_char): Free chars.
18352 (scroll_up): Avoid leaking memory.
18353 (grub_gfxterm_putchar): Support diacritics.
18354 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
18355 * term/i386/pc/console.c (grub_console_term_output): Declare as
18356 GRUB_TERM_CODE_TYPE_VGA.
18357 * term/i386/pc/vga.c (grub_vga_term): Declare as
18358 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
18359 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
18360 GRUB_TERM_CODE_TYPE_VGA.
18361 * term/i386/vga_common.c (map_char): Removed.
18362 (grub_console_putchar): Likewise.
18363 (grub_console_getcharwidth): Likewise.
18364 * term/ieee1275/ofconsole.c: Simplify using terminfo.
18365 (colors): Reordered to match terminfo.
18366 (grub_ofconsole_normal_color): Removed.
18367 (grub_ofconsole_writeesc): Likewise.
18368 (grub_ofconsole_highlight_color): Likewise.
18369 (grub_ofconsole_getcharwidth): Likewise.
18370 (grub_ofconsole_setcolorstate): Likewise.
18371 (grub_ofconsole_setcolor): Likewise.
18372 (grub_ofconsole_getcolor): Likewise.
18373 (grub_ofconsole_readkey): Renamed to ...
18374 (readkey): ... this. Remove escape sequence handling. Return -1 on no
18375 key.
18376 (grub_ofconsole_checkkey): Removed.
18377 (grub_ofconsole_getkey): Likewise.
18378 (grub_ofconsole_getxy): Likewise.
18379 (grub_ofconsole_gotoxy): Likewise.
18380 (grub_ofconsole_cls): Likewise.
18381 (grub_ofconsole_refresh): Likewise.
18382 (grub_ofconsole_terminfo_input): New struct.
18383 (grub_ofconsole_terminfo_output): Likewise.
18384 (grub_ofconsole_term_input): Use terminfo.
18385 (grub_ofconsole_term_output): Likewise.
18386 (grub_console_init): Split into ...
18387 (grub_console_init_early): ...this and ...
18388 (grub_console_init_lately): ...this. Use terminfo.
18389 (grub_ofconsole_putchar): Renamed to ...
18390 (put): ... this. Remove mapping.
18391 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
18392 * term/serial.c: Simplify using terminfo.
18393 (xpos): Removed.
18394 (ypos): Likewise.
18395 (keep_track): Likewise.
18396 (registered): Likewise.
18397 (input_buf): Likewise.
18398 (npending): Likewise.
18399 (serial_translate_key_sequence): Likewise.
18400 (fill_input_buf): Likewise.
18401 (grub_serial_checkkey): Likewise.
18402 (grub_serial_getkey): Likewise.
18403 (grub_serial_getxy): Likewise.
18404 (grub_serial_gotoxy): Likewise.
18405 (grub_serial_putchar): Likewise.
18406 (grub_serial_cls): Likewise.
18407 (grub_serial_setcolorstate): Likewise.
18408 (grub_serial_setcursor): Likewise.
18409 (serial_hw_init): Use serial_hw_fetch.
18410 (grub_serial_terminfo_input): New variable.
18411 (grub_serial_terminfo_output): Likewise.
18412 (grub_serial_term_input): Use terminfo.
18413 (grub_serial_term_output): Likewise.
18414 * term/terminfo.c (putstr): Use put.
18415 (grub_terminfo_all_free): New function
18416 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
18417 (grub_terminfo_output_register): New function.
18418 (grub_terminfo_output_unregister): Likewise.
18419 (grub_terminfo_getxy): Likewise.
18420 (grub_terminfo_readkey): Likewise.
18421 (grub_terminfo_checkkey): Likewise.
18422 (grub_terminfo_getkey): Likewise.
18423 (grub_terminfo_input_init): Likewise.
18424 (print_terminfo): Likewise.
18425 (grub_cmd_terminfo): Handle encoding.
18426 (grub_terminfo_gotoxy): Track position.
18427 (grub_terminfo_cls): Likewise.
18428 (grub_terminfo_putchar): Likewise.
18429 (grub_terminfo_setcolorstate): Handle colors
18430 (grub_terminfo_cursor_on): This ...
18431 (grub_terminfo_cursor_off): ... and this merged into ...
18432 (grub_terminfo_setcursor): ... this.
18433 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
18434 * unicode/ArabicShaping.txt: New file (imported from Unicode).
18435 * unicode/BidiMirroring.txt: Likewise.
18436 * unicode/UnicodeData.txt: Likewise.
18437 * unicode/COPYING: Likewise.
18438 * util/grub-editenv.c (grub_putchar): Removed.
18439 (grub_xputs_real): New function.
18440 (grub_xputs): New variable.
18441 * util/grub-fstest.c (grub_putchar): Removed.
18442 (grub_xputs_real): New function.
18443 (grub_xputs): New variable.
18444 * util/grub-mkdevicemap.c (grub_putchar): Removed.
18445 (grub_xputs_real): New function.
18446 (grub_xputs): New variable.
18447 * util/grub-probe.c (grub_putchar): Removed.
18448 (grub_xputs_real): New function.
18449 (grub_xputs): New variable.
18450 * util/grub-script-check.c (grub_putchar): Removed.
18451 (grub_xputs_real): New function.
18452 (grub_xputs): New variable.
18453 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
18454 (grub_xputs_real): New function.
18455 (grub_xputs): New variable.
18456 * util/import_unicode.py: New file.
18457 * util/grub-mkfont.c (ft_errmsgs): New array.
18458 (grub_glyph_info): Make bitmap a pointer.
18459 (file_formats): New type WIDTH_SPEC.
18460 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
18461 (options): Add width-spec.
18462 (help): Likewise.
18463 (add_char): Renamed to ...
18464 (add_glyph): ... this.
18465 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
18466 (glyph_replace): New type.
18467 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
18468 (add_char): New function.
18469 (add_subst): Likewise.
18470 (process_cursive): Likewise.
18471 (add_font): Handle GSUB.
18472 (write_font_width_spec): New function.
18473 (main): Sort glyphs.
18474 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
18475 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
18476 * kern/term.c (grub_cls): Moved from here...
18477 * normal/term.c (grub_cls): ... here.
18478
18479 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18480
18481 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
18482 suitable for using within the format argument of printf when
18483 converting grub_size_t.
18484 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
18485 "x" to convert grub_size_t arguments.
18486
18487 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18488
18489 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
18490 too long captions.
18491 (list_get_minimal_size): Take selection box into account.
18492
18493 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18494
18495 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
18496 NULL font.
18497
18498 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18499
18500 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
18501 devices when iterating over /dev/disk/by-id; they will be handled
18502 later if appropriate, which they aren't always (e.g. LVM).
18503
18504 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18505
18506 * include/grub/misc.h (grub_reboot): Declare as noreturn.
18507 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
18508 fails.
18509 (grub_halt): Likewise.
18510 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
18511 reset-all fails.
18512 (grub_halt): Don't return, even if all of shut-down, power-off, and
18513 poweroff fail.
18514
18515 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18516
18517 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
18518 arguments, not three.
18519
18520 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18521
18522 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
18523 * util/grub.d/10_linux.in: Use it to check for LVM, so that
18524 LVM-on-RAID is handled correctly.
18525
18526 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18527
18528 * docs/grub.texi (Changes from GRUB Legacy): New section.
18529 (Future): Fix typo.
18530
18531 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18532
18533 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
18534 grub.d/README accidentally ends up executable for one reason or
18535 another. Ignore it.
18536
18537 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18538
18539 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
18540 (gpt_partition_map_iterate): Support non-512B sectors.
18541
18542 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18543
18544 * kern/efi/init.c (grub_efi_init): Disable watchdog.
18545 Tested by: Seth Goldberg.
18546
18547 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18548
18549 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
18550 Properly align mbi.
18551 Reported by: Seth Goldberg.
18552
18553 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
18554
18555 * util/grub-mkrescue.in: Avoid module duplication.
18556
18557 2010-07-01 Sean Finney <seanius@seanius.net>
18558
18559 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
18560
18561 2010-07-01 Sean Finney <seanius@seanius.net>
18562
18563 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
18564
18565 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
18566
18567 * disk/lvm.c (grub_lvm_checkvalue): New function.
18568 (grub_lvm_check_flag): Likewise.
18569
18570 2010-07-01 Robert Millan <rmh@gnu.org>
18571
18572 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
18573 Support 'p' as partition separator on kernel of FreeBSD (used
18574 with GPT labels).
18575 (grub_util_biosdisk_get_grub_dev): Likewise.
18576
18577 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
18578
18579 Yeeloong firmware port.
18580
18581 * boot/mips/yeeloong/fwstart.S: New file.
18582 * bus/cs5536.c (gpiodump): New const.
18583 (set_io_space): New function.
18584 (set_iod): Likewise.
18585 (set_p2d): Likewise.
18586 (grub_cs5536_init_geode): Likewise.
18587 * commands/mips/yeeloong/lsspd.c: New file.
18588 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
18589 (serial_mod_SOURCES): New variable.
18590 (serial_mod_CFLAGS): Likewise.
18591 (serial_mod_LDFLAGS): Likewise.
18592 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
18593 term/terminfo.c and term/tparm.c.
18594 (pkglib_IMAGES): Add fwstart.img.
18595 (fwstart_img_SOURCES): New variable.
18596 (fwstart_img_CFLAGS): Likewise.
18597 (fwstart_img_ASFLAGS): Likewise.
18598 (fwstart_img_LDFLAGS): Likewise.
18599 (fwstart_img_FORMAT): Likewise.
18600 (pkglib_MODULES): Add lsspd.mod.
18601 (lsspd_mod_SOURCES): New variable.
18602 (lsspd_mod_CFLAGS): Likewise.
18603 (lsspd_mod_LDFLAGS): Likewise.
18604 (pkglib_MODULES): Add halt.mod.
18605 (halt_mod_SOURCES): New variable.
18606 (halt_mod_CFLAGS): Likewise.
18607 (halt_mod_LDFLAGS): Likewise.
18608 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
18609 (serial_mod_SOURCES): Removed.
18610 (serial_mod_CFLAGS): Likewise.
18611 (serial_mod_LDFLAGS): Likewise.
18612 * disk/ata.c (check_device): New function.
18613 (grub_ata_device_initialize): Use check_device.
18614 (grub_ata_iterate): Recheck devices.
18615 (grub_ata_open): Likewise.
18616 (grub_atapi_iterate): Likewise.
18617 (grub_atapi_open): Likewise.
18618 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
18619 (GRUB_ATA_CH1_PORT1): Likewise.
18620 (GRUB_ATA_CH0_PORT2): Likewise.
18621 (GRUB_ATA_CH1_PORT2): Likewise.
18622 * include/grub/mips/loongson.h: New file.
18623 * include/grub/mips/yeeloong/ec.h: Likewise.
18624 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
18625 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
18626 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
18627 * include/grub/misc.h (grub_halt): Declare as noreturn.
18628 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
18629 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
18630 (UART_ENABLE_FIFO_TRIGGER1): New definition.
18631 (UART_ENABLE_DTRRTS): Likewise.
18632 (UART_ENABLE_MODEM): Removed.
18633 (UART_ENABLE_OUT2): New const.
18634 * include/grub/term.h (grub_term_register_input_active): New function.
18635 (grub_term_register_output_active): Likewise.
18636 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
18637 argument.
18638 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
18639 (init_pci): New function.
18640 (grub_machine_init): Execute platform init when firmware. Init serial.
18641 (grub_halt): Implement.
18642 (grub_exit): Likewise.
18643 (grub_reboot): Likewise.
18644 * term/serial.c (serial_hw_init): Update macros.
18645 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
18646 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
18647 (image_targets): New target mipsel-yeeloong-flash.
18648 (generate_image): Support IMAGE_YEELOONG_FLASH.
18649 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
18650 (grub_video_sm712_setup): Init card.
18651 (grub_video_sm712_set_palette): Removed.
18652 * video/sm712_init.c: New file.
18653
18654 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
18655
18656 * Makefile.in (install-local): Temporarily prepend $(builddir) to
18657 PATH when running help2man and then run it on the unadorned
18658 executable names, rather than passing $(builddir)/* paths to
18659 help2man. This avoids the build directory ending up in generated
18660 manual pages.
18661
18662 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
18663
18664 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
18665 to avoid accidents when debugging with 'sh -x'.
18666 * util/grub-mkrescue.in: Likewise.
18667 * util/grub.d/00_header.in: Likewise.
18668 * util/grub.d/10_hurd.in: Likewise.
18669 * util/grub.d/10_kfreebsd.in: Likewise.
18670 * util/grub.d/10_linux.in: Likewise.
18671 * util/grub.d/10_netbsd.in: Likewise.
18672 * util/grub.d/10_windows.in: Likewise.
18673 * util/grub.d/20_linux_xen.in: Likewise.
18674 * util/grub.d/30_os-prober.in: Likewise.
18675 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
18676
18677 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
18678
18679 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
18680 last character in the buffer.
18681 Reported by: Vladimir Serbinenko.
18682
18683 2010-06-29 Robert Millan <rmh@gnu.org>
18684
18685 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
18686 (Command-line and menu entry commands): Document `badram' command.
18687
18688 2010-06-28 Robert Millan <rmh@gnu.org>
18689
18690 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
18691 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
18692 command using ${GRUB_BADRAM} as parameter.
18693
18694 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
18695
18696 * docs/grub.texi (Device map): New section.
18697 (Themes): New section (stub).
18698 * Makefile.in (docs/grub.info): The info documentation now builds
18699 without errors. Make sure it stays that way.
18700
18701 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
18702
18703 Use normal parser for menu entries.
18704 Reported by: Thomas Frauendorfer
18705
18706 * include/grub/parser.h (grub_parser_execute): Don't export.
18707 * normal/menu.c (grub_menu_execute_entry_real): New function.
18708 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
18709
18710 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
18711
18712 * docs/grub.texi (Embedded configuration): New section (replacing
18713 old "Preset Menu" stub).
18714 (Images): New section.
18715 (configfile): Note that any menu entries defined in `file' are shown
18716 immediately.
18717
18718 2010-06-28 Josh Triplett <josh@joshtriplett.org>
18719
18720 * mmap/i386/pc/mmap_helper.S: Set CF on return.
18721
18722 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
18723
18724 * util/grub-install.in: Add --debug-image= option.
18725
18726 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
18727
18728 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
18729 possible on Linux.
18730
18731 * util/deviceiter.c (check_device): Rename to ...
18732 (check_device_readable_unique): ... this. Update all callers.
18733 Maintain and check a list of which devices (by canonicalized name)
18734 have already been seen.
18735 (clear_seen_devices): New function.
18736 (compare_file_names) [__linux__]: New function.
18737 (grub_util_iterate_devices): Clear the list of seen devices on exit
18738 and (just in case) on entry.
18739 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
18740 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
18741 seen-devices list, superseded by general code in check_device.
18742
18743 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
18744
18745 * commands/cat.c (options): New variable.
18746 (grub_cmd_cat): Parse options. If the --dos option is given, print
18747 DOS-style "\r\n" line endings as simple newlines (Debian bug
18748 #586358).
18749 (GRUB_MOD_INIT): Use extcmd.
18750 (GRUB_MOD_FINI): Likewise.
18751 * docs/grub.texi (cat): Document --dos.
18752
18753 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
18754
18755 XEN with Linux grub-mkconfig support.
18756
18757 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
18758 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
18759 GRUB_CMDLINE_XEN_DEFAULT.
18760 * util/grub.d/20_linux_xen.in: New file.
18761
18762 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
18763
18764 Initialise VGA video on qemu ourselves.
18765
18766 * boot/i386/qemu/boot.S: Don't call 0xc000.
18767 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
18768 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
18769 (kernel_img_HEADERS): Add pci.h.
18770 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
18771 * configure.ac: Force unifont on qemu and yeeloong.
18772 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
18773 (grub_vga_palette_write): Use correct register.
18774 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
18775 Call grub_qemu_init_cirrus.
18776 * kern/i386/qemu/init.c: New file.
18777 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
18778
18779 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
18780
18781 2010-06-26 Pavel Roskin <proski@gnu.org>
18782
18783 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
18784 13.
18785
18786 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
18787
18788 * docs/grub.texi (Simple configuration): Explain that
18789 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
18790 set to `true' to disable their respective recovery entries, not
18791 merely set.
18792
18793 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
18794
18795 Make the `source' command slightly faster.
18796
18797 * normal/main.c (grub_normal_execute): Don't re-read list files when
18798 nested.
18799
18800 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
18801
18802 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
18803 field position and mask size to red fields from mode_info, not
18804 green.
18805 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
18806 Remove redundant tag->common.framebuffer_type assignment.
18807 Reported by: Seth Goldberg.
18808
18809 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
18810
18811 Sync up other versions of the Linux loader with Robert Millan's
18812 change of 2010-01-09, "Make loader output a bit more user-friendly".
18813
18814 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
18815 grub_dprintf().
18816 (grub_cmd_linux): Likewise.
18817 (grub_cmd_initrd): Likewise.
18818 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
18819 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
18820
18821 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
18822
18823 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
18824 larger than MEMORY_MAP_SIZE.
18825
18826 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
18827
18828 Fix parallel build.
18829
18830 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
18831 dependency.
18832 * script/parser.y: #include grub_script.tab.h header.
18833
18834 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
18835
18836 Support >3GiB and <16MiB RAM in i386-qemu.
18837
18838 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
18839 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
18840 (grub_lower_mem): Removed.
18841 (grub_upper_mem): Likewise.
18842 (mem_size): Made static.
18843 (above_4g): New variable.
18844 (grub_machine_mmap_init): Detect small mem_size and above_4g.
18845 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
18846 support.
18847
18848 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
18849
18850 Cirrus 5446 and Bochs video cards support.
18851
18852 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
18853 video_bochs.mod
18854 (video_cirrus_mod_SOURCES): New variable.
18855 (video_cirrus_mod_CFLAGS): Likewise.
18856 (video_cirrus_mod_LDFLAGS): Likewise.
18857 (video_bochs_mod_SOURCES): Likewise.
18858 (video_bochs_mod_CFLAGS): Likewise.
18859 (video_bochs_mod_LDFLAGS): Likewise.
18860 * include/grub/vga.h: New file.
18861 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
18862 (grub_video_fb_set_page_t): New type.
18863 (grub_video_fb_setup): New prototype.
18864 (grub_video_fb_swap_buffers): Likewise.
18865 (grub_video_fb_get_info_and_fini): Likewise.
18866 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
18867 (CRTC_DATA_PORT): Likewise.
18868 (CRTC_CURSOR): Likewise.
18869 (CRTC_CURSOR_ADDR_HIGH): Likewise.
18870 (CRTC_CURSOR_ADDR_LOW): Likewise.
18871 (CRTC_CURSOR_DISABLE): Likewise.
18872 (update_cursor): Use grub_vga_cr_write.
18873 (grub_vga_text_setcursor): Likewise.
18874 * video/bochs.c: New file.
18875 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
18876 (palette): Likewise.
18877 (palette_size): Likewise.
18878 (framebuffer): New variable.
18879 (grub_video_fb_init): Use 'framebuffer'.
18880 (grub_video_fb_fini): Likewise.
18881 (grub_video_fb_get_info): Likewise.
18882 (grub_video_fb_get_palette): Likewise.
18883 (grub_video_fb_set_palette): Likewise.
18884 (grub_video_fb_set_viewport): Likewise.
18885 (grub_video_fb_get_viewport): Likewise.
18886 (grub_video_fb_map_color): Likewise.
18887 (grub_video_fb_map_rgb): Likewise.
18888 (grub_video_fb_map_rgba): Likewise.
18889 (grub_video_fb_unmap_color): Likewise.
18890 (grub_video_fb_unmap_color_int): Likewise.
18891 (grub_video_fb_fill_rect): Likewise.
18892 (grub_video_fb_blit_bitmap): Likewise.
18893 (grub_video_fb_blit_render_target): Likewise.
18894 (grub_video_fb_scroll): Likewise.
18895 (grub_video_fb_create_render_target): Likewise.
18896 (grub_video_fb_doublebuf_blit_init): Likewise.
18897 (grub_video_fb_set_active_render_target): Handle doublebuffering.
18898 (doublebuf_pageflipping_update_screen): New function.
18899 (doublebuf_pageflipping_init): Likewise.
18900 (grub_video_fb_setup): Likewise.
18901 (grub_video_fb_swap_buffers): Likewise.
18902 (grub_video_fb_get_info_and_fini): Likewise.
18903 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
18904 All users updated.
18905 (doublebuf_pageflipping_commit): Restructured into ...
18906 (doublebuf_pageflipping_set_page): ... this.
18907 (doublebuf_pageflipping_update_screen): Removed.
18908 (doublebuf_pageflipping_init): Likewise.
18909 (double_buffering_init): Likewise.
18910 (grub_video_vbe_setup): Use grub_video_fb_setup.
18911 (grub_video_vbe_swap_buffers): Removed.
18912 (grub_video_vbe_set_active_render_target): Likewise.
18913 (grub_video_vbe_get_active_render_target): Likewise.
18914 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
18915 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
18916 grub_video_fb_set_active_render_target and
18917 grub_video_fb_get_active_render_target.
18918 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
18919 (SEQUENCER_DATA_PORT): Likewise.
18920 (MAP_MASK_REGISTER): Likewise.
18921 (CRTC_ADDR_PORT): Likewise.
18922 (CRTC_DATA_PORT): Likewise.
18923 (START_ADDR_HIGH_REGISTER): Likewise.
18924 (START_ADDR_LOW_REGISTER): Likewise.
18925 (GRAPHICS_ADDR_PORT): Likewise.
18926 (GRAPHICS_DATA_PORT): Likewise.
18927 (READ_MAP_REGISTER): Likewise.
18928 (INPUT_STATUS1_REGISTER): Likewise.
18929 (INPUT_STATUS1_VERTR_BIT): Likewise.
18930 (get_map_mask): Use grub_vga_sr_read.
18931 (set_map_mask): Use grub_vga_sr_write.
18932 (set_read_map): Use grub_vga_gr_write.
18933 (set_start_address): Use grub_vga_cr_write.
18934 * video/sm712.c (framebuffer): Remove leftover fields.
18935
18936 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
18937
18938 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
18939 setting GRUB_VIDEO_BACKEND. Make it available as a user override
18940 instead. Replace the gfxterm backend check with a check that
18941 ${GRUB_PREFIX}/video.lst is non-empty.
18942 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
18943 again.
18944 (load_video): New generated function. Call it before loading
18945 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
18946 * util/grub.d/10_linux.in (linux_entry): Call load_video.
18947 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
18948 * docs/grub.texi (Simple configuration): Document
18949 GRUB_VIDEO_BACKEND.
18950
18951 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
18952
18953 Use video functions in linux and xnu loaders.
18954
18955 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
18956 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
18957 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
18958 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
18959 loader/i386/pc/linux.c.
18960 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
18961 (find_line_len): Removed.
18962 (find_framebuf): Likewise.
18963 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
18964 * loader/i386/efi/xnu.c: Removed.
18965 * loader/i386/pc/xnu.c: Moved from here...
18966 * loader/i386/xnu.c: ...here.
18967
18968 Enable priorities in video drivers.
18969
18970 * include/grub/video.h (grub_video_adapter_prio_t): New type.
18971 (grub_video_adapter): New field prio.
18972 (grub_video_register): Respect prio when inserting.
18973 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
18974 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
18975 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
18976 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
18977 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
18978 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
18979 * video/sm712.c (grub_video_sm712_adapter): Likewise.
18980
18981 Fix SDL driver ID.
18982
18983 * include/grub/video.h (grub_video_driver_id_t): New value
18984 GRUB_VIDEO_DRIVER_SDL.
18985 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
18986
18987 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
18988
18989 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
18990 argument to printf.
18991 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
18992
18993 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
18994
18995 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
18996 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
18997
18998 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
18999
19000 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
19001 directly, and recommend grub-install instead.
19002 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
19003
19004 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
19005
19006 Fix i386-pc prefix handling with nested partitions (Debian bug
19007 #585068). Note that the case where the core image is booted using
19008 multiboot and relocated from its original location still requires
19009 more work.
19010
19011 * kern/i386/pc/init.c (make_install_device): If the prefix starts
19012 with "(,", fill the boot drive in between those two characters, but
19013 expect that a full partition specification including partition map
19014 names will follow.
19015 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
19016 specified, write a prefix without the drive name but including a
19017 full partition specification.
19018
19019 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
19020
19021 * util/grub-mkconfig.in: Ignore non-option arguments, for
19022 compatibility with older versions (before 2010-06-12) which did the
19023 same. In particular, this makes it easier to ship an update-grub
19024 wrapper which is compatible with that used with GRUB Legacy (Debian
19025 bug #586056).
19026
19027 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
19028
19029 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
19030 for manual page generation.
19031
19032 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
19033
19034 * po/POTFILES: Remove leftover commands/handler.c.
19035
19036 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
19037
19038 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
19039 left this script non-functional.
19040
19041 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
19042
19043 * docs/man/grub-emu.h2m: New file.
19044
19045 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
19046
19047 * docs/grub.texi (Commands): Document reduced command set in rescue
19048 mode.
19049 (cpuid): New section.
19050
19051 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
19052
19053 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
19054 new partition naming style.
19055 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
19056
19057 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
19058
19059 Add "-o grub.iso" like cmdline options support.
19060
19061 * util/grub-install.in: Improve cmdline option parsing.
19062 * util/grub-mkconfig.in: Likewise.
19063 * util/grub-mkrescue.in: Likewise.
19064 * util/grub-reboot.in: Likewise.
19065 * util/grub-set-default.in: Likewise.
19066 * util/i386/efi/grub-install.in: Likewise.
19067 * util/ieee1275/grub-install.in: Likewise.
19068 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
19069
19070 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
19071
19072 * .bzrignore: Ignore 41_custom.
19073
19074 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
19075
19076 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
19077
19078 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
19079
19080 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
19081 prototype declarations.
19082
19083 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
19084 generating fs, partmap, and video lists.
19085 * include/grub/fs.h (grub_fs_register): Omit prototype if
19086 GRUB_LST_GENERATOR is defined.
19087 * include/grub/partition.h (grub_partition_map_register): Likewise.
19088 * include/grub/video.h (grub_video_register): Likewise.
19089
19090 2010-06-12 Javier Martín <lordhabbit@gmail.com>
19091
19092 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
19093
19094 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
19095
19096 * util/grub-mkrescue.in: Support --xorriso argument.
19097
19098 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19099
19100 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
19101 Suggested by: Thomas Schmitt.
19102
19103 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19104
19105 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
19106 Suggested by: Thomas Schmitt.
19107
19108 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19109
19110 custom.cfg support.
19111
19112 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
19113 * util/grub.d/41_custom.in: New file.
19114
19115 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
19116
19117 * util/grub-mkrescue.in (make_image): Remove sh module, which has
19118 been merged back into normal.
19119
19120 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
19121
19122 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
19123 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
19124
19125 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
19126
19127 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
19128 when generating manual pages.
19129 * docs/man/grub-bin2h.h2m: New file.
19130 * docs/man/grub-editenv.h2m: New file.
19131 * docs/man/grub-fstest.h2m: New file.
19132 * docs/man/grub-install.h2m: New file.
19133 * docs/man/grub-macho2img.h2m: New file.
19134 * docs/man/grub-mkconfig.h2m: New file.
19135 * docs/man/grub-mkdevicemap.h2m: New file.
19136 * docs/man/grub-mkfont.h2m: New file.
19137 * docs/man/grub-mkimage.h2m: New file.
19138 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
19139 * docs/man/grub-mkrelpath.h2m: New file.
19140 * docs/man/grub-mkrescue.h2m: New file.
19141 * docs/man/grub-ofpathname.h2m: New file.
19142 * docs/man/grub-pe2elf.h2m: New file.
19143 * docs/man/grub-probe.h2m: New file.
19144 * docs/man/grub-reboot.h2m: New file.
19145 * docs/man/grub-script-check.h2m: New file.
19146 * docs/man/grub-set-default.h2m: New file.
19147 * docs/man/grub-setup.h2m: New file.
19148
19149 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
19150
19151 Use FOR_* macros instead of *_iterate whenever possible.
19152
19153 * commands/handler.c: Removed.
19154 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
19155 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
19156 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19157 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
19158 (grub_probe_SOURCES): Remove kern/parser.c.
19159 (util/grub-script-check.c_DEPENDENCIES): Removed.
19160 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
19161 and grub_script_check_init.c.
19162 (grub_script_check_init.lst): Removed.
19163 (grub_script_check_init.h): Likewise.
19164 (grub_script_check_init.c): Likewise.
19165 (pkglib_MODULES): Remove handler.mod and sh.mod.
19166 (handler_mod_SOURCES): Removed.
19167 (handler_mod_CFLAGS): Likewise.
19168 (handler_mod_LDFLAGS): Likewise.
19169 (normal_mod_SOURCES): Remove normal/handler.c.
19170 Add script/main.c, script/script.c, script/execute.c,
19171 script/function.c, script/lexer.c, grub_script.tab.c
19172 and grub_script.yy.c.
19173 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19174 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
19175 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
19176 (grub_setup_SOURCES): Remove kern/parser.c.
19177 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19178 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
19179 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
19180 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
19181 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
19182 (grub_setup_SOURCES): Remove kern/parser.c.
19183 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19184 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
19185 * include/grub/command.h (grub_command_iterate): Removed.
19186 (FOR_COMMANDS): New macro.
19187 * include/grub/dl.h (grub_dl): New member next.
19188 (grub_dl_iterate): Removed.
19189 (grub_dl_head): New variable declaration.
19190 (FOR_DL_MODULES): New macro.
19191 * include/grub/fs.h: Include list.h.
19192 (grub_fs): Make next first element.
19193 (grub_fs_list): New variable declaration.
19194 (grub_fs_register): Make inline.
19195 (grub_fs_unregister): Likewise.
19196 (grub_fs_iterate): Removed.
19197 (FOR_FILESYSTEMS): New macro.
19198 * include/grub/handler.h: Removed.
19199 * include/grub/list.h (grub_list_hook_t): Removed.
19200 (grub_list_test_t): Likewise.
19201 (grub_list_pop): Likewise.
19202 (grub_list_iterate): Likewise.
19203 (grub_list_insert): Likewise.
19204 (FOR_LIST_ELEMENTS): New macro.
19205 * include/grub/parser.h (grub_parser_class): Removed.
19206 (grub_parser_register): Likewise.
19207 (grub_parser_unregister): Likewise.
19208 (grub_parser_get_current): Likewise.
19209 (grub_parser_set_current): Likewise.
19210 (grub_register_rescue_parser): Likewise.
19211 (grub_rescue_parse_line): New function.
19212 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
19213 * include/grub/script_sh.h (grub_script_function_list): New variable
19214 declaration.
19215 (FOR_SCRIPT_FUNCTIONS): New macro.
19216 (grub_script_function_iterate): Removed.
19217 (grub_normal_parse_line): New prototype.
19218 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
19219 (FOR_DISABLED_TERM_INPUTS): Likewise.
19220 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
19221 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
19222 * include/grub/video.h (grub_video_adapter): Move 'next' to first
19223 element.
19224 (grub_video_register): Inline.
19225 (grub_video_unregister): Likewise.
19226 (grub_video_adapter_list): New variable declaration.
19227 (grub_video_iterate): Removed.
19228 (FOR_VIDEO_ADAPTERS): New macro.
19229 * kern/dl.c (grub_dl_list): Removed. All users updated.
19230 (grub_dl_iterate): Removed.
19231 * kern/fs.c (grub_fs_list): Make global.
19232 (grub_fs_register): Removed.
19233 (grub_fs_unregister): Likewise.
19234 (grub_fs_iterate): Likewise.
19235 * kern/handler.c: Removed.
19236 * kern/list.c (grub_list_pop): Removed.
19237 (grub_list_iterate): Likewise.
19238 (grub_list_insert): Likewise.
19239 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
19240 (grub_prio_list_insert): Don't use grub_list_insert.
19241 * kern/main.c (grub_register_rescue_parser): Don't call
19242 grub_register_rescue_parser.
19243 * kern/parser.c (grub_parser_class): Removed.
19244 (grub_parser_execute): Use grub_rescue_parse_line.
19245 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
19246 (grub_rescue_parser): Removed.
19247 (grub_register_rescue_parser): Likewise.
19248 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
19249 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
19250 (grub_auth_check_authentication): Likewise.
19251 * normal/completion.c (iterate_command): Removed.
19252 (grub_normal_do_completion): Use FOR_COMMANDS.
19253 * normal/handler.c: Removed.
19254 * normal/main.c (read_config_file): Remove parser changing.
19255 (grub_normal_execute): Don't call read_handler_list.
19256 (grub_normal_read_line_real): Statically allocate prompt.
19257 (grub_cmdline_run): Use grub_normal_parse_line.
19258 (GRUB_MOD_FINI): Don't call free_handler_list.
19259 * normal/menu_entry.c (run): Likewise.
19260 * script/function.c (grub_script_function_list): Make global.
19261 (grub_script_function_iterate): Removed.
19262 * script/main.c (grub_normal_parse_line): Make global.
19263 (grub_sh_parser): Removed.
19264 (GRUB_MOD_INIT): Likewise.
19265 (GRUB_MOD_FINI): Likewise.
19266 * tests/lib/functional_test.c (grub_functional_test): Use
19267 FOR_LIST_ELEMENTS.
19268 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
19269 (grub_test_run): Use FOR_LIST_ELEMENTS.
19270 * tests/lib/unit_test.c (main): Likewise.
19271 * util/deviceiter.c (grub_util_iterate_devices): Don't use
19272 grub_list_pop.
19273 * util/grub-fstest.c (grub_term_input_class): Removed.
19274 (grub_term_output_class): Likewise.
19275 * util/grub-probe.c: Likewise.
19276 * util/i386/pc/grub-setup.c: Likewise.
19277 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19278 * util/grub-script-check.c (main): Don't call grub_init_all and
19279 grub_fini_all.
19280 * video/video.c (grub_video_adapter_list): Make global.
19281 (grub_video_register): Removed.
19282 (grub_video_unregister): Likewise.
19283 (grub_video_iterate): Likewise.
19284
19285 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
19286
19287 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
19288 reported by Henrique Ferreiro.
19289
19290 2010-06-09 Robert Millan <rmh@gnu.org>
19291
19292 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
19293 ones, when both are available.
19294
19295 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19296
19297 Make --version uniform and avoid hard-coded program name.
19298
19299 * util/grub-mkimage.c (main): Use `program_name' instead of
19300 hard-coded string.
19301 * util/i386/pc/grub-setup.c (main): Likewise.
19302 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
19303 * util/grub-install.in: Save the basename of $0 in $self, and use the
19304 latter in informational messages. Use the same format for --version
19305 as the binary programs.
19306 * util/grub-mkconfig.in: Likewise.
19307 * util/grub-mkrescue.in: Likewise.
19308 * util/grub-reboot.in: Likewise.
19309 * util/grub-set-default.in: Likewise.
19310 * util/i386/efi/grub-install.in: Likewise.
19311 * util/ieee1275/grub-install.in: Likewise.
19312 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
19313
19314 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19315
19316 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
19317 embedding area. Use <= instead of == when checking for non-emptiness.
19318
19319 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19320
19321 * configure.ac: Add `.' to the directories searched for unifont.
19322
19323 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
19324
19325 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
19326 grub_script.yy.h.
19327
19328 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
19329
19330 * docs/grub.texi (History): Expand to cover GRUB 2.
19331 (Serial terminal): Refer to `terminal_input' and `terminal_output'
19332 commands, not `terminal'.
19333 (serial): Likewise.
19334 (terminal_input): New section.
19335 (terminal_output): New section.
19336 (uppermem): New section (stub).
19337 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
19338
19339 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
19340
19341 * docs/grub.texi (Security): Menu entries are unrestricted by
19342 default, not restricted to superusers as I had previously thought.
19343 Reword to account for this.
19344
19345 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19346
19347 * kern/emu/misc.c (device_mapper_null_log): New function.
19348 (grub_device_mapper_supported): New function.
19349 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
19350 prototype.
19351 * kern/emu/hostdisk.c (find_partition_start): Check whether
19352 device-mapper is supported before trying to use it.
19353 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
19354
19355 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19356
19357 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
19358 (File name syntax): Likewise.
19359 (help): --all is no longer supported in GRUB 2. Be more precise
19360 about pattern matching.
19361
19362 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19363
19364 * normal/completion.c (grub_normal_do_completion): When completing
19365 arguments to "set" and the current word contains an equals sign,
19366 skip to after the equals sign before starting completion.
19367
19368 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19369
19370 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
19371
19372 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19373
19374 * docs/grub.texi (Network): New section.
19375 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
19376 `(nd)' as in GRUB Legacy.
19377 (pxe_unload): New section.
19378
19379 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19380
19381 * docs/grub.texi (Troubleshooting): `echo' is not usually available
19382 in the rescue shell, so recommend using `set' instead. Thanks,
19383 Jordan Uggla.
19384
19385 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19386
19387 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
19388 (password): New section.
19389 (password_pbkdf2): New section.
19390 (search): New section.
19391 (Security): New section.
19392 (Troubleshooting): New section, currently very incomplete.
19393 (Invoking grub-mkpasswd-pbkdf2): New section.
19394 (Internals): New section, currently very incomplete.
19395
19396 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19397
19398 * util/grub.d/00_header.in: Add some more quoting (of
19399 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
19400 work again.
19401 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
19402
19403 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19404
19405 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
19406 to `count', fixing variable shadowing that broke the -c option.
19407
19408 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
19409
19410 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
19411 in case they contain spaces.
19412
19413 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
19414
19415 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
19416 "part_" to partmap module names, in line with grub-install.
19417 Reported by: Jindřich Makovička (Debian bug #584426).
19418
19419 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
19420
19421 * util/grub-mkimage.c: Make target-related error messages slightly
19422 more helpful; -O talks about "format". Explicitly point to the use
19423 of -O if no target is specified.
19424 Reported by: Didier Raboud (Debian bug #584415).
19425
19426 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
19427
19428 * INSTALL: Document several build requirements for optional features
19429 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
19430
19431 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
19432
19433 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
19434 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
19435 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
19436
19437 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19438
19439 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
19440 Thanks to Jordan Uggla for spotting this.
19441
19442 2010-06-02 Aleš Nesrsta <starous@volny.cz>
19443
19444 Finally make USB usable.
19445
19446 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
19447 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
19448 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
19449 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
19450 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
19451 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
19452 (GRUB_OHCI_FSMPS): Likewise.
19453 (GRUB_OHCI_PERIODIC_START): Likewise.
19454 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
19455 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
19456 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
19457 (GRUB_OHCI_SET_PORT_RESET): Likewise.
19458 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
19459 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
19460 (grub_ohci_transaction): Likewise.
19461 (grub_ohci_transfer): Improve condition detection algorithms.
19462 Handle toggle property. Program the transactions correctly.
19463 Improve error handling. Various important fixups.
19464 (grub_ohci_portstatus): Put register writes in right order.
19465 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
19466 (grub_uhci_transfer): Don't show "failed" message on success.
19467 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
19468 array.
19469 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
19470 determine its size.
19471 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
19472 before initialization is completed. Use IN direction for empty
19473 transfers. Use last_trans and compute toggle.
19474 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
19475 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
19476 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
19477 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
19478 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
19479 (grub_usb_device): Increase toggle to 256.
19480 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
19481 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
19482 GRUB_USBMS_SUBCLASS_SFF8070.
19483 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
19484 (grub_scsi_inquiry): New member page and alloc_length.
19485 (grub_scsi_request_sense): New structure.
19486 (grub_scsi_request_sense_data): Likewise.
19487 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
19488 control.
19489 * disk/scsi.c (grub_scsi_request_sense): New function.
19490 (grub_scsi_test_unit_ready): Likewise.
19491 (grub_scsi_inquiry): Fill new fields.
19492 (grub_scsi_read_capacity): Likewise.
19493 (grub_scsi_read10): Add request sense at the end.
19494 (grub_scsi_read12): Likewise.
19495 (grub_scsi_write10): Likewise.
19496 (grub_scsi_write12): Likewise.
19497 (grub_scsi_open): Add Test Unit Ready.
19498 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
19499 Support additional subclasses. Con't clear halt yet. Activate the
19500 proper config. Calculate LUNs correctly.
19501 (grub_usbms_transfer): Various important fixups.
19502
19503 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
19504
19505 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
19506 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
19507 (grub_ohci_fini_hw): New function.
19508 (grub_ohci_restore_hw): Likewise.
19509 (GRUB_MOD_INIT(ohci)): Register preboot hook.
19510 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
19511 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
19512
19513 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
19514
19515 Dedicated DMA allocations.
19516
19517 * bus/pci.c (grub_memalign_dma32): New function
19518 (grub_dma_free): Likewise.
19519 (grub_dma_get_virt): Likewise.
19520 (grub_dma_get_phys): Likewise.
19521 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
19522 (grub_ohci_pci_iter): Use dma32_alloc.
19523 (grub_ohci_transfer): Likewise.
19524 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
19525 (grub_usb_bulk_readwrite): Likewise.
19526 * include/grub/pci.h: Add declarations.
19527
19528 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
19529
19530 CS5536 support.
19531
19532 * bus/cs5536.c: New file.
19533 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
19534 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
19535 (cs5536_mod_SOURCES): New variable.
19536 (cs5536_mod_CFLAGS): Likewise.
19537 (cs5536_mod_LDFLAGS): Likewise.
19538 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
19539 machine/pci.h.
19540 (kernel_img_SOURCES): Add bus/cs5536.c.
19541 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
19542 usb_keyboard.mod.
19543 (usb_mod_SOURCES): New variable.
19544 (usb_mod_CFLAGS): New variable.
19545 (usb_mod_LDFLAGS): New variable.
19546 (usbtest_mod_SOURCES): New variable.
19547 (usbtest_mod_CFLAGS): New variable.
19548 (usbtest_mod_LDFLAGS): New variable.
19549 (ohci_mod_SOURCES): New variable.
19550 (ohci_mod_CFLAGS): New variable.
19551 (ohci_mod_LDFLAGS): New variable.
19552 (usbms_mod_SOURCES): New variable.
19553 (usbms_mod_CFLAGS): New variable.
19554 (usbms_mod_LDFLAGS): New variable.
19555 (usb_keyboard_mod_SOURCES): New variable.
19556 (usb_keyboard_mod_CFLAGS): New variable.
19557 (usb_keyboard_mod_LDFLAGS): New variable.
19558 * include/grub/smbus.h: New file.
19559 * include/grub/cs5536.h: New file.
19560
19561 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19562
19563 * util/grub.d/00_header.in: Add safety check to make sure that
19564 ${locale_dir} exists before trying to probe it.
19565
19566 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19567
19568 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
19569 per the GNU Coding Standards; this is now too obscure to be worth
19570 documenting.
19571 (QNX): Likewise.
19572 (chainloader): Remove cross-reference to `SCO UnixWare'.
19573
19574 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19575
19576 * docs/grub.texi (Chain-loading): New section.
19577 (DOS/Windows): New section, borrowed from GRUB Legacy with details
19578 adjusted for GRUB 2.
19579 (SCO UnixWare): Likewise.
19580 (QNX): Likewise.
19581 (chainloader): Add reference to `Block list syntax'.
19582 (drivemap): New section.
19583 (parttool): New section.
19584
19585 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19586
19587 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
19588 the grub shell'.
19589 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
19590 (Installing GRUB using grub-install): Remove reference to the grub
19591 shell; mention `grub-mkimage' and `grub-setup' instead.
19592 (Invoking grub-install): Likewise.
19593 (Interface): Add reference to `Menu entry editor'.
19594 (serial): Remove `--device' option.
19595
19596 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19597
19598 * docs/grub.texi (Configuration): New section, documenting
19599 configuration file generation using grub-mkconfig. I've left a slot
19600 for documenting the full shell scripting format but have not yet
19601 started on writing that up.
19602 (Invoking grub-mkconfig): New section.
19603
19604 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19605
19606 * docs/grub.texi (direntry): Remove grub-terminfo reference.
19607 (GNU GRUB manual): Likewise.
19608 (General commands): Update description of `terminfo' for GRUB 2.
19609
19610 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19611
19612 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
19613 (GRUB_MOD_INIT): Fix capitalisation.
19614 * docs/grub.texi (Command-line and menu entry commands): Document
19615 gettext and gptsync commands.
19616
19617 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19618
19619 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
19620 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
19621
19622 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
19623
19624 Add btrfs probing support, currently only in the single-device case.
19625
19626 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
19627 function.
19628 (grub_guess_root_device): Call find_root_device_from_mountinfo
19629 before looking in /dev.
19630
19631 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19632
19633 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
19634 GRUB_DISK_SIZE_UNKNOWN.
19635 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
19636
19637 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
19638
19639 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
19640 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
19641 corrupted or not synced properly.
19642
19643 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19644
19645 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
19646 Reported by: Seth Goldberg.
19647
19648 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19649
19650 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
19651 addition of dest.
19652 Reported by: Seth Goldberg.
19653
19654 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19655
19656 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
19657 Reported by: Seth Goldberg.
19658
19659 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19660
19661 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
19662 64-bit address as signed on MIPS.
19663
19664 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
19665
19666 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
19667 to the empty string.
19668
19669 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
19670
19671 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
19672
19673 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
19674 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
19675 * kern/misc.c (__enable_execute_stack): Disable on
19676 GRUB_MACHINE_EMU.
19677
19678 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
19679
19680 Make grub-probe work with symbolic links under /dev/mapper as well
19681 as with real block devices. The Linux world seems to be (at best)
19682 in transition here, and GRUB shouldn't get caught in the middle.
19683
19684 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
19685 /dev/mapper.
19686
19687 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
19688
19689 * util/grub-script-check.c (main): Ensure defined behaviour on empty
19690 input files (in which case exit zero).
19691
19692 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
19693
19694 * kern/emu/misc.c (canonicalize_file_name): realpath can still
19695 return NULL for various reasons even if it has a maximum-length
19696 buffer: for example, there might be a symlink loop, or the path
19697 might exceed PATH_MAX. If this happens, return NULL.
19698
19699 2010-05-27 Robert Millan <rmh@gnu.org>
19700
19701 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
19702 partmap module to handle cross-partmap setups.
19703 Reported by Orestes Mas. Gràcies!
19704
19705 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
19706
19707 * util/grub-mkrescue.in: Initialise override_dir rather than
19708 assuming that it's unset or empty in the environment.
19709
19710 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
19711
19712 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
19713 variable index into p_index to suppress a warning with -Wshadow.
19714
19715 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
19716
19717 * INSTALL: Added flex >= 2.5.35 requirement.
19718
19719 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19720
19721 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
19722
19723 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19724
19725 cmostest support.
19726
19727 * commands/i386/cmostest.c: New file.
19728 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
19729 (cmostest_mod_SOURCES): New variable.
19730 (cmostest_mod_CFLAGS): Likewise.
19731 (cmostest_mod_LDFLAGS): Likewise.
19732 * conf/i386-pc.rmk: Likewise.
19733 * docs/grub.texi (Vendor power-on keys): New section.
19734 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
19735 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
19736 and GRUB_BUTTON_CMOS_ADDRESS.
19737 * util/grub.d/00_header.in: Handle powering-on by separate button.
19738
19739 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19740
19741 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
19742 Removed drawing_scrollbar argument. All users updated
19743 Fixes #29792.
19744 Reported by Jo Shields
19745
19746 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19747
19748 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
19749 buffer since gfxterm handles double repaint.
19750
19751 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19752
19753 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
19754 * term/gfxterm.c (real_scroll): Likewise.
19755
19756 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19757
19758 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
19759 before calling BIOS.
19760
19761 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19762
19763 * include/grub/i18n.h: Always enable grub_gettext.
19764
19765 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19766
19767 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
19768 partition naming style.
19769
19770 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
19771
19772 * util/grub-mkconfig.in: Fix handling of -o so that it works when
19773 not the first option.
19774
19775 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
19776
19777 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
19778
19779 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
19780
19781 * util/misc.c: Move inclusion of <limits.h> to ...
19782 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
19783
19784 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
19785
19786 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
19787 Fix merge error in NetBSD code.
19788 (find_partition_start) [__NetBSD__]: Likewise.
19789
19790 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
19791
19792 Fix grub-mkrescue usage unit testing.
19793
19794 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
19795
19796 2010-05-18 Christian Franke <franke@computer.org>
19797
19798 * util/grub.d/10_windows.in: Use path names instead of
19799 drive letters to prevent warning from Cygwin 1.7.
19800 Add drivemap command to menuentry if needed.
19801
19802 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
19803
19804 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
19805 gnumach and gnumach.gz.
19806
19807 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19808
19809 * include/grub/i18n.h (gettext): Inline instead of using #define.
19810 (grub_gettext): Likewise.
19811 (_): Likewise.
19812
19813 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19814
19815 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
19816 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
19817 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
19818 (main): Add a slash after pkglibdirroot.
19819
19820 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19821
19822 * util/grub-install.in: Add missing "in" keyword.
19823
19824 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19825
19826 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
19827 Reported by: Seth Goldberg.
19828
19829 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19830
19831 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
19832
19833 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
19834
19835 * configure.ac: Check for Linux device-mapper support.
19836
19837 * util/hostdisk.c (device_is_mapped): New function.
19838 (find_partition_start): New function, partly broken out from
19839 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
19840 device-mapper support added.
19841 (linux_find_partition): Use find_partition_start.
19842 (convert_system_partition_to_system_disk): Add `st' argument.
19843 Support Linux /dev/mapper/* devices if device-mapper support is
19844 available; only DM-RAID devices are understood at present.
19845 (find_system_device): Add `st' argument. Pass it to
19846 convert_system_partition_to_system_disk.
19847 (grub_util_biosdisk_get_grub_dev): Pass stat result to
19848 find_system_device and convert_system_partition_to_system_disk. Use
19849 find_partition_start.
19850
19851 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
19852 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
19853 * util/deviceiter.c [__linux__]: Define MINOR.
19854 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
19855 * util/mkdevicemap.c (grub_putchar): New function.
19856 (grub_getkey): New function.
19857 (grub_refresh): New function.
19858 (main): Set debug=all if -v -v is used.
19859
19860 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
19861
19862 Fix build with non-GNU libcs.
19863
19864 * util/misc.c (canonicalize_file_name): Move to ...
19865 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
19866 grub_make_system_path_relative_to_its_root.
19867
19868 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
19869
19870 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
19871 we handle finding grub-mkimage. Default to finding grub-mkimage in
19872 ${bindir} with program_transform_name applied, and provide a
19873 --grub-mkimage option to override this.
19874
19875 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19876
19877 Remove grub-mkisofs.
19878
19879 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
19880 (grub_mkisofs_SOURCES): Removed.
19881 (grub_mkisofs_CFLAGS): Removed.
19882 * util/mkisofs/defaults.h: Removed.
19883 * util/mkisofs/eltorito.c: Likewise.
19884 * util/mkisofs/exclude.h: Likewise.
19885 * util/mkisofs/hash.c: Likewise.
19886 * util/mkisofs/include/: Likewise.
19887 * util/mkisofs/include/fctldefs.h: Likewise.
19888 * util/mkisofs/include/mconfig.h: Likewise.
19889 * util/mkisofs/include/prototyp.h: Likewise.
19890 * util/mkisofs/include/statdefs.h: Likewise.
19891 * util/mkisofs/iso9660.h: Likewise.
19892 * util/mkisofs/joliet.c: Likewise.
19893 * util/mkisofs/match.c: Likewise.
19894 * util/mkisofs/match.h: Likewise.
19895 * util/mkisofs/mkisofs.c: Likewise.
19896 * util/mkisofs/mkisofs.h: Likewise.
19897 * util/mkisofs/msdos_partition.h: Likewise.
19898 * util/mkisofs/multi.c: Likewise.
19899 * util/mkisofs/name.c: Likewise.
19900 * util/mkisofs/rock.c: Likewise.
19901 * util/mkisofs/tree.c: Likewise.
19902 * util/mkisofs/write.c: Likewise.
19903
19904 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19905
19906 Unify grub-mkimage accross platforms.
19907
19908 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
19909 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
19910 (grub_mkelfimage_SOURCES): Removed.
19911 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
19912 (util/grub-mkimage.c_DEPENDENCIES): .. this.
19913 (bin_UTILITIES): Add grub-mkimage.
19914 (grub_mkimage_SOURCES): New variable.
19915 (kernel_img_HEADERS): Remove machine/kernel.h.
19916 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
19917 (pkglib_PROGRAMS): Add kernel.img.
19918 (kernel_img_HEADERS): Add machine/kernel.h.
19919 (kernel_img_FORMAT): Removed.
19920 (bin_UTILITIES): Remove grub-mkimage.
19921 (grub_mkimage_SOURCES): Removed.
19922 (grub_mkimage_CFLAGS): Likewise.
19923 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
19924 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
19925 (pkglib_PROGRAMS): Add kernel.img.
19926 (bin_UTILITIES): Remove grub-mkimage.
19927 (grub_mkimage_SOURCES): Removed.
19928 (grub_mkimage_CFLAGS): Likewise.
19929 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
19930 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
19931 (pkglib_PROGRAMS): Add kernel.img.
19932 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
19933 (pkglib_PROGRAMS): Add kernel.img.
19934 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
19935 (grub_mkimage_SOURCES): Removed.
19936 (grub_mkimage_CFLAGS): Likewise.
19937 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
19938 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
19939 (pkglib_PROGRAMS): Add kernel.img.
19940 (bin_UTILITIES): Remove grub-mkimage.
19941 (grub_mkimage_SOURCES): Removed.
19942 (grub_mkimage_CFLAGS): Likewise.
19943 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
19944 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
19945 (grub_mkimage_SOURCES): Removed.
19946 (grub_mkimage_CFLAGS): Likewise.
19947 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
19948 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
19949 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
19950 (grub_pe32_optional_header): ... this.
19951 (grub_pe64_optional_header): ... and this. All users updated.
19952 (GRUB_PE32_PE32_MAGIC): Split into ..
19953 (GRUB_PE32_PE32_MAGIC): .. this.
19954 (GRUB_PE32_PE64_MAGIC): .. and this.
19955 (GRUB_PE32_SIGNATURE_SIZE): New definition.
19956 * include/grub/elf.h (PT_GNU_STACK): New definition.
19957 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
19958 * include/grub/i386/efi/kernel.h: Likewise.
19959 * include/grub/i386/kernel.h: Likewise.
19960 * include/grub/i386/pc/kernel.h: Likewise.
19961 * include/grub/i386/qemu/boot.h: Likewise.
19962 * include/grub/mips/kernel.h: Likewise.
19963 * include/grub/mips/qemu-mips/kernel.h: Likewise.
19964 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
19965 * include/grub/powerpc/kernel.h: Likewise.
19966 * include/grub/sparc64/ieee1275/boot.h: Likewise.
19967 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
19968 * include/grub/sparc64/kernel.h: Likewise.
19969 * include/grub/x86_64/efi/kernel.h: Likewise.
19970 * include/grub/x86_64/kernel.h: Likewise.
19971 * include/grub/offsets.h: New file.
19972 * include/grub/kernel.h (grub_module_info): Split into ...
19973 (grub_module_info32): ... this.
19974 (grub_module_info64): ... and this.
19975 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
19976 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
19977 (grub_boot_blocklist): Moved from here ...
19978 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
19979 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
19980 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
19981 * include/grub/types.h (grub_target_to_host16): Removed.
19982 (grub_target_to_host32): Likewise.
19983 (grub_target_to_host64): Likewise.
19984 (grub_host_to_target16): Likewise.
19985 (grub_host_to_target32): Likewise.
19986 (grub_host_to_target64): Likewise.
19987 (grub_host_to_target_addr): Likewise.
19988
19989 Support grub-mkrescue for efi, coreboot and qemu.
19990
19991 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
19992 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
19993 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
19994 * util/grub-mkrawimage.c: Moved from here ...
19995 * util/grub-mkimage.c: ... here. All users updated.
19996 (ALIGN_ADDR): Use image_target.
19997 (TARGET_NO_FIELD): New const.
19998 (image_target_desc): New type.
19999 (image_targets): New array.
20000 (grub_target_to_host64): Use image_target.
20001 (grub_target_to_host32): Likewise.
20002 (grub_target_to_host16): Likewise.
20003 (grub_host_to_target64): Likewise.
20004 (grub_host_to_target32): Likewise.
20005 (grub_host_to_target16): Likewise.
20006 (grub_host_to_target_addr): Likewise.
20007 (generate_image): Handle multiimage.
20008 (main): Require -O parameter. All users updated.
20009 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
20010 util/efi/grub-mkimage.c
20011 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
20012 New option --rom-directory.
20013 Use xorriso.
20014 * util/i386/efi/grub-mkimage.c: Removed.
20015 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
20016 (grub_target_to_host32): Likewise.
20017 (grub_target_to_host64): Likewise.
20018 (grub_host_to_target16): Likewise.
20019 (grub_host_to_target32): Likewise.
20020 (grub_host_to_target64): Likewise.
20021 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
20022 (grub_target_to_host32): Likewise.
20023 (grub_target_to_host64): Likewise.
20024 (grub_host_to_target16): Likewise.
20025 (grub_host_to_target32): Likewise.
20026 (grub_host_to_target64): Likewise.
20027
20028 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
20029
20030 Source tree is reorganized for emu build.
20031
20032 * include/grub/util/console.h: Move from here...
20033 * include/grub/emu/console.h: ...to here.
20034 * include/grub/util/getroot.h: Move from here...
20035 * include/grub/emu/getroot.h: ...to here.
20036 * include/grub/util/hostdisk.h: Move from here...
20037 * include/grub/emu/hostdisk.h: ...to here.
20038 * util/console.c: Move from here...
20039 * kern/emu/console.c: ...to here.
20040 * util/getroot.c: Move from here...
20041 * kern/emu/getroot.c: ...to here.
20042 * util/grub-emu.c: Move from here...
20043 * kern/emu/main.c: ...to here.
20044 * util/hostdisk.c: Move from here...
20045 * kern/emu/hostdisk.c: ...to here.
20046 * util/hostfs.c: Move from here...
20047 * kern/emu/hostfs.c: ...to here.
20048 * util/mm.c: Move from here...
20049 * kern/emu/mm.c: ...to here.
20050 * util/pci.c: Move from here...
20051 * bus/emu/pci.c: ...to here.
20052 * util/sdl.c: Move from here...
20053 * video/emu/sdl.c: ...to here.
20054 * util/time.c: Move from here...
20055 * kern/emu/time.c: ...to here.
20056 * util/usb.c: Move from here...
20057 * bus/usb/emu/usb.c: ...to here.
20058
20059 * include/grub/emu/misc.h: New header for grub-emu functions.
20060 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
20061
20062 * conf/any-emu.rmk: Rule updates for above renames.
20063 * conf/common.rmk: Likewise.
20064 * conf/i386-pc.rmk: Likewise.
20065 * conf/i386-qemu.rmk: Likewise.
20066 * conf/mips.rmk: Likewise.
20067 * conf/sparc64-ieee1275.rmk: Likewise.
20068 * conf/x86-efi.rmk: Likewise.
20069
20070 * disk/lvm.h: #include updates for above renames.
20071 * util/grub-mkrelpath.c: Likewise.
20072 * util/grub-probe.c: Likewise.
20073 * util/i386/pc/grub-setup.c: Likewise.
20074 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20075 * kern/emu/console.c: Likewise.
20076 * kern/emu/getroot.c: Likewise.
20077 * kern/emu/hostdisk.c: Likewise.
20078 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
20079
20080 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
20081 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
20082 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
20083 * util/misc.c: Remove grub-emu functions.
20084
20085 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
20086
20087 Fix gfxmenu crash.
20088 Reported by: Thorsten Grützmacher.
20089
20090 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
20091 timeout hook.
20092 (circprog_set_property): Register and unregister timeout hook.
20093 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
20094 (label_destroy): Free template. and unregister hook.
20095 (label_set_state): New function.
20096 (label_set_property): Handle templates and hooks.
20097 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
20098 timeout hook.
20099 (progress_bar_set_property): Register and unregister timeout hook.
20100 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
20101 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
20102 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
20103 (update_timeout_visit): Removed.
20104 (update_timeouts): New function.
20105 (redraw_timeouts): Likewise.
20106 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
20107 (grub_gfxmenu_clear_timeout): Likewise.
20108 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
20109 (grub_gfxmenu_timeout_notify): Likewise.
20110 (grub_gfxmenu_timeout_notifications): New external variable.
20111 (grub_gfxmenu_timeout_register): New function.
20112 (grub_gfxmenu_timeout_unregister): Likewise.
20113
20114 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20115
20116 Transform (broken) vga terminal into (working) vga video driver.
20117
20118 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
20119 video/i386/pc/vga.c.
20120 * include/grub/video.h (grub_video_driver_id):
20121 Add GRUB_VIDEO_DRIVER_VGA.
20122 * term/i386/pc/vga.c: Renamed to ...
20123 * video/i386/pc/vga.c: ...this
20124 (DEBUG_VGA): Removed.
20125 (CHAR_WIDTH): Likewise.
20126 (CHAR_HEIGHT): Likewise.
20127 (TEXT_WIDTH): Likewise.
20128 (TEXT_HEIGHT): Likewise.
20129 (DEFAULT_FG_COLOR): Likewise.
20130 (DEFAULT_BG_COLOR): Likewise.
20131 (colored_char): Likewise.
20132 (xpos): Likewise.
20133 (ypos): Likewise.
20134 (cursor_state): Likewise.
20135 (fg_color): Likewise.
20136 (bg_color): Likewise.
20137 (text_buf): Likewise.
20138 (page): Likewise.
20139 (font): Likewise.
20140 (framebuffer): New variable.
20141 (set_read_map): Disabled.
20142 (setup): New variable.
20143 (is_target): Likewise.
20144 (grub_vga_mod_init): Likewise.
20145 (grub_vga_mod_fini): Likewise.
20146 (check_vga_mem): Likewise.
20147 (write_char): Likewise.
20148 (write_cursor): Likewise.
20149 (scroll_up): Likewise.
20150 (grub_vga_putchar): Likewise.
20151 (grub_vga_getcharwidth): Likewise.
20152 (grub_vga_getwh): Likewise.
20153 (grub_vga_getxy): Likewise.
20154 (grub_vga_gotoxy): Likewise.
20155 (grub_vga_cls): Likewise.
20156 (grub_vga_setcolorstate): Likewise.
20157 (grub_vga_setcursor): Likewise.
20158 (grub_video_vga_init): New function.
20159 (grub_video_vga_setup): Likewise.
20160 (grub_video_vga_fini): Likewise.
20161 (update_target): Likewise.
20162 (grub_video_vga_blit_bitmap): Likewise.
20163 (grub_video_vga_blit_render_target): Likewise.
20164 (grub_video_vga_set_active_render_target): Likewise.
20165 (grub_video_vga_get_active_render_target): Likewise.
20166 (grub_video_vga_swap_buffers): Likewise.
20167 (grub_video_vga_set_palette): Likewise.
20168 (grub_video_vga_get_info_and_fini): Likewise.
20169 (grub_vga_term): Removed.
20170 (grub_video_vga_adapter): New variable.
20171 (GRUB_MOD_INIT): Register a video driver instead of terminal.
20172 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
20173
20174 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20175
20176 * video/readers/jpeg.c: Indented.
20177
20178 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20179
20180 Various jpeg cleanups.
20181
20182 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
20183 (grub_jpeg_decode_quan_table): Use sizeof.
20184 (grub_jpeg_decode_du): Use ARRAY_SIZE.
20185
20186 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
20187
20188 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
20189 tables. Ignore non-last ac bit.
20190 (grub_jpeg_decode_quan_table): Likewise.
20191
20192 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20193
20194 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
20195 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
20196 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
20197 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
20198 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
20199 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
20200
20201 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20202
20203 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
20204 error.
20205
20206 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20207
20208 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
20209
20210 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
20211
20212 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
20213 condition.
20214
20215 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
20216
20217 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
20218 part.
20219
20220 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
20221
20222 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
20223 pointers.
20224
20225 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
20226
20227 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
20228
20229 2010-05-01 Christian Franke <franke@computer.org>
20230
20231 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
20232 Remove broken Cygwin path conversion.
20233 * util/misc.c: [__CYGWIN__] Add include and define.
20234 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
20235 for Cygwin 1.7.
20236 (make_system_path_relative_to_its_root): Simplify loop, replace early
20237 return by break.
20238 [__CYGWIN__] Add conversion to win32 path.
20239 Include "/" case in trailing slash removal.
20240
20241 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20242
20243 * kern/main.c (grub_load_config): Fix copy-pasted comment.
20244 Reported by: Seth Goldberg
20245
20246 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20247
20248 * commands/help.c (grub_cmd_help): Fix a typo.
20249 Reported by: Seth Goldberg
20250
20251 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20252
20253 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
20254 name and add N_.
20255 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
20256 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
20257 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
20258 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
20259 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
20260 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
20261 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
20262 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
20263 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
20264 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
20265 * normal/context.c (GRUB_MOD_INIT): Likewise.
20266 * normal/main.c (GRUB_MOD_INIT): Likewise.
20267 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
20268 * term/serial.c (GRUB_MOD_INIT): Likewise.
20269 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
20270
20271 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20272
20273 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
20274 extra == 0.
20275
20276 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20277
20278 * commands/iorw.c: New file.
20279 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
20280 (iorw_mod_SOURCES): New variable.
20281 (iorw_mod_CFLAGS): Likewise.
20282 (iorw_mod_LDFLAGS): Likewise.
20283
20284 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20285
20286 Hotkey support
20287
20288 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
20289 * normal/main.c (hotkey_aliases): New variable.
20290 (grub_normal_add_menu_entry): Parse "--hotkey".
20291 * normal/menu_text.c (run_menu): Handle hotkeys.
20292
20293 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20294
20295 * kern/i386/coreboot/init.c (grub_machine_init): Call
20296 grub_machine_mmap_init on qemu.
20297
20298 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20299
20300 * boot/i386/qemu/boot.S: Add a missing .code16.
20301
20302 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20303
20304 Use LBIO on coreboot.
20305
20306 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
20307 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
20308 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
20309 New declaration.
20310 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
20311 grub_machine_mmap_init on coreboot.
20312 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
20313 GRUB_LINUXBIOS_MEMBER_LINK.
20314 (grub_machine_mmap_iterate): Fix declaration.
20315 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
20316
20317 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20318
20319 Split coreboot and multiboot ports.
20320
20321 * conf/i386-multiboot.rmk: New file.
20322 * configure.ac: Add multiboot port.
20323 * include/grub/i386/multiboot/boot.h: New file.
20324 * include/grub/i386/multiboot/console.h: Likewise.
20325 * include/grub/i386/multiboot/init.h: Likewise.
20326 * include/grub/i386/multiboot/kernel.h: Likewise.
20327 * include/grub/i386/multiboot/loader.h: Likewise.
20328 * include/grub/i386/multiboot/memory.h: Likewise.
20329 * include/grub/i386/multiboot/serial.h: Likewise.
20330 * include/grub/i386/multiboot/time.h: Likewise.
20331 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
20332 * loader/multiboot.c: Likewise.
20333 * loader/multiboot_mbi2.c: Likewise.
20334 * util/grub-mkrescue.in: Generate multiboot rescue.
20335
20336 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20337
20338 * kern/parser.c (grub_parser_execute): Cope with read-only config.
20339
20340 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20341
20342 Merge handling of input and output terminals. Fix a hang.
20343
20344 * commands/terminal.c (abstract_terminal): New struct.
20345 (handle_command): New function. Based on grub_cmd_terminal_input.
20346 (grub_cmd_terminal_input): Use handle_command.
20347 (grub_cmd_terminal_output): Use handle_command.
20348
20349 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
20350
20351 Fix comment handling.
20352
20353 * tests/grub_script_comments.in: New testcase.
20354 * conf/tests.rmk: Rules for new testcase.
20355 * script/yylex.l: Updated flex rules.
20356
20357 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
20358
20359 * docs/grub.texi (play): Document that zero pitches produce rests.
20360 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
20361 if argc is 1.
20362
20363 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
20364
20365 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
20366 autogen issues.
20367
20368 2010-04-26 Christian Franke <franke@computer.org>
20369
20370 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
20371 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
20372 (grub_get_prefix): Remove function.
20373 * util/grub-emu.c (main): Replace grub_get_prefix () call by
20374 make_system_path_relative_to_its_root ().
20375 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
20376
20377 2010-04-24 Christian Franke <franke@computer.org>
20378
20379 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
20380 (kernel_img_LDFLAGS): Remove -static-libgcc.
20381
20382 2010-04-24 Christian Franke <franke@computer.org>
20383
20384 * configure.ac: Do not CHECK_BSS_START_SYMBOL
20385 and CHECK_END_SYMBOL if grub-emu is built.
20386 Unset TARGET_OBJ2ELF if grub-emu is built
20387 without module support.
20388
20389 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
20390
20391 Nilfs2 support.
20392
20393 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
20394 (grub_fstest_SOURCES): Likewise.
20395 (pkglib_MODULES): Add nilfs2.mod.
20396 (nilfs2_mod_SOURCES): New variable.
20397 (nilfs2_mod_CFLAGS): Likewise.
20398 (nilfs2_mod_LDFLAGS): Likewise.
20399 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
20400 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
20401 * fs/nilfs2.c: New file.
20402
20403 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
20404
20405 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
20406 is not supported.
20407
20408 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
20409
20410 Add grub-mkconfig support for NetBSD.
20411
20412 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
20413 * util/grub-mkconfig.in: export new NetBSD specific variables.
20414 * po/POTFILES-shell: added 10_netbsd.in.
20415 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
20416
20417 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
20418
20419 Fix emu build with grub-emu-pci and grub-emu-modules.
20420
20421 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
20422 functions.
20423 * include/grub/libpciaccess.h: New file.
20424 * conf/any-emu.rmk: Update kernel headers for emu build.
20425
20426 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20427
20428 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
20429
20430 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20431
20432 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
20433
20434 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20435
20436 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
20437 Retrieve chosen/bootpath if bootpath isn't hardcoded.
20438 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
20439 util/ieee1275/ofpath.c.
20440 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
20441 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
20442 * include/grub/sparc64/ieee1275/boot.h
20443 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
20444 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
20445 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
20446 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
20447 const char *.
20448 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
20449 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
20450 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
20451 install.
20452
20453 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
20454
20455 * util/grub-mkconfig.in: Corrected two == equality tests.
20456 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
20457 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
20458 expect a number appended to it.
20459 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
20460 expects a number appended to it.
20461
20462 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20463
20464 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
20465
20466 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20467
20468 * util/hostdisk.c (make_device_name): Change to new partition naming.
20469
20470 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
20471
20472 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
20473
20474 2010-04-17 Christian Franke <franke@computer.org>
20475
20476 * Makefile.in: Add missing localedir setting.
20477
20478 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
20479
20480 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
20481 mistake in r2156. Noticed by Anthony Fok.
20482
20483 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
20484 @localedir@.
20485 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
20486
20487 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
20488
20489 Fix a spurious, uninitialized variable warning.
20490
20491 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
20492 Initialize variable, shdr.
20493 (grub_freebsd_load_elfmodule): Likewise.
20494 (grub_freebsd_load_elf_meta): Likewise.
20495
20496 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
20497
20498 Fix for escaped dollar in double quoted strings.
20499
20500 * script/yylex.l: Updated flex rules.
20501 * conf/tests.rmk: Rule for new testcase.
20502 * tests/grub_script_dollar.in: New testcase.
20503
20504 2010-04-13 Carles Pina i Estany <carles@pina.cat>
20505 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
20506
20507 Enclose all translated strings in grub.cfg in single quotes, and
20508 escape them appropriately (Ubuntu bug #552921).
20509
20510 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
20511 * util/grub.d/10_hurd.in: Use it.
20512 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
20513 * util/grub.d/10_linux.in (linux_entry): Likewise.
20514
20515 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20516
20517 Fix cygwin compilation.
20518
20519 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
20520 * include/grub/misc.h (__register_frame_info)
20521 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
20522 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
20523 * kern/misc.c (__register_frame_info)
20524 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
20525 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
20526
20527 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20528
20529 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
20530
20531 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20532
20533 Unify libgcc processing.
20534
20535 * Makefile.in (kernel_img_LDFLAGS): New variable.
20536 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
20537 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
20538 overwriting.
20539 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
20540 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
20541 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
20542 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
20543 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
20544 overwriting. Remove -lgcc and -static-libgcc
20545 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
20546 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
20547 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
20548 (kernel_img_LDFLAGS): Append instead of overwriting.
20549 Remove -lgcc and -static-libgcc
20550 * conf/sparc64-ieee1275.rmk: Likewise.
20551 * include/grub/powerpc/libgcc.h: Move to ...
20552 * include/grub/libgcc.h: .. this.
20553 * include/grub/libgcc.h: Don't export most of the function on x86.
20554 (__bswapsi2): New export.
20555 (__bswapdi2): Likewise.
20556 * include/grub/mips/libgcc.h: Removed.
20557 * include/grub/sparc64/libgcc.h: Likewise.
20558
20559 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20560
20561 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
20562 disk_info_msg (conflicts with gettexting into languages with cases).
20563
20564 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
20565
20566 Add grub-probe support for NetBSD.
20567
20568 * util/getroot.c (find_root_device): Convert block device to
20569 character device on NetBSD.
20570 * util/probe.c (probe): Require character device on NetBSD.
20571 * util/hostdisk.c: NetBSD specific headers.
20572 (configure_device_driver): new function to tune device driver
20573 parameters (currently only for NetBSD floppy driver).
20574 (grub_util_biosdisk_open): NetBSD specific code (get disk size
20575 via disklabel ioctl).
20576 (open_device): call configure_device_driver on NetBSD.
20577 (convert_system_partition_to_system_disk): NetBSD specific code.
20578 (device_is_wholedisk): Likewise.
20579 (grub_util_biosdisk_get_grub_dev): Likewise.
20580 (make_device_name): Fixed a typo in bsd_part_str.
20581 * configure.ac: check for opendisk() and getrawpartition() on
20582 NetBSD and set LIBUTIL.
20583 * Makefile.in: add LIBUTIL to LIBS.
20584
20585 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
20586
20587 Documentation fix.
20588
20589 * util/grub-script-check.c: Better help message.
20590
20591 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
20592
20593 Fix FreeBSD build.
20594
20595 * configure.ac: Flex version check.
20596 * conf/common.rmk: Add -Wno-error to sh.mod.
20597 * script/yylex.l: Remove all #pragma.
20598
20599 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20600
20601 * include/grub/util/misc.h (canonicalise_file_name): Add missing
20602 prototype.
20603 Reported by: Seth Goldberg.
20604
20605 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20606
20607 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
20608 Rename "module" to "module2".
20609 Reported by: Seth Goldberg.
20610
20611 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20612
20613 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
20614 EXPORT_FUNC.
20615 Reported by: Seth Goldberg.
20616
20617 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20618
20619 * lib/posix_wrap/locale.h: Add missing file.
20620 Reported by: Seth Goldberg.
20621
20622 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20623
20624 grub-emu module load support.
20625
20626 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
20627 NO_DYNAMIC_MODULES switched to this.
20628 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
20629 (CFLAGS): Likewise.
20630 * conf/any-emu.rmk: Generate symlist.
20631 (kernel_img_HEADERS): Add util/datetime.h.
20632 (kernel_img_HEADERS) [sdl]: Add sdl.h.
20633 (kernel_img_HEADERS) [libusb]: Add libusb.h.
20634 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
20635 kern/$(target_cpu)/cache.S.
20636 * configure.ac (grub-emu-modules): New option.
20637 * genmk.rb: Handle multiple source lists.
20638 * include/grub/sdl.h: New file.
20639 * include/grub/libusb.h: Likewise.
20640 * util/grub-emu.c (main): Hanle (host) root.
20641 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
20642 GRUB_ERR_UNKNOWN_DEVICE.
20643 * util/misc.c: Move mm functions to ...
20644 * util/mm.c: ... here. All users updated.
20645
20646 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20647
20648 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
20649 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
20650 missing files.
20651 (maintainer-clean): Remove libgcrypt-grub.
20652
20653 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20654
20655 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
20656
20657 2010-04-09 EFI Coder <eficoder@hotmail.com>
20658
20659 * normal/menu_text.c (print_message): Clean up the message and show
20660 the Fn information when on EFI
20661 * term/efi/console.c (grub_console_checkkey): Add F4 support.
20662
20663 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20664
20665 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
20666 All users updated.
20667 * normal/crypto.c (read_crypto_list): Likewise.
20668 * normal/dyncmd.c (read_command_list): Likewise.
20669 * normal/term.c (read_terminal_list): Likewise.
20670 * normal/main.c (read_lists): Use explicit prefix.
20671 (read_lists_hook): Use read_lists.
20672 (grub_normal_execute): Likewise.
20673
20674 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20675
20676 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
20677 Reported by: Thomas Schmitt.
20678 Add -no-emul-boot to grub-mkisofs parameters.
20679
20680 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20681
20682 * font/font.c: Indented.
20683
20684 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
20685
20686 Elif support to GRUB script (by Deepak Vankadaru).
20687
20688 * tests/grub_script_if.in: New testcase.
20689 * conf/tests.rmk: Rule for new testcase.
20690 * script/parser.y: Grammar rules for elif.
20691
20692 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
20693
20694 While and until loops support to GRUB script.
20695
20696 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
20697 (grub_script_create_cmdwhile): New function prototype.
20698 (grub_script_execute_cmdwhile): New function prototype.
20699 * script/execute.c (grub_script_execute_cmdwhile): New function.
20700 * script/parser.y (command): New commands.
20701 (whilecmd): New grammar rule.
20702 (untilcmd): New grammar rule.
20703 * script/script.c (grub_script_create_cmdwhile): New function.
20704 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
20705 function.
20706
20707 * tests/grub_script_while1.in: New testcase.
20708 * conf/tests.rmk: Rule for new testcase.
20709
20710 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20711
20712 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
20713 as *.jpg.
20714
20715 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
20716
20717 GRUB_BACKGROUND support.
20718
20719 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
20720 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
20721
20722 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20723
20724 Load fonts and modules for gfxmenu in grub-mkconfig.
20725 Idea by: Mario Vazquez
20726
20727 * util/grub.d/00_header.in: Load pf2 and image modules.
20728
20729 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20730
20731 grub-mkconfig multiple terminal support.
20732
20733 * util/grub-mkconfig.in: Handle multiple terminals correctly.
20734 * util/grub.d/00_header.in: Likewise.
20735
20736 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20737
20738 * Makefile.in: Specify files explicitly instead of using $< and $@ since
20739 we use cd $(srcdir).
20740
20741 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
20742
20743 * util/grub.d/10_linux.in: Only use the first word of
20744 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
20745 spaces in GRUB_DISTRIBUTOR.
20746 * util/grub.d/10_kfreebsd.in: Likewise.
20747 * util/grub.d/10_hurd.in: Likewise.
20748
20749 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
20750
20751 Fix unit testing framework for Qemu 0.12.
20752
20753 * tests/util/grub-shell.in: Remove -serial stdio option.
20754
20755 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20756
20757 POSIX header file wrappers.
20758
20759 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
20760 equivalents.
20761 * lib/posix_wrap/ctype.h: Likewise.
20762 * lib/posix_wrap/errno.h: Likewise.
20763 * lib/posix_wrap/langinfo.h: Likewise.
20764 * lib/posix_wrap/limits.h: Likewise.
20765 * lib/posix_wrap/localcharset.h: Likewise.
20766 * lib/posix_wrap/stdint.h: Likewise.
20767 * lib/posix_wrap/stdio.h: Likewise.
20768 * lib/posix_wrap/stdlib.h: Likewise.
20769 * lib/posix_wrap/string.h: Likewise.
20770 * lib/posix_wrap/sys/types.h: Likewise.
20771 * lib/posix_wrap/unistd.h: Likewise.
20772 * lib/posix_wrap/wchar.h: Likewise.
20773 * lib/posix_wrap/wctype.h: Likewise.
20774 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
20775 (grub_script.yy.h): Likewise.
20776 * script/yylex.l: Remove POSIX emulation #defines.
20777 * Makefile.in (POSIX_CFLAGS): New variable.
20778 (GNULIB_UTIL_CFLAGS): Likewise.
20779
20780 Regexp support.
20781
20782 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
20783 (regexp_mod_SOURCES): New variable.
20784 (regexp_mod_CFLAGS): Likewise.
20785 (regexp_mod_LDFLAGS): Likewise.
20786 * commands/regexp.c: New file.
20787 * gnulib/regcomp.c: New file. Imported from gnulib.
20788 * gnulib/regex.c: Likewise.
20789 * gnulib/regex_internal.c: Likewise.
20790 * gnulib/regex_internal.h: Likewise.
20791 * gnulib/regexec.c: Likewise.
20792 * gnulib/regex.h: Likewise.
20793
20794 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
20795
20796 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
20797 unsupported video mode types.
20798
20799 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
20800
20801 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
20802
20803 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
20804
20805 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
20806 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
20807
20808 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
20809
20810 Remove unused grub_vga_get_font.
20811
20812 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
20813 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
20814
20815 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20816
20817 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
20818 * include/grub/misc.h: Likewise.
20819
20820 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20821
20822 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
20823 for which failure is fatal.
20824
20825 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20826
20827 * util/grub-install.in: Use mkdir -p to create grub directory.
20828 * util/i386/efi/grub-install.in: Likewise.
20829 * util/ieee1275/grub-install.in: Likewise.
20830
20831 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20832
20833 * Makefile.in (LEX): new variable.
20834
20835 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20836
20837 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
20838 `=' and added double quotes on operands of this equality test.
20839
20840 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
20841
20842 * Makefile.in (uninstall): Remove a leftover debug echo.
20843 Reported by: Grégoire Sutre
20844
20845 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
20846
20847 MIPS multiboot2 support.
20848
20849 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
20850 (multiboot2_mod_SOURCES): New variable.
20851 (multiboot2_mod_CFLAGS): Likewise.
20852 (multiboot2_mod_LDFLAGS): Likewise.
20853 (multiboot2_mod_ASFLAGS): Likewise.
20854 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
20855 definition.
20856 (MULTIBOOT_ENTRY_REGISTER): Likewise.
20857 (MULTIBOOT_MBI_REGISTER): Likewise.
20858 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
20859 (MULTIBOOT_ELF32_MACHINE): Likewise.
20860 (MULTIBOOT_ELF64_MACHINE): Likewise.
20861 * include/grub/mips/multiboot.h: New file.
20862 * include/grub/video.h (grub_video_driver_id): New type
20863 GRUB_VIDEO_DRIVER_SM712.
20864 (grub_video_get_info_and_fini): Export.
20865 (grub_video_get_palette): Likewise.
20866 (grub_video_get_driver_id): Likewise.
20867 * include/multiboot2.h: Resynced with spec.
20868 * loader/i386/multiboot.c: Moved from here ...
20869 * loader/multiboot.c: ... here. All users updated.
20870 (grub_multiboot_boot): Use platform-specific macros.
20871 * loader/i386/multiboot_elfxx.c: Moved from here ...
20872 * loader/multiboot_elfxx.c: ... here. All users updated.
20873 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
20874 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
20875 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
20876
20877 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20878
20879 Import gnulib argp module.
20880
20881 * gnulib/argp-ba.c: New file.
20882 * gnulib/argp-eexst.c: Likewise.
20883 * gnulib/argp-fmtstream.c: Likewise.
20884 * gnulib/argp-fmtstream.h: Likewise.
20885 * gnulib/argp-fs-xinl.c: Likewise.
20886 * gnulib/argp-help.c: Likewise.
20887 * gnulib/argp-namefrob.h: Likewise.
20888 * gnulib/argp-parse.c: Likewise.
20889 * gnulib/argp-pin.c: Likewise.
20890 * gnulib/argp-pv.c: Likewise.
20891 * gnulib/argp-pvh.c: Likewise.
20892 * gnulib/argp-version-etc.c: Likewise.
20893 * gnulib/argp-version-etc.h: Likewise.
20894 * gnulib/argp-xinl.c: Likewise.
20895 * gnulib/argp.h: Likewise.
20896
20897 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
20898
20899 * kern/device.c (grub_device_iterate): Clear errors after failed
20900 opening device.
20901
20902 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
20903
20904 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
20905 returned by firmware.
20906
20907 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20908
20909 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
20910 compilation on coreboot and qemu
20911
20912 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
20913
20914 * include/multiboot2.h: Resync with spec.
20915
20916 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
20917
20918 Multiboot2 tag support
20919
20920 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
20921 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
20922 Remove loader/multiboot_loader.c.
20923 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
20924 (grub_multiboot2_real_boot): Likewise.
20925 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
20926 (grub_get_multiboot_mmap_count): New proto.
20927 (grub_fill_multiboot_mmap): Likewise.
20928 (grub_multiboot_set_video_mode): Likewise.
20929 (grub_multiboot_set_console): Likewise.
20930 (grub_multiboot_load): Likewise.
20931 (grub_multiboot_load_elf): Likewise.
20932 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
20933 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
20934 * include/multiboot.h: Resynced with specification.
20935 * include/multiboot2.h: Resynced with specification.
20936 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
20937 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
20938 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
20939 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
20940 users updated.
20941 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
20942 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
20943 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
20944 Removed.
20945 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
20946 Moved from here...
20947 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
20948 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
20949 Moved from here...
20950 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
20951 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
20952 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
20953 All users updated.
20954 * loader/i386/multiboot_mbi2.c: New file.
20955
20956 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
20957
20958 Resync with gnulib.
20959
20960 * Makefile.in (GNULIB_CFLAGS): New variable.
20961 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
20962 (grub_script_check_CFLAGS): New variable.
20963 * gnulib/alloca.h: Resync with gnulib.
20964 * gnulib/error.c: Likewise.
20965 * gnulib/error.h: Likewise.
20966 * gnulib/fnmatch.c: Likewise.
20967 * gnulib/fnmatch_loop.c: Likewise.
20968 * gnulib/getdelim.c: Likewise.
20969 * gnulib/getline.c: Likewise.
20970 * gnulib/getopt.c: Likewise.
20971 * gnulib/getopt1.c: Likewise.
20972 * gnulib/getopt_int.h: Likewise.
20973 * gnulib/gettext.h: Likewise.
20974 * gnulib/progname.c: Likewise.
20975 * gnulib/progname.h: Likewise.
20976
20977 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
20978
20979 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
20980 which is the case with --disabled-nls.
20981
20982 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
20983 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
20984 * util/misc.c: Likewise.
20985 * util/mkisofs/mkisofs.c: Likewise.
20986 * util/mkisofs/mkisofs.h: Likewise.
20987
20988 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
20989
20990 Simplify Apple CC support.
20991
20992 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
20993 Add 0 byte at the end not to have a symbol with empty target.
20994 * mmap/i386/pc/mmap_helper.S: Likewise.
20995 * genmk.rb: Ignore errors 2030 and 2050.
20996 * kern/i386/pc/startup.S: Use LOCAL when possible.
20997
20998 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
20999
21000 Testcase and the fix for final semicolon on cmdline.
21001
21002 * tests/grub_script_final_semicolon.in: New testcase.
21003 * conf/tests.rmk: Rules for the new testcase.
21004 * script/parser.y: Grammar fix.
21005
21006 2010-03-26 BVK Chaitanya <bvk@localhost>
21007
21008 Blank lines testcase for GRUB script.
21009
21010 * tests/grub_script_blanklines.in: New testcase.
21011 * conf/tests.rmk: Rules for the new testcase.
21012
21013 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21014
21015 Don't use __FILE__.
21016
21017 * genmk.rb: Add -DGRUB_FILE to all C targets.
21018 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
21019 * include/grub/list.h: Likewise.
21020 * include/grub/misc.h: Likewise.
21021 * include/grub/mm.h: Likewise.
21022 * include/grub/test.h: Likewise.
21023 * kern/mm.c: Likewise.
21024 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
21025
21026 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21027
21028 Sunpc partitions support.
21029
21030 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
21031 (grub_fstest_SOURCES): Likewise.
21032 (pkglib_MODULES): Add part_sunpc.mod.
21033 (part_sunpc_mod_SOURCES): New variable.
21034 (part_sunpc_mod_CFLAGS): Likewise.
21035 (part_sunpc_mod_LDFLAGS): Likewise.
21036 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
21037 * partmap/sunpc.c: New file.
21038
21039 2010-03-26 BVK Chaitanya <bvk@localhost>
21040
21041 For loop support to GRUB script.
21042
21043 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
21044 (grub_script_create_cmdfor): New function prototype.
21045 (grub_script_execute_cmdfor): New function prototype.
21046 * script/execute.c (grub_script_execute_cmdfor): New function.
21047 * script/parser.y (command): New for command.
21048 (forcmd): New grammar rule.
21049 * script/script.c (grub_script_create_cmdfor): New function.
21050 * util/grub-script-check.c (grub_script_execute_cmdfor): New
21051 function.
21052 * tests/grub_script_for1.in: New testcase.
21053 * conf/tests.rmk: Rules for new testcase.
21054
21055 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21056
21057 Nested partitions
21058
21059 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
21060 'partition' is NULL, grub_partition_get_start already does that.
21061 * commands/loadenv.c (check_blocklists): Likewise.
21062 (write_blocklists): Likewise.
21063 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
21064 (grub_fstest_SOURCES): Likewise.
21065 (pkglib_MODULES): Add part_bsd.mod.
21066 (part_bsd_mod_SOURCES): New variable.
21067 (part_bsd_mod_CFLAGS): Likewise.
21068 (part_bsd_mod_LDFLAGS): Likewise.
21069 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
21070 (grub_emu_SOURCES): Likewise.
21071 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21072 * include/grub/bsdlabel.h: New file.
21073 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
21074 'get_name'.
21075 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
21076 (grub_partition_map_list): New variable.
21077 (grub_partition_map_register): Inline.
21078 (grub_partition_map_unregister): Likewise.
21079 (FOR_PARTITION_MAPS): New macro.
21080 (grub_partition_map_iterate): Removed.
21081 (grub_partition_get_start): Handle nested partitions.
21082 * include/grub/msdos_partition.h: Remove bsd-related entries.
21083 (grub_pc_partition): Remove.
21084 * kern/disk.c (grub_disk_close): Free partition data.
21085 (grub_disk_adjust_range): Handle nested partitions.
21086 * kern/partition.c (grub_partition_map_probe): New function.
21087 (grub_partition_probe): Parse name to number, handle subpartitions.
21088 (get_partmap): New function.
21089 (grub_partition_iterate): Handle subpartitions.
21090 (grub_partition_get_name): Likewise.
21091 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
21092 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
21093 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
21094 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
21095 Set 'number'.
21096 (acorn_partition_map_probe): Remove.
21097 (acorn_partition_map_get_name): Likewise.
21098 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
21099 Set 'number'.
21100 Set 'index' to 0 since there can be only one partition entry per sector.
21101 (amiga_partition_map_probe): Remove.
21102 (amiga_partition_map_get_name): Likewise.
21103 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
21104 Set 'number'.
21105 Set 'offset' and 'index' to real positions of partitions.
21106 (apple_partition_map_probe): Remove.
21107 (apple_partition_map_get_name): Likewise.
21108 * partmap/bsdlabel.c: New file.
21109 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
21110 Set 'number'.
21111 Allocate 'data' so it can be correctly freed.
21112 Set 'index' to offset inside sector.
21113 (gpt_partition_map_probe): Remove.
21114 (gpt_partition_map_get_name): Likewise.
21115 * partmap/msdos.c (grub_partition_parse): Remove.
21116 (pc_partition_map_iterate): Don't force raw access.
21117 Set 'number'.
21118 Make 'ext_offset' a local variable.
21119 (pc_partition_map_probe): Remove.
21120 (pc_partition_map_get_name): Remove.
21121 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
21122 Set 'number'.
21123 (sun_partition_map_probe): Remove.
21124 (sun_partition_map_get_name): Likewise.
21125 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
21126 (grub_pcpart_type): Likewise.
21127 * util/hostdisk.c (open_device): Handle new numbering scheme.
21128 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
21129 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
21130 * util/grub-probe.c (probe_partmap): Handle nested paritions.
21131 * util/grub-install.in: Insert all subpartition modules.
21132 * util/ieee1275/grub-install.in: Likewise.
21133
21134 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
21135
21136 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
21137 grammar.
21138
21139 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
21140
21141 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
21142
21143 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
21144
21145 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
21146 match where 'make install' puts them.
21147 * util/i386/efi/grub-install.in: Likewise.
21148
21149 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
21150
21151 * .bzrignore: Add gentrigtables, grub-script-check,
21152 grub_script_check_init.c, grub_script_check_init.h, and
21153 trigtables.c.
21154
21155 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
21156
21157 * kern/parser.c: Indented.
21158
21159 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
21160
21161 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
21162
21163 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
21164
21165 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
21166 alpha_mask_size == 0 case.
21167
21168 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
21169
21170 GRUB shell lexer and parser improvements.
21171
21172 * conf/any-emu.rmk: Build rule updates.
21173 * conf/common.rmk: Likewise.
21174 * conf/i386-coreboot.rmk: Likewise.
21175 * conf/i386-efi.rmk: Likewise.
21176 * conf/i386-ieee1275.rmk: Likewise.
21177 * conf/i386-pc.rmk: Likewise.
21178 * conf/powerpc-ieee1275.rmk: Likewise.
21179 * conf/x86_64-efi.rmk: Likewise.
21180
21181 * configure.ac: Configure check for flex.
21182
21183 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
21184 types.
21185 (grub_lexer_param): Struct member updates.
21186 (grub_parser_param): Likewise.
21187 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
21188 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
21189 (grub_script_lexer_init): Prototype update.
21190 (grub_script_lexer_record_start): Likewise.
21191 (grub_script_lexer_record_stop): Likewise.
21192 (grub_script_lexer_yywrap): New function prototype.
21193 (grub_script_lexer_fini): Likewise.
21194 (grub_script_execute_argument_to_string): Removed by...
21195 (grub_script_execute_argument_to_argv): ...better version.
21196
21197 * script/execute.c (ROUND_UPTO): New macro.
21198 (grub_script_execute_cmdline): Out of memory fixes.
21199 (grub_script_execute_menuentry): Likewise.
21200 (grub_script_execute_argument_to_string): Removed. Update all
21201 users by...
21202 (grub_script_execute_argument_to_argv): ...better version.
21203 * script/function.c (grub_script_function_create): Use
21204 grub_script_execute_argument_to_argv instead of
21205 grub_script_execute_argument_to_string.
21206
21207 * script/lexer.c (check_varstate): Removed.
21208 (check_textstate): Removed.
21209 (grub_script_lexer_record_start): Likewise.
21210 (grub_script_lexer_record_stop): Likewise.
21211 (recordchar): Replaced with...
21212 (grub_script_lexer_record): ...new function.
21213 (nextchar): Removed.
21214 (grub_script_lexer_init): Rewritten.
21215 (grub_script_yylex): Rewritten.
21216 (append_newline): New function.
21217 (grub_script_lexer_yywrap): New function.
21218 (grub_script_lexer_fini): New function.
21219 (grub_script_yyerror): Sets error flag.
21220
21221 * script/yylex.l: New file.
21222 (grub_lexer_yyfree): Wrapper for flex yyffre.
21223 (grub_lexer_yyalloc): Likewise.
21224 (grub_lexer_yyrealloc): Likewise.
21225 * script/parser.y: Refactored.
21226
21227 * script/script.c (grub_script_arg_add): Out of memory fixes.
21228 (grub_script_add_arglist): Likewise.
21229 (grub_script_create_cmdline): Likewise.
21230 (grub_script_create_cmdmenu): Likewise.
21231 (grub_script_add_cmd): Likewise.
21232 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
21233 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
21234 unnecessary code.
21235
21236 * tests/grub_script_echo1.in: New testcase.
21237 * tests/grub_script_vars1.in: New testcase.
21238 * tests/grub_script_echo_keywords.in: New testcase.
21239
21240 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21241
21242 Remove some redundancy in build system.
21243
21244 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
21245 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
21246 (TARGET_LDFLAGS): Add -nostdlib.
21247 (TARGET_IMG_LDFLAGS): Likewise.
21248 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
21249 anything since mmap isn't available.
21250 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
21251 Add util/time.c.
21252 (pkglib_MODULES): Remove reboot.mod.
21253 (reboot_mod_SOURCES): Removed.
21254 (reboot_mod_CFLAGS): Likewise.
21255 (reboot_mod_LDFLAGS): Likewise.
21256 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
21257 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
21258 (DEFSYMFILES): Add kernel_syms.lst.
21259 (kernel_img_HEADERS): Add common headers.
21260 (symlist.c): New target.
21261 (kernel_syms.lst): Likewise.
21262 (pkglib_MODULES): Add memdisk.mod.
21263 (memdisk_mod_SOURCES): New variable.
21264 (memdisk_mod_CFLAGS): Likewise.
21265 (memdisk_mod_LDFLAGS): Likewise.
21266 (pkglib_MODULES): Add reboot.mod.
21267 (reboot_mod_SOURCES): New variable.
21268 (reboot_mod_CFLAGS): Likewise.
21269 (reboot_mod_LDFLAGS): Likewise.
21270 (pkglib_MODULES): Add date.mod.
21271 (date_mod_SOURCES): New variable.
21272 (date_mod_CFLAGS): Likewise.
21273 (date_mod_LDFLAGS): Likewise.
21274 (pkglib_MODULES): Add datehook.mod.
21275 (datehook_mod_SOURCES): New variable.
21276 (datehook_mod_CFLAGS): Likewise.
21277 (datehook_mod_LDFLAGS): Likewise.
21278 (pkglib_MODULES): Add lsmmap.mod.
21279 (lsmmap_mod_SOURCES): New variable.
21280 (lsmmap_mod_CFLAGS): Likewise.
21281 (lsmmap_mod_LDFLAGS): Likewise.
21282 (pkglib_MODULES): Add boot.mod.
21283 (boot_mod_SOURCES): New variable.
21284 (boot_mod_CFLAGS): Likewise.
21285 (boot_mod_LDFLAGS): Likewise.
21286 * conf/i386-coreboot.rmk: Removed redundant parts.
21287 * conf/i386-ieee1275.rmk: Likewise.
21288 * conf/i386-pc.rmk: Likewise.
21289 * conf/mips-yeeloong.rmk: Likewise.
21290 * conf/mips.rmk: Likewise.
21291 * conf/powerpc-ieee1275.rmk: Likewise.
21292 * conf/sparc64-ieee1275.rmk: Likewise.
21293 * conf/x86_64-efi.rmk: Likewise.
21294 * conf/i386-coreboot.rmk: Moved qemu parts ..
21295 * conf/i386-qemu.rmk: ... here
21296 * conf/i386-efi.rmk: Moved common parts to...
21297 * conf/x86-efi.rmk: ... here.
21298 * conf/i386.rmk: Added modules common to all x86 variants.
21299 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
21300 * disk/memdisk.c: Remove grub/machine/kernel.h.
21301 * gensymlist.sh.in: Include symbol.h.
21302 * hook/datehook.c: Correct module name.
21303 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
21304 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
21305 * include/grub/i386/efi/serial.h: New file.
21306 * include/grub/x86_64/efi/serial.h: Likewise.
21307 * util/time.c: Likewise.
21308 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
21309
21310 2010-03-14 Colin King <colin.king@ubuntu.com>
21311 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
21312
21313 Shrink the pre-partition-table part of boot.img by eight bytes.
21314
21315 * boot/i386/pc/boot.S (ERR): New macro.
21316 (chs_mode): Use ERR.
21317 (geometry_error): Likewise.
21318 (hd_probe_error): Remove. This is only used once, so we wrwite
21319 it inline instead.
21320 (read_error): Instead of printing read_error_string, just set up
21321 %si and fall through to ...
21322 (error_message): ... this new function, also used by ERR.
21323
21324 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
21325
21326 Speed up consecutive hostdisk operations on the same device.
21327
21328 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
21329 (grub_util_biosdisk_open): Initialise disk->data.
21330 (struct linux_partition_cache): New structure.
21331 (linux_find_partition): Cache partition start positions; these are
21332 expensive to compute on every read and write.
21333 (open_device): Cache open file descriptor in disk->data, so that we
21334 don't have to reopen it and flush the buffer cache for consecutive
21335 operations on the same device.
21336 (grub_util_biosdisk_close): New function.
21337 (grub_util_biosdisk_dev): Set `close' member.
21338
21339 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
21340 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
21341 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
21342 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
21343 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
21344
21345 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21346
21347 Compile parts of grub-emu as modules.
21348
21349 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
21350 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
21351 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
21352 (all-local): Add $(GRUB_EMU).
21353 (install-local): Install $(GRUB_EMU).
21354 (uninstall): Uninstall $(GRUB_EMU).
21355 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
21356 * kern/dl.c: Likewise.
21357 * commands/sleep.c: Not include machine/time.h.
21358 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
21359 (COMMON_CFLAGS): Likewise.
21360 (sbin_UTILITIES): Remove grub-emu.
21361 (grub_emu_SOURCES): Removed.
21362 (kernel_img_RELOCATABLE): New variable.
21363 (pkglib_PROGRAMS): Add kernel.img.
21364 (kernel_img_SOURCES): New variable
21365 (kernel_img_CFLAGS): Likewise.
21366 (kernel_img_LDFLAGS): Likewise.
21367 (TARGET_NO_STRIP): Likewise.
21368 (TARGET_NO_DYNAMIC_MODULES): Likewise.
21369 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
21370 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
21371 (grub-emu): New target.
21372 (GRUB_EMU): New variable.
21373 * configure.ac: Whitelist -emu as possible x86_64 architecture.
21374 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
21375 * loader/xnu.c: Likewise.
21376 * include/grub/pci.h: Likewise.
21377 * genemuinit.sh: New file.
21378 * genemuinitheader.sh: Likewise.
21379 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
21380 Support TARGET_NO_DYNAMIC_MODULES.
21381 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
21382 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
21383 * disk/loopback.c: Likewise.
21384 * font/font_cmd.c: Likewise.
21385 * partmap/acorn.c: Likewise.
21386 * partmap/amiga.c: Likewise.
21387 * partmap/apple.c: Likewise.
21388 * partmap/gpt.c: Likewise.
21389 * partmap/msdos.c: Likewise.
21390 * partmap/sun.c: Likewise.
21391 * parttool/msdospart.c: Likewise.
21392 * term/gfxterm.c: Likewise.
21393 * video/bitmap.c: Likewise.
21394 * video/readers/jpeg.c: Likewise.
21395 * video/readers/png.c: Likewise.
21396 * video/readers/tga.c: Likewise.
21397 * video/video.c: Likewise.
21398 * util/grub-emu.c (read_command_list): Removed.
21399 (main): Don't call util_init_nls.
21400 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
21401 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
21402
21403 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21404
21405 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
21406 date.mod, datehook.mod.
21407 (datetime_mod_SOURCES): New variable.
21408 (datetime_mod_CFLAGS): Likewise.
21409 (datetime_mod_LDFLAGS): Likewise.
21410 (date_mod_SOURCES): Likewise.
21411 (date_mod_CFLAGS): Likewise.
21412 (date_mod_LDFLAGS): Likewise.
21413 (datehook_mod_SOURCES): Likewise.
21414 (datehook_mod_CFLAGS): Likewise.
21415 (datehook_mod_LDFLAGS): Likewise.
21416 * conf/sparc64-ieee1275.rmk: Likewise.
21417 * lib/ieee1275/datetime.c: New file.
21418
21419 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21420
21421 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
21422 (ieee1275_fb_mod_SOURCES): New variable.
21423 (ieee1275_fb_mod_CFLAGS): Likewise.
21424 (ieee1275_fb_mod_LDFLAGS): Likewise.
21425 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
21426 New proto.
21427 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
21428 (HEAP_MAX_ADDR): Likewise.
21429 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
21430 type.
21431 Correct stop condition.
21432 (grub_ieee1275_devices_iterate): New function.
21433 * video/ieee1275.c: New file.
21434
21435 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21436
21437 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
21438
21439 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
21440 as scratch.
21441 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
21442 SCRATCH_PAD_DISKBOOT as scratch.
21443 (bootit): Pass Openfirmware pointer in %o4.
21444 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
21445 of 0x200000.
21446 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
21447 with util/grub-mkrawimage.c.
21448 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
21449 * include/grub/aout.h (AOUT_MID_SUN): New definition.
21450 (grub_aout_get_type) [GRUB_UTIL]: Removed.
21451 (grub_aout_load) [GRUB_UTIL]: Likewise.
21452 * include/grub/kernel.h (grub_modules_get_end): New proto.
21453 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
21454 (SCRATCH_PAD_BOOT): New definition.
21455 (SCRATCH_PAD_DISKBOOT): Likewise.
21456 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
21457 * include/grub/sparc64/ieee1275/ieee1275.h
21458 (grub_ieee1275_original_stack): New variable
21459 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
21460 New definition
21461 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
21462 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
21463 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
21464 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
21465 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
21466 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
21467 (grub_platform_image_format_t): New type.
21468 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
21469 * kern/main.c (grub_modules_get_end)
21470 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
21471 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
21472 (codestart): Switch stacks.
21473 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
21474 variable.
21475 (grub_heap_init): Use grub_modules_get_end.
21476 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
21477 stack.
21478 * util/grub-mkrawimage.c (generate_image): Support sparc64.
21479 (main): Likewise.
21480 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
21481
21482 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
21483
21484 * util/grub-mkrescue.in: Base ISO UUID on UTC.
21485
21486 2010-03-08 Matt Kraai <kraai@ftbfs.org>
21487
21488 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
21489 bug #559005).
21490
21491 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
21492
21493 * genmoddep.awk: Output all missing symbols and not only first.
21494
21495 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21496
21497 * NEWS: Put the date of 1.98 release.
21498
21499 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21500
21501 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
21502 ft2build.h.
21503
21504 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21505
21506 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
21507 completition in the middle of string.
21508
21509 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21510
21511 * util/grub-mkrescue.in: Use mktemp with explicit template.
21512
21513 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21514
21515 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
21516
21517 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21518
21519 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
21520 right pointer.
21521
21522 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
21523
21524 Fix FreeBSD compilation.
21525
21526 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
21527 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
21528
21529 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
21530
21531 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
21532
21533 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21534
21535 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
21536
21537 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21538
21539 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
21540
21541 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
21542
21543 Support relative image path in theme file.
21544
21545 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
21546 (image_set_property): Handle theme_dir and relative path.
21547
21548 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21549
21550 * configure.ac: Alias amd64 to x86_64.
21551
21552 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21553
21554 * NEWS: mention multiboot on EFI.
21555
21556 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21557
21558 * kern/main.c (grub_load_modules): Handle errors from init functions of
21559 embeded modules.
21560
21561 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21562
21563 * normal/autofs.c (autoload_fs_module): Handle errors.
21564
21565 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21566
21567 Disable linux.mod on qemu-mips since it's not functional and leads
21568 to compilation failure.
21569
21570 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
21571 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
21572 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
21573 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
21574 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
21575 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
21576 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
21577 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
21578 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
21579 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
21580 Reported by: BVK Chaitanya
21581
21582 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
21583
21584 * INSTALL: Add gettext as a dependency and add qemu to a new section
21585 "Prerequisites for make-check".
21586
21587 2010-03-04 Christian Franke <franke@computer.org>
21588
21589 * util/grub-pe2elf.c: Add missing include "progname.h".
21590
21591 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21592
21593 * normal/crypto.c (read_crypto_list): Fix a typo.
21594 Reported by: Seth Goldberg.
21595
21596 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21597
21598 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
21599 Reported by: Seth Goldberg.
21600
21601 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21602
21603 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
21604 ascii.bitmaps.
21605
21606 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21607
21608 * genmk.rb: Remove terminal*.lst in make clean.
21609 Reported by: Seth Goldberg.
21610
21611 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21612
21613 * util/i386/efi/grub-install.in: Copy gettext files.
21614
21615 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21616
21617 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
21618
21619 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21620
21621 Wait for user entry basing on presence of output rather than on errors.
21622
21623 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
21624 (grub_install_newline_hook): Likewise.
21625 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
21626 * normal/menu.c (show_menu): Check line_counter to determine presence
21627 of output.
21628 * normal/term.c (grub_normal_line_counter): New variable.
21629 (grub_normal_get_line_counter): New function.
21630 (grub_install_newline_hook): Likewise.
21631
21632 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21633
21634 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
21635
21636 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21637
21638 * configure.ac: Update version to 1.98.
21639
21640 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
21641
21642 * util/grub.d/10_linux.in (linux_entry): Don't default to
21643 gfxpayload=keep if Linux doesn't support video handover.
21644
21645 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
21646
21647 Don't compile video modules on yeeloong since video subsystem is part
21648 of kernel.
21649
21650 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
21651 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
21652 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
21653 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
21654 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
21655 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
21656 * include/grub/bitmap_scale.h: Likewise.
21657 * include/grub/bufio.h: Likewise.
21658 * include/grub/font.h: Likewise.
21659 * include/grub/gfxterm.h: Likewise.
21660 * include/grub/video.h: Likewise.
21661 * include/grub/vbe.h: Don't include video_fb.h.
21662 * video/i386/pc/vbe.c: Include video_fb.h.
21663 * commands/i386/pc/vbetest.c: Include video.h.
21664
21665 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
21666
21667 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
21668 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
21669 default entry if GRUB_SAVEDEFAULT=true. This allows using
21670 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
21671 saving a new default on every boot.
21672
21673 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
21674
21675 * normal/crypto.c (read_crypto_list): Fix a memory leak.
21676 * normal/term.c (read_terminal_list): Likewise.
21677 * normal/main.c (grub_normal_init_page): Likewise.
21678 (grub_normal_read_line_real): Likewise.
21679
21680 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
21681
21682 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
21683 memory leak.
21684 Reported by: Seth Goldberg.
21685
21686 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
21687
21688 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
21689 duplicate declaration of `start'.
21690
21691 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
21692
21693 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
21694 filename.
21695 Reported by: Georgy Buranov
21696
21697 2010-02-20 Carles Pina i Estany <carles@pina.cat>
21698
21699 * util/grub-mkrawimage.c (usage): Change string formatting to
21700 improve gettext.
21701
21702 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
21703
21704 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
21705 backspace keys.
21706
21707 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
21708
21709 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
21710 Reported by: Michael Suchanek.
21711
21712 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
21713
21714 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
21715 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
21716
21717 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
21718
21719 Remove any reference to non-free fonts.
21720
21721 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
21722 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
21723 uses non-free components.
21724 * font/font.c (grub_font_get_name): Remove example name.
21725 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
21726 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
21727 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
21728 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
21729
21730 2010-02-16 Georgy Buranov <gburanov@gmail.com>
21731
21732 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
21733
21734 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
21735
21736 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
21737 Double divisor.
21738 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
21739 features.
21740 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
21741
21742 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
21743
21744 * gensymlist.sh.in: Use TARGET_CC instead of CC.
21745
21746 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
21747
21748 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
21749 * docs/grub.texi (Command-line and menu entry commands): Document play
21750 command.
21751
21752 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
21753
21754 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
21755 parse arguments as inline tempo and notes. Move code for playing notes
21756 to...
21757 (play): ... new function.
21758
21759 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
21760
21761 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
21762 grub_uint16_t instead of short.
21763 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
21764 disk from little endian to cpu endianness.
21765
21766 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
21767
21768 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
21769 GRUB_TICKS_PER_SECOND instead of 120.
21770
21771 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21772
21773 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
21774 escape sequence after \e.
21775
21776 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21777
21778 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
21779 non-ASCII characters.
21780
21781 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21782
21783 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
21784 set root in single quotes to prevent \, from being unescaped.
21785
21786 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21787
21788 Prevent unknown commands from stopping menuentry execution.
21789
21790 * script/execute.c (grub_script_execute_cmdline): Print error after
21791 unknown command.
21792
21793 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21794
21795 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
21796 Reported by: Pavel Pisa.
21797
21798 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21799
21800 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
21801
21802 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21803
21804 Merge grub_ieee1275_map_physical into grub_map and rename to
21805 grub_ieee1275_map
21806
21807 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
21808 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
21809 Remove.
21810 * kern/ieee1275/openfw.c (grub_map): Rename to ...
21811 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
21812 necessary.
21813 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
21814
21815 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21816
21817 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
21818 opening and not after.
21819
21820 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21821
21822 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
21823 constants.
21824
21825 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21826
21827 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
21828 (alloc_phys): Use ALIGN_UP instead of align_addr.
21829
21830 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21831
21832 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
21833
21834 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21835
21836 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
21837
21838 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21839
21840 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
21841 verbose dprintf.
21842
21843 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21844
21845 Fix over-4GiB seek on sparc64.
21846
21847 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
21848 Replace pos_i and pos_lo with pos. All users updated.
21849 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
21850 New constant.
21851 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
21852 Likewise.
21853 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
21854 and pos_lo.
21855
21856 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21857
21858 * util/grub-mkrawimage.c (main): Call set_program_name.
21859
21860 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21861
21862 Properly align 64-bit targets.
21863
21864 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
21865 (generate_image): Use ALIGN_ADDR.
21866
21867 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21868
21869 Properly create cross-endian images.
21870
21871 * include/grub/types.h (grub_host_to_target_addr): New macro
21872 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
21873
21874 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21875
21876 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
21877
21878 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
21879
21880 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
21881
21882 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
21883 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
21884 (grub_linux_boot): Divide by 64K when on VESA.
21885
21886 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
21887
21888 Support GRUB_GFXPAYLOAD_LINUX.
21889
21890 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
21891 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
21892
21893 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
21894
21895 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
21896 to show messages instead of discarding them.
21897 Process errors after executing command and not before. Keep old method
21898 too as precaution.
21899
21900 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
21901
21902 * configure.ac: Check for ft2build.h.
21903
21904 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21905
21906 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
21907
21908 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21909
21910 * genkernsyms.sh.in: Use TARGET_CC.
21911
21912 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
21913
21914 * NEWS: Update.
21915
21916 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21917
21918 * include/grub/multiboot2.h: Remove leftover file.
21919 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
21920 * include/grub/partition.h [GRUB_UTIL]: Likewise.
21921
21922 2010-02-07 Yves Blusseau <blusseau@zetam.org>
21923
21924 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
21925
21926 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21927
21928 Fix warnings in grub-emu when compiling with maximum warning options.
21929
21930 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
21931 (grub_arch_modules_addr): Return 0 and not NULL.
21932 * util/misc.c (ENABLE_RELOCATABLE): New definition.
21933 (xstrdup): Use newstr instead of dup.
21934 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
21935 of disk to dsk to avoid shadowing.
21936 (find_free_slot): Fix prototype.
21937 * util/getroot.c (grub_util_is_dmraid): Make static.
21938 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
21939 Add missing prototype.
21940 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
21941
21942 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21943
21944 * loader/i386/linux.c (grub_linux_setup_video): Handle error
21945 appropriately.
21946
21947 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21948
21949 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
21950 code out.
21951
21952 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21953
21954 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
21955 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
21956 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
21957 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
21958 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
21959 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
21960
21961 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21962
21963 * include/grub/err.h (grub_err_printf): Don't export.
21964
21965 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21966
21967 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
21968
21969 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21970
21971 * include/grub/i18n.h (grub_gettext_dummy): Removed.
21972 * kern/misc.c (grub_gettext_dummy): Make static.
21973
21974 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21975
21976 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
21977 by non-valid ones.
21978 * kern/term.c (grub_putchar): Likewise.
21979
21980 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21981
21982 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
21983 buggy hook call and memory leak.
21984
21985 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21986
21987 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
21988
21989 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21990
21991 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
21992
21993 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21994
21995 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
21996 modevar.
21997 Return grub_errno on allocation error.
21998
21999 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22000
22001 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
22002
22003 2010-02-06 Yves Blusseau <blusseau@zetam.org>
22004
22005 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
22006 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
22007
22008 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22009
22010 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
22011 non-pxe disk.
22012 (grub_pxefs_open): Likewise.
22013
22014 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
22015
22016 * util/grub.d/10_hurd.in: Add --class information to menuentries.
22017 * util/grub.d/10_kfreebsd.in: Likewise.
22018 * util/grub.d/10_linux.in: Likewise.
22019
22020 2010-02-06 Colin D Bennett <colin@gibibit.com>
22021
22022 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
22023 (gfxmenu_mod_SOURCES): New variable.
22024 (gfxmenu_mod_CFLAGS): Likewise.
22025 (gfxmenu_mod_LDFLAGS): Likewise.
22026 * include/grub/term.h (grub_term_set_current_output): Declare
22027 argument as const.
22028 * docs/gfxmenu-theme-example.txt: New file.
22029 * gfxmenu/gfxmenu.c: Likewise.
22030 * gfxmenu/gui_box.c: Likewise.
22031 * gfxmenu/gui_canvas.c: Likewise.
22032 * gfxmenu/gui_circular_progress.c: Likewise.
22033 * gfxmenu/gui_image.c: Likewise.
22034 * gfxmenu/gui_label.c: Likewise.
22035 * gfxmenu/gui_list.c: Likewise.
22036 * gfxmenu/gui_progress_bar.c: Likewise.
22037 * gfxmenu/gui_string_util.c: Likewise.
22038 * gfxmenu/gui_util.c: Likewise.
22039 * gfxmenu/icon_manager.c: Likewise.
22040 * gfxmenu/model.c: Likewise.
22041 * gfxmenu/named_colors.c: Likewise.
22042 * gfxmenu/theme_loader.c: Likewise.
22043 * gfxmenu/view.c: Likewise.
22044 * gfxmenu/widget-box.c: Likewise.
22045 * include/grub/gfxmenu_model.h: Likewise.
22046 * include/grub/gfxmenu_view.h: Likewise.
22047 * include/grub/gfxwidgets.h: Likewise.
22048 * include/grub/gui.h: Likewise.
22049 * include/grub/gui_string_util.h: Likewise.
22050 * include/grub/icon_manager.h: Likewise.
22051
22052 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22053
22054 Agglomerate scrolling in gfxterm.
22055
22056 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
22057 (grub_virtual_screen_setup): Initialise 'total_screen'.
22058 (write_char): Split to ...
22059 (paint_char): ... this ...
22060 (write_char): ... and this.
22061 (paint_char): Handle delayed scrolling.
22062 (draw_cursor): Likewise.
22063 (scroll_up): Split to ...
22064 (real_scroll): ... this ...
22065 (scroll_up): ... and this.
22066 (real_scroll): Handle multi-line scroll and draw below-the-bottom
22067 characters.
22068 (grub_gfxterm_refresh): Call real_scroll.
22069
22070 2010-02-06 Colin D Bennett <colin@gibibit.com>
22071
22072 * include/grub/misc.h (grub_iscntrl): New inline function.
22073 (grub_isalnum): Likewise.
22074 (grub_strtol): Likewise.
22075
22076 2010-02-06 Colin D Bennett <colin@gibibit.com>
22077
22078 * normal/menu_text.c (get_entry_number): Move from here ...
22079 * normal/menu.c (get_entry_number): ... moved here.
22080 * include/grub/menu.h (grub_menu_get_default_entry_index):
22081 New prototype.
22082 * normal/menu.c (grub_menu_get_default_entry_index): New function.
22083 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
22084 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
22085 (grub_menu_viewer_should_return): Likewise.
22086 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
22087 * normal/menu_text.c (run_menu): Enable menu switching.
22088 * normal/menu_viewer.c (should_return): New variable.
22089 (menu_viewer_changed): Likewise.
22090 (grub_menu_viewer_show_menu): Handle menu viewer changes.
22091 (grub_menu_viewer_should_return): New function.
22092 (menuviewer_write_hook): Likewise.
22093 (grub_menu_viewer_init): Likewise.
22094
22095 2010-02-06 Colin D Bennet <colin@gibibit.com>
22096 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22097
22098 Support for gfxterm in a window.
22099
22100 * include/grub/gfxterm.h: New file.
22101 * include/grub/video.h (struct grub_video_rect): New declaration.
22102 (grub_video_rect_t): Likewise.
22103 * term/gfxterm.c (struct grub_gfxterm_window): New type.
22104 (refcount): New variable.
22105 (render_target): Likewise.
22106 (window): Likewise.
22107 (repaint_callback): Likewise.
22108 (grub_virtual_screen_setup): Use 'render_target'.
22109 (init_window): New function.
22110 (grub_gfxterm_init_window): Likewise.
22111 (grub_gfxterm_init): Check reference counter.
22112 Use init_window.
22113 (destroy_window): New function.
22114 (grub_gfxterm_destroy_window): Likewise.
22115 (grub_gfxterm_fini): Check reference counter.
22116 Use destroy_window.
22117 (redraw_screen_rect): Restore viewport.
22118 Use 'render_target' and 'window'.
22119 Call 'repaint_callback'.
22120 (write_char): Use 'render_target'.
22121 (draw_cursor): Likewise.
22122 (scroll_up): Restore viewport.
22123 Use 'render_target' and 'window'.
22124 Call 'repaint_callback'.
22125 (grub_gfxterm_cls): Likewise.
22126 (grub_gfxterm_refresh): Use 'window'.
22127 (grub_gfxterm_set_repaint_callback): New function.
22128 (grub_gfxterm_background_image_cmd): Use 'window'.
22129 (grub_gfxterm_get_term): New function.
22130 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
22131
22132 2010-02-06 Colin D Bennett <colin@gibibit.com>
22133
22134 Bitmap scaling support.
22135
22136 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
22137 (bitmap_scale_mod_SOURCES): New variable.
22138 (bitmap_scale_mod_CFLAGS): Likewise.
22139 (bitmap_scale_mod_LDFLAGS): Likewise.
22140 * include/grub/bitmap_scale.h: New file.
22141 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
22142 (background_image_cmd_options): New variable.
22143 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
22144 (cmd): Rename and change type to ...
22145 (background_image_cmd_handle): ... this. All users updated.
22146 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
22147 * video/bitmap_scale.c: New file.
22148
22149 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22150
22151 SDL support.
22152
22153 * Makefile.in (LIBSDL): New variable.
22154 (enable_grub_emu_sdl): Likewise.
22155 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
22156 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
22157 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
22158 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
22159 * util/sdl.c: New file.
22160
22161 2010-02-06 Colin D Bennett <colin@gibibit.com>
22162 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22163
22164 Double buffering support.
22165
22166 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
22167 * include/grub/video.h: Update comment.
22168 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
22169 New type.
22170 (grub_video_fb_doublebuf_blit_init): New prototype.
22171 * term/gfxterm.c (scroll_up): Support double buffering.
22172 (grub_gfxterm_refresh): Likewise.
22173 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
22174 (grub_video_fb_doublebuf_blit_init): Likewise.
22175 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
22176 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
22177 'displayed_page', 'render_page' and 'update_screen'.
22178 (grub_video_vbe_fini): Free offscreen buffer.
22179 (doublebuf_pageflipping_commit): New function.
22180 (doublebuf_pageflipping_update_screen): Likewise.
22181 (doublebuf_pageflipping_init): Likewise.
22182 (double_buffering_init): Likewise.
22183 (grub_video_vbe_setup): Enable doublebuffering.
22184 (grub_video_vbe_swap_buffers): Implement.
22185 (grub_video_vbe_set_active_render_target): Handle double buffering.
22186 (grub_video_vbe_get_active_render_target): Likewise.
22187 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
22188 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
22189 (grub_video_vbe_enable_double_buffering): Likewise.
22190 (grub_video_vbe_swap_buffers): Use update_screen.
22191 (grub_video_set_mode): Use double buffering.
22192
22193 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
22194
22195 * maintainance/gentrigtables.py: Remove.
22196 * lib/trig.c: Likewise.
22197
22198 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
22199
22200 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
22201 `trigtables.c'.
22202 (trigtables.c): New rule.
22203 (gentrigtables): Likewise.
22204 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
22205
22206 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
22207
22208 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
22209 integer constants.
22210
22211 2010-02-06 Colin D Bennet <colin@gibibit.com>
22212
22213 Trigonometry support.
22214
22215 * include/grub/trig.h: New file.
22216 * lib/trig.c: Likewise.
22217 * maintainance/gentrigtables.py: Likewise.
22218 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
22219 (trig_mod_SOURCES): New variable.
22220 (trig_mod_CFLAGS): Likewise.
22221 (trig_mod_LDFLAGS): Likewise.
22222
22223 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22224
22225 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
22226 disk devices.
22227
22228 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22229
22230 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
22231 error.
22232
22233 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
22234
22235 * util/hostdisk.c (open_device): Don't use partition device when reading
22236 before the partition.
22237 (grub_util_biosdisk_read): Don't read from partition and before the
22238 partition in single operation.
22239 (grub_util_biosdisk_write): Don't write to partition and before the
22240 partition in single operation.
22241
22242 2010-02-03 Torsten Landschoff <torsten@debian.org>
22243
22244 * kern/disk.c (grub_disk_read): Fix offset computation when reading
22245 last sectors.
22246
22247 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
22248
22249 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
22250 CDROM reads.
22251 (grub_biosdisk_write): Refuse to write to CDROM.
22252
22253 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
22254
22255 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
22256
22257 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
22258
22259 * font/font.c (find_glyph): Check that bmp_idx is available before
22260 using it.
22261 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
22262 with (font == NULL).
22263
22264 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
22265
22266 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
22267
22268 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
22269
22270 * include/grub/script_sh.h (sourcecode): Add const qualifier.
22271 * util/grub-script-check.c (getline): Fix empty lines case.
22272
22273 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
22274
22275 * Makefile.in (check): Exit with fail status when one of the tests
22276 fails.
22277 * tests/example_functional_test.c (example_test): Fix reversed assert.
22278 * tests/example_unit_test.c (example_test): Likewise.
22279
22280 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
22281
22282 * util/grub.d/10_linux.in: This script does not use any of the
22283 contents of gettext.sh, only the external command `gettext', so stop
22284 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
22285 the same prefix as GRUB.)
22286 * util/grub.d/10_kfreebsd.in: Likewise.
22287
22288 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
22289
22290 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
22291 of the line.
22292
22293 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
22294
22295 * kern/disk.c (grub_disk_read): Fix offset computation when reading
22296 last sectors.
22297
22298 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
22299
22300 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
22301 having a 4KiB and not 32KiB buffer size.
22302
22303 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22304
22305 * util/hostfs.c: Include `<errno.h>'.
22306 (grub_hostfs_read): Handle errors from fseeko() and fread().
22307
22308 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22309
22310 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
22311 loop when using read hooks on files whose size isn't sector-aligned.
22312
22313 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22314
22315 Remove unused parameter.
22316
22317 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
22318 (grub_iso9660_open): Remove initialization of `data->length'.
22319
22320 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22321
22322 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
22323 memleak conditions.
22324
22325 2010-01-27 Carles Pina i Estany <carles@pina.cat>
22326
22327 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
22328 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
22329
22330 2010-01-26 Carles Pina i Estany <carles@pina.cat>
22331
22332 * util/bin2h.c (usage): Fix warning (space after backslash).
22333
22334 2010-01-26 Carles Pina i Estany <carles@pina.cat>
22335
22336 * font/font.c: Include `grub/fontformat.h.
22337 Remove font file format constants.
22338 (grub_font_load): Use the new macros.
22339 * include/grub/fontformat.h: New file.
22340 * util/grub-mkfont.c: Include `grub/fontformat.c'.
22341 (write_font_pf2): Use the new macros.
22342
22343 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
22344
22345 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
22346 does.
22347
22348 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
22349
22350 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
22351
22352 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
22353 (_start): Macroify `0x7F'.
22354
22355 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
22356 (make_install_device): Use "(pxe)" as fallback prefix when booting
22357 via PXE.
22358
22359 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
22360
22361 * configure.ac: Reset LIBS after check for libgcc symbols.
22362
22363 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
22364
22365 * util/hostdisk.c (open_device): Add trailing newline to debug
22366 message.
22367
22368 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
22369
22370 * configure.ac: Check for `limits.h'.
22371 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
22372
22373 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
22374
22375 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
22376 capitalize error strings.
22377
22378 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
22379
22380 * util/grub.d/10_hurd.in: Add a recovery mode.
22381
22382 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
22383
22384 * configure.ac: Check for libgcc symbols with -nostdlib.
22385
22386 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
22387
22388 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
22389
22390 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
22391
22392 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
22393 stack since heap may be unavailable at that point.
22394 (grub_ofconsole_gotoxy): Likewise.
22395
22396 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
22397
22398 * configure.ac: Check for _restgpr_14_x.
22399 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
22400 and _savegpr_* prototypes.
22401
22402 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
22403
22404 Use generic grub_reboot() for i386-efi.
22405
22406 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
22407 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
22408 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
22409
22410 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
22411
22412 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
22413 presence of "prefix" variable as it breaks when normal.mod is
22414 embedded.
22415
22416 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
22417
22418 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
22419 stack since heap is unavailable at that point.
22420
22421 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
22422
22423 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
22424 (grub_freebsd_bootinfo): Rewritten.
22425 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
22426
22427 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
22428
22429 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
22430
22431 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
22432
22433 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
22434 domain now.
22435
22436 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
22437
22438 * util/misc.c (make_system_path_relative_to_its_root): Change the work
22439 around for handling "/" to the correct fix. Fix a memory leak. Use
22440 xstrdup instead of strdup.
22441
22442 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22443
22444 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
22445
22446 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22447
22448 Optimise glyph lookup by Basic Multilingual Plane lookup array.
22449
22450 * font/font.c (struct grub_font): New member 'bmp_idx'.
22451 (font_init): Initialise 'bmp_idx'.
22452 (load_font_index): Fill 'bmp_idx'.
22453 (find_glyph): Make inline. Use bmp_idx for BMP characters.
22454
22455 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22456
22457 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
22458 unnecessary calls.
22459
22460 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22461
22462 Move context handling out of the kernel.
22463
22464 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
22465 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
22466 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
22467 * conf/i386-efi.rmk: Likewise.
22468 * conf/i386-ieee1275.rmk: Likewise.
22469 * conf/i386-pc.rmk: Likewise.
22470 * conf/powerpc-ieee1275.rmk: Likewise.
22471 * conf/sparc64-ieee1275.rmk: Likewise.
22472 * conf/x86_64-efi.rmk: Likewise.
22473 * include/grub/env.h: Include grub/menu.h.
22474 (grub_env_var_type): Removed.
22475 (grub_env_var): Replaced field 'type' with 'global'.
22476 (grub_env_find): New prototype.
22477 (grub_env_context_open): Remove EXPORT_FUNC.
22478 (grub_env_context_close): Likewise.
22479 (grub_env_export): Likewise.
22480 (grub_env_set_data_slot): Removed.
22481 (grub_env_get_data_slot): Likewise.
22482 (grub_env_unset_data_slot): Likewise.
22483 (grub_env_unset_menu): New prototype.
22484 (grub_env_set_menu): Likewise.
22485 (grub_env_get_menu): Likewise.
22486 * include/grub/env_private.h: New file.
22487 * include/grub/normal.h (grub_context_init): New prototype.
22488 (grub_context_fini): Likewise.
22489 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
22490 * normal/context.c (grub_cmd_export): ... to here.
22491 * kern/env.c: Include env_private.h.
22492 (HASHSZ): Moved to include/grub/env_private.h.
22493 (grub_env_context): Likewise.
22494 (grub_env_sorted_var): Likewise.
22495 (current_context): Renamed from this ...
22496 (grub_current_context): ...to this. 'static' removed. All users updated.
22497 (grub_env_find): Removed 'static'.
22498 (grub_env_context_open): Moved to normal/context.c.
22499 (grub_env_context_close): Likewise.
22500 (grub_env_export): Likewise.
22501 (mangle_data_slot_name): Removed.
22502 (grub_env_set_data_slot): Likewise.
22503 (grub_env_get_data_slot): Likewise.
22504 (grub_env_unset_data_slot): Likewise.
22505 * kern/main.c (grub_set_root_dev): Don't export root.
22506 It will be done later.
22507 (grub_main): Don't export prefix.
22508 It will be done later.
22509 * normal/context.c: New file.
22510 * normal/main.c (free_menu): Use grub_env_unset_menu.
22511 (grub_normal_add_menu_entry): Use grub_env_get_menu.
22512 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
22513 (GRUB_MOD_INIT(normal)): Call grub_context_init.
22514 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
22515
22516 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22517
22518 setpci support.
22519
22520 * commands/setpci.c: New file.
22521 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
22522 (setpci_mod_SOURCES): New variable.
22523 (setpci_mod_CFLAGS): Likewise.
22524 (setpci_mod_LDFLAGS): Likewise.
22525
22526 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22527
22528 Byte-addressable PCI configuration space.
22529
22530 * bus/pci.c (grub_pci_make_address): Use byte address instead of
22531 dword address.
22532 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
22533 GRUB_PCI_REG_CACHELINE.
22534 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
22535 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
22536 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
22537 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
22538 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
22539 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
22540 grub_pci_make_address.
22541 (lock_rom_area): Likewise.
22542 * commands/lspci.c (grub_lspci_iter): Use macroses
22543 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
22544 of grub_pci_make_address.
22545 * disk/ata.c (grub_ata_pciinit): Likewise.
22546 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
22547 (GRUB_PCI_REG_VENDOR): Likewise.
22548 (GRUB_PCI_REG_DEVICE): Likewise.
22549 (GRUB_PCI_REG_COMMAND): Likewise.
22550 (GRUB_PCI_REG_STATUS): Likewise.
22551 (GRUB_PCI_REG_REVISION): Likewise.
22552 (GRUB_PCI_REG_CLASS): Likewise.
22553 (GRUB_PCI_REG_CACHELINE): Likewise.
22554 (GRUB_PCI_REG_LAT_TIMER): Likewise.
22555 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
22556 (GRUB_PCI_REG_BIST): Likewise.
22557 (GRUB_PCI_REG_ADDRESSES): Likewise.
22558 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22559 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22560 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22561 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22562 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22563 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22564 (GRUB_PCI_REG_CIS_POINTER): Likewise.
22565 (GRUB_PCI_REG_SUBVENDOR): Likewise.
22566 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
22567 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
22568 (GRUB_PCI_REG_CAP_POINTER): Likewise.
22569 (GRUB_PCI_REG_IRQ_LINE): Likewise.
22570 (GRUB_PCI_REG_IRQ_PIN): Likewise.
22571 (GRUB_PCI_REG_MIN_GNT): Likewise.
22572 (GRUB_PCI_REG_MAX_LAT): Likewise.
22573 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
22574 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
22575 * video/efi_uga.c (find_framebuf): Likewise.
22576 * video/sm712.c (grub_video_sm712_setup): Likewise.
22577 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
22578 space.
22579
22580 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22581
22582 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
22583 can be reliably determined to be supported.
22584
22585 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22586
22587 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
22588 that VESA is supported.
22589 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
22590 supported.
22591
22592 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22593
22594 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
22595
22596 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22597
22598 * util/misc.c (make_system_path_relative_to_its_root): Work around
22599 special-casing of "/", as previous incarnation of this routine did.
22600
22601 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22602
22603 Fix any-emu compilation.
22604
22605 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
22606 * grub_bin2h_SOURCES: New variable.
22607
22608 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22609
22610 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
22611
22612 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22613
22614 * util/grub.d/00_header.in: Fix handling of locale_dir.
22615
22616 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22617
22618 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
22619 as possible unifont location (Gentoo).
22620 Reported by: Alexander Brüning
22621
22622 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22623
22624 Don't try to generate lists for kernel.img.
22625
22626 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
22627 (pkglib_MODULES): Remove kernel.img.
22628 (kernel_img_EXPORTS): Removed.
22629 (kernel_img_RELOCATABLE): New variable.
22630 * conf/x86_64-efi.rmk: Likewise.
22631 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
22632
22633 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22634
22635 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
22636 grub_xasprintf or grub_snprintf.
22637 (grub_vsprintf): Likewise.
22638 (grub_snprintf): New proto.
22639 (grub_vsnprintf): Likewise.
22640 (grub_xasprintf): Likewise.
22641 (grub_xvasprintf): Likewise.
22642 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
22643 (grub_sprintf): Removed.
22644 (grub_vsnprintf): New function.
22645 (grub_snprintf): Likewise.
22646 (grub_xvasprintf): Likewise.
22647 (grub_xasprintf): Likewise.
22648 (grub_vsprintf): Renamed to ...
22649 (grub_vsnprintf_real): ...this. New argument max_len.
22650
22651 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
22652
22653 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
22654 fix grub-script-check warning.
22655
22656 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22657
22658 * include/grub/font.h (grub_font_load): Fix prototype.
22659
22660 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22661
22662 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
22663
22664 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22665
22666 * include/grub/x86_64/at_keyboard.h: New file.
22667
22668 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22669
22670 * loader/mips/linux.c: Include missing grub/i18n.h.
22671
22672 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22673
22674 * normal/menu.c (notify_execution_failure): Clarify error message.
22675
22676 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22677
22678 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
22679 return value (and revert all return statements). Update users.
22680
22681 2010-01-20 Dan Merillat <debian@dan.merillat.org>
22682
22683 * kern/device.c (grub_device_iterate): Allocate new part_ent
22684 structure based on sizeof (*p) rather than sizeof (p->next), to
22685 account for structure padding.
22686
22687 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
22688 disk is NULL, which might happen for LVM physical volumes with no
22689 LVM signature.
22690
22691 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22692
22693 * loader/mips/linux.c (grub_cmd_initrd)
22694 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
22695
22696 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22697
22698 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
22699 (grub_video_video_init, grub_video_bitmap_init)
22700 (grub_font_manager_init, grub_term_gfxterm_init)
22701 (grub_at_keyboard_init): New extern declarations.
22702 (grub_machine_init): Initialize gfxterm and at_keyboard.
22703
22704 * kern/main.c (grub_main): Revert grub_printf delay kludge.
22705
22706 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
22707 `gfxterm.mod' into core image.
22708
22709 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
22710 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22711 (kernel_img_FORMAT): Copy to ...
22712
22713 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
22714 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22715 (kernel_img_FORMAT): ... here, and ...
22716
22717 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
22718 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22719 (kernel_img_FORMAT): ... here.
22720
22721 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
22722 and input (at_keyboard) terminals in kernel.
22723 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
22724
22725 (pkglib_MODULES): Remove `pci.mod'.
22726 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
22727 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
22728 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
22729 (at_keyboard_mod_LDFLAGS): Remove variables.
22730
22731 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
22732
22733 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
22734
22735 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
22736
22737 * include/grub/mips/libgcc.h: Only export symbols for functions
22738 that libgcc provides.
22739
22740 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
22741
22742 MIPS support.
22743
22744 * bus/bonito.c: New file.
22745 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
22746 GRUB_PCI_NUM_DEVICES.
22747 * term/i386/pc/serial.c: Move to ...
22748 * term/serial.c: ... here. All users updated.
22749 * util/i386/pc/grub-mkimage.c: Move to ...
22750 * util/grub-mkrawimage.c: ... here. All users updated.
22751 * term/i386/pc/at_keyboard.c: Move to ...
22752 * term/at_keyboard.c: ... here. All users updated.
22753 * conf/mips-qemu-mips.rmk: New file.
22754 * conf/mips-yeeloong.rmk: Likewise.
22755 * conf/mips.rmk: Likewise.
22756 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
22757 mipsel-qemu-mips.
22758 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
22759 to port addresses.
22760 (grub_ata_pciinit): Support CS5536.
22761 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
22762 * font/font_cmd.c (loadfont_command): Open file before passing it to
22763 grub_font_load.
22764 (pseudo_file_read): New function.
22765 (pseudo_file_close): Likewise.
22766 (pseudo_fs): New structure.
22767 (load_font_module): New function.
22768 (GRUB_MOD_INIT(font_manager)): Load embedded font.
22769 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
22770 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
22771 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
22772 * include/grub/i386/at_keyboard.h: Split into ...
22773 * include/grub/at_keyboard.h: ... this ...
22774 * include/grub/i386/at_keyboard.h: ... and this.
22775 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
22776 New prototype.
22777 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
22778 updated.
22779 (grub_elf64_size): Likewise.
22780 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
22781 filename.
22782 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
22783 * include/grub/i386/coreboot/serial.h: Rewritten.
22784 * include/grub/i386/ieee1275/serial.h: Include
22785 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
22786 * include/grub/i386/pc/serial.h: Moved from here ...
22787 * include/grub/serial.h: ... to here. All users updated.
22788 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
22789 (GRUB_PCI_NUM_BUS): Likewise.
22790 (GRUB_PCI_NUM_DEVICES): Likewise.
22791 (grub_pci_device_map_range): Add missing volatile keyword.
22792 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
22793 * include/grub/mips/at_keyboard.h: New file.
22794 * include/grub/mips/cache.h: Likewise.
22795 * include/grub/mips/io.h: Likewise.
22796 * include/grub/mips/kernel.h: Likewise.
22797 * include/grub/mips/libgcc.h: Likewise.
22798 * include/grub/mips/pci.h: Likewise.
22799 * include/grub/mips/qemu-mips/boot.h: Likewise.
22800 * include/grub/mips/qemu-mips/kernel.h: Likewise.
22801 * include/grub/mips/qemu-mips/loader.h: Likewise.
22802 * include/grub/mips/qemu-mips/memory.h: Likewise.
22803 * include/grub/mips/qemu-mips/serial.h: Likewise.
22804 * include/grub/mips/qemu-mips/time.h: Likewise.
22805 * include/grub/mips/relocator.h: Likewise.
22806 * include/grub/mips/time.h: Likewise.
22807 * include/grub/mips/types.h: Likewise.
22808 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
22809 * include/grub/mips/yeeloong/boot.h: Likewise.
22810 * include/grub/mips/yeeloong/kernel.h: Likewise.
22811 * include/grub/mips/yeeloong/loader.h: Likewise.
22812 * include/grub/mips/yeeloong/memory.h: Likewise.
22813 * include/grub/mips/yeeloong/pci.h: Likewise.
22814 * include/grub/mips/yeeloong/serial.h: Likewise.
22815 * include/grub/mips/yeeloong/time.h: Likewise.
22816 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
22817 * kern/elf.c (grub_elf32_size): New parameter. All users
22818 updated.
22819 (grub_elf64_size): Likewise.
22820 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
22821 Load modules before saying "Welcome to GRUB!".
22822 Call grub_refresh after saying "Welcome to GRUB!".
22823 * kern/mips/cache.S: New file.
22824 * kern/mips/cache_flush.S: Likewise.
22825 * kern/mips/dl.c: Likewise.
22826 * kern/mips/init.c: Likewise.
22827 * kern/mips/qemu-mips/init.c: Likewise.
22828 * kern/mips/startup.S: Likewise.
22829 * kern/mips/yeeloong/init.c: Likewise.
22830 * kern/term.c (grub_putcode): Handle NULL terminal.
22831 (grub_getcharwidth): Likewise.
22832 (grub_getkey): Likewise.
22833 (grub_checkkey): Likewise.
22834 (grub_getkeystatus): Likewise.
22835 (grub_getxy): Likewise.
22836 (grub_getwh): Likewise.
22837 (grub_gotoxy): Likewise.
22838 (grub_cls): Likewise.
22839 (grub_setcolorstate): Likewise.
22840 (grub_setcolor): Likewise.
22841 (grub_getcolor): Likewise.
22842 (grub_refresh): Likewise.
22843 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
22844 (write_jump): Add hatch nop.
22845 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
22846 * lib/mips/setjmp.S: New file.
22847 * loader/mips/linux.c: Likewise.
22848 * term/i386/pc/at_keyboard.c: Move from here ...
22849 * term/at_keyboard.c: ... to here.
22850 * term/i386/pc/serial.c: Moved from here ...
22851 * term/serial.c: ... to here. All users updated.
22852 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
22853 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
22854 (serial_translate_key_sequence): Avoid deadlock.
22855 (grub_serial_getkey): Handle backspace.
22856 (grub_serial_putchar): Fix newline handling.
22857 * util/i386/pc/grub-mkimage.c: Move from here ...
22858 * util/grub-mkrawimage.c: ... to here. All users updated.
22859 (generate_image): New parameters 'font_path' and 'format'.
22860 Support embedding font.
22861 Use grub_host_to_target* instead of grub_cpu_to_le*.
22862 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
22863 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
22864 (options): New option "--font".
22865 (usage): Likewise.
22866 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
22867 (main): Handle "--font".
22868 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
22869 (grub_virtual_screen_setup): Set bg_color_display.
22870 (redraw_screen_rect): Use bg_color_display instead of incorrect
22871 bg_color.
22872 (grub_gfxterm_cls): Likewise.
22873 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
22874 Support embedding config file.
22875 (add_segments): Likewise.
22876 (options): New option "--config".
22877 (main): Handle "--config".
22878 * video/sm712.c: New file.
22879
22880 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22881
22882 Fix parallel builds.
22883
22884 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
22885 font.c depend on ascii.h).
22886
22887 2010-01-12 Carles Pina i Estany <carles@pina.cat>
22888
22889 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
22890
22891 2010-01-11 Carles Pina i Estany <carles@pina.cat>
22892
22893 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
22894 By default: disabled.
22895 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
22896 parameter.
22897
22898 2010-01-10 Carles Pina i Estany <carles@pina.cat>
22899
22900 * font/font.c: Update copyright years.
22901 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
22902
22903 2010-01-10 Carles Pina i Estany <carles@pina.cat>
22904
22905 * font/font.c: Include `ascii.h'.
22906 (ASCII_BITMAP_SIZE): New macro.
22907 (ascii_font_glyph): Define.
22908 (ascii_glyph_lookup): New function.
22909 (grub_font_get_string_width): Change comment. If glyph not found, use
22910 ascii_glyph_lookup.
22911 (grub_font_get_glyph_with_fallback): If glyph not available returns
22912 ascii_glyph_lookup.
22913 * util/grub-mkfont.c (file_formats): New enum.
22914 (options): Add `ascii-bitmaps' new option.
22915 (usage): Add `asii-bitmaps' new option.
22916 (write_font_ascii_bitmap): New function.
22917 (write_font): Rename to ...
22918 (write_font_p2): ... this. Remove print_glyphs call.
22919 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
22920 used. Call print_glyphs.
22921 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
22922
22923 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
22924
22925 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
22926 (grub_bin2h_SOURCES): New variable.
22927 * util/bin2h.c: New file.
22928
22929 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22930
22931 * include/multiboot.h: Resynced with spec.
22932 * include/multiboot2.h: Likewise.
22933 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
22934 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
22935
22936 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22937
22938 * include/grub/term.h (grub_term_register_input,
22939 grub_term_register_output): Check return of terminal init()
22940 routines, and abort if errors are raised.
22941
22942 * commands/terminal.c: Update copyright year.
22943
22944 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22945
22946 * commands/terminal.c (grub_cmd_terminal_input)
22947 (grub_cmd_terminal_output): Check return of terminal init()
22948 routines, and abort if errors are raised.
22949
22950 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
22951
22952 * include/grub/i386/bsd.h: Fix include pathes.
22953
22954 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
22955
22956 Add missing *BSD copyright headers.
22957
22958 * include/grub/aout.h: Add BSD licence.
22959 * include/grub/i386/bsd.h: Parts under different licences moved to ...
22960 * include/grub/i386/freebsd_linker.h: ... here,
22961 * include/grub/i386/freebsd_reboot.h: ... here,
22962 * include/grub/i386/netbsd_bootinfo.h: ... here,
22963 * include/grub/i386/netbsd_reboot.h: ... here,
22964 * include/grub/i386/openbsd_bootarg.h: ... here,
22965 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
22966 licence to each file.
22967
22968 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22969
22970 * acinclude.m4: Remove `nop' assembly instruction; it's not
22971 implemented by all architectures.
22972
22973 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22974
22975 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
22976 ELILO. This is no longer necessary.
22977
22978 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
22979
22980 Added new tool, grub-scrit-check to verify grub.cfg syntax.
22981
22982 * util/grub-script-check.c: grub-script-check tool.
22983 * conf/common.rmk: Make rules for grub-script-check.
22984
22985 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22986
22987 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
22988 spotting it back in 2008. Shame on me for forgetting he did.
22989
22990 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
22991
22992 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22993
22994 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
22995 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
22996 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
22997 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
22998 (GRUB_VIDEO_TYPE_EFI): Rename to ...
22999 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
23000
23001 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
23002
23003 * include/grub/test.h: Add license header.
23004 * tests/example_functional_test.c: Likewise.
23005 * tests/example_unit_test.c: Likewise.
23006 * tests/lib/functional_test.c: Likewise.
23007 * tests/lib/test.c: Likewise.
23008 * tests/lib/unit_test.c: Likewise.
23009
23010 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
23011
23012 Use flag-based instead of hook-based video mode selection and "auto"
23013 keyword.
23014
23015 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
23016 (grub_video_set_mode): Changed prototype. All users updated.
23017 (grub_video_check_mode_flag): New inline function.
23018 * video/video.c (parse_modespec): New function.
23019 (grub_video_set_mode): Parse flags and keywords.
23020
23021 2010-01-17 Carles Pina i Estany <carles@pina.cat>
23022
23023 * util/misc.c (grub_util_info): Fix the order of the parameters in a
23024 fprintf call.
23025
23026 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
23027
23028 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
23029
23030 2010-01-16 Carles Pina i Estany <carles@pina.cat>
23031
23032 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
23033 string.
23034 * util/grub-emu.c (usage): Likewise.
23035 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
23036 * util/i386/efi/grub-mkimage.c (usage): Likewise.
23037 * util/i386/pc/grub-mkimage.c (usage): Likewise.
23038 * util/i386/pc/grub-setup.c (usage): Likewise.
23039
23040 2010-01-16 Carles Pina i Estany <carles@pina.cat>
23041
23042 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
23043 the message.
23044 (grub_util_info): Likewise.
23045 (grub_util_error): Likewise.
23046 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
23047 and/or new lines in `grub_util_warna', `grub_util_info',
23048 `grub_util_error' calls.
23049 * util/getroot.c: Likewise.
23050 * util/grub-editenv.c: Likewise.
23051 * util/grub-emu.c: Likewise.
23052 * util/grub-fstest.c: Likewise.
23053 * util/grub-mkdevicemap.c: Likewise.
23054 * util/grub-mkfont.c: Likewise.
23055 * util/grub-mkpasswd-pbkdf2.c: Likewise.
23056 * util/grub-mkrelpath.c: Likewise.
23057 * util/grub-pe2elf.c: Likewise.
23058 * util/grub-probe.c: Likewise.
23059 * util/hostdisk.c: Likewise.
23060 * util/i386/efi/grub-mkimage.c: Likewise.
23061 * util/i386/pc/grub-mkimage.c: Likewise.
23062 * util/i386/pc/grub-setup.c: Likewise.
23063 * util/ieee1275/ofpath.c: Likewise.
23064 * util/mkisofs/eltorito.c: Likewise.
23065 * util/mkisofs/rock.c: Likewise.
23066 * util/mkisofs/write.c: Likewise.
23067 * util/raid.c: Likewise.
23068 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
23069 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23070
23071 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
23072
23073 Enable multiboot on non-pc.
23074
23075 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
23076 multiboot.mod and multiboot2.mod to ...
23077 * conf/i386.rmk (pkglib_MODULES): ... here.
23078 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
23079 Moved to ...
23080 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
23081 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
23082 Moved to ...
23083 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
23084 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
23085 Moved to ...
23086 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
23087 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
23088 Moved to ...
23089 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
23090 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
23091 relocator.mod.
23092 (ata_mod_SOURCES): Removed.
23093 (ata_mod_CFLAGS): Likewise.
23094 (ata_mod_LDFLAGS): Likewise.
23095 (relocator_mod_SOURCES): Removed.
23096 (relocator_mod_CFLAGS): Likewise.
23097 (relocator_mod_ASFLAGS): Likewise.
23098 (relocator_mod_LDFLAGS): Likewise.
23099 Include i386.mk.
23100 * include/grub/x86_64/multiboot.h: New file.
23101 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
23102 Terminate EFI.
23103
23104 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
23105
23106 Video multiboot support.
23107
23108 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
23109 New prototype.
23110 * include/multiboot.h: Resynced with multiboot specification.
23111 * include/multiboot2.h: Likewise.
23112 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
23113 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
23114 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
23115 (HAS_VGA_TEXT): Likewise.
23116 (accepts_video): New variable.
23117 (grub_multiboot_set_accepts_video): New function.
23118 (grub_multiboot_get_mbi_size): Account for video structures.
23119 (set_video_mode): New function.
23120 (retrieve_video_parameters): Likewise.
23121 (grub_multiboot_make_mbi): Fill video fields.
23122
23123 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
23124
23125 Video driver ids.
23126
23127 * include/grub/video.h (grub_video_driver_id): New type.
23128 (grub_video_adapter): New member 'id'. All users updated.
23129 (grub_video_get_driver_id): New proto.
23130 * video/video.c (grub_video_get_driver_id): New function.
23131
23132 2010-01-14 Carles Pina i Estany <carles@pina.cat>
23133
23134 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
23135 `var=val'.
23136
23137 2010-01-14 Carles Pina i Estany <carles@pina.cat>
23138
23139 * normal/cmdline.c (print_completion): Gettextizze.
23140
23141 2001-01-14 Carles Pina i Estany <carles@pina.cat>
23142
23143 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
23144
23145 2010-01-14 Carles Pina i Estany <carles@pina.cat>
23146
23147 * gettext/gettext.c (grub_gettext_translate): Push and pop
23148 grub_errno.
23149 (grub_gettext_delete_list): Change comment style.
23150 * kern/err.c (grub_error): Gettextizze.
23151 (grub_fatal): Gettextizze.
23152
23153 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
23154
23155 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
23156 (grub_linux16_real_boot): ... this.
23157 * kern/i386/loader.S: Likewise.
23158 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
23159 (grub_linux16_boot): New function. Switches to text mode and calls
23160 grub_linux16_real_boot().
23161
23162 * loader/i386/bsd.c: Include `<grub/video.h>'.
23163 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
23164 text mode before calling grub_unix_real_boot().
23165
23166 * loader/i386/multiboot.c: Include `<grub/video.h>'.
23167 (grub_multiboot_boot): Switch to text mode before calling
23168 grub_relocator32_boot().
23169
23170 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
23171 (grub_chainloader_boot): Switch to text mode before calling
23172 grub_chainloader_real_boot().
23173
23174 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
23175 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
23176
23177 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
23178 non-empty value.
23179
23180 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
23181 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
23182
23183 * util/grub.d/00_header.in: Define a "savedefault" function for use
23184 in menu entries.
23185 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
23186
23187 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
23188 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
23189
23190 * util/grub-mkconfig_lib.in (save_default_entry): Only set
23191 saved_entry if boot_once is unset.
23192 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
23193 previous saved entry (i.e. grub-reboot).
23194
23195 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
23196
23197 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
23198
23199 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
23200
23201 * util/grub.d/00_header.in: Use `set var=val' rather than plain
23202 `var=val'.
23203 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
23204
23205 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
23206
23207 * util/grub-reboot.in: Fix --version output.
23208 * util/grub-set-default.in: Likewise.
23209
23210 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
23211
23212 * util/grub.d/00_header.in: Silently ignore zero-sized environment
23213 blocks.
23214
23215 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
23216
23217 * util/grub.d/00_header.in: Quote the value assigned to `default',
23218 in case it contains spaces.
23219
23220 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
23221
23222 * util/grub.d/30_os-prober.in: Fix merge error that moved a
23223 `save_default_entry' call from the macosx case to the linux case.
23224
23225 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
23226 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
23227
23228 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
23229 in `chosen' environment variable.
23230 * normal/menu_text.c (get_entry_number): Check if the variable
23231 matches the title of a menu entry.
23232 (run_menu): Pass menu to get_entry_number.
23233
23234 * util/grub-reboot.in: New file.
23235 * util/grub-set-default.in: New file.
23236 * conf/common.rmk (grub-reboot): New utility.
23237 (grub-set-default): New utility.
23238
23239 * util/grub-mkconfig_lib.in (save_default_entry): New function.
23240 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
23241 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
23242 move it to `saved_entry' for the next boot. Load environment on
23243 initialisation.
23244 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
23245 * util/grub.d/10_hurd.in: Likewise.
23246 * util/grub.d/10_linux.in (linux_entry): Likewise.
23247 * util/grub.d/10_windows.in: Likewise.
23248 * util/grub.d/30_os-prober.in: Likewise.
23249
23250 * util/grub-install.in: Create environment block.
23251 * util/i386/efi/grub-install.in: Likewise.
23252 * util/ieee1275/grub-install.in: Likewise.
23253 * util/sparc64/ieee1275/grub-install.in: Likewise.
23254
23255 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
23256
23257 Unit testing framework for GRUB.
23258
23259 * Makefile.in: Test framework build rules for 'make check'.
23260 * conf/tests.rmk: Build rules for individual tests and framework.
23261
23262 * include/grub/test.h: Header file for whitebox tests.
23263 * tests/lib/functional_test.c: Framework support for whitebox
23264 functional tests.
23265 * tests/lib/test.c: Common whitebox testing code for unit and
23266 functional tests.
23267 * tests/lib/unit_test.c: Framework support for whitebox unit
23268 tests.
23269
23270 * tests/util/grub-shell-tester.in: Support utility for grub-script
23271 tests.
23272 * tests/util/grub-shell.in: Utility to execute grub-script
23273 commands in a Qemu instance.
23274
23275 * tests/example_functional_test.c: Example whitebox functional
23276 test.
23277 * tests/example_grub_script_test.in: Example grub-script test.
23278 * tests/example_scripted_test.in: Example scripted test.
23279 * tests/example_unit_test.c: Example whitebox unit test.
23280
23281 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
23282
23283 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
23284 Add loader/i386/multiboot_mbi.c.
23285 (multiboot2_mod_SOURCES): Likewise.
23286 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
23287 (multiboot2_mod_SOURCES): Likewise.
23288 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
23289 (grub_multiboot_make_mbi): Likewise.
23290 (grub_multiboot_free_mbi): Likewise.
23291 (grub_multiboot_init_mbi): Likewise.
23292 (grub_multiboot_add_module): Likewise.
23293 (grub_multiboot_set_bootdev): Likewise.
23294 * loader/i386/multiboot.c (mbi): Removed.
23295 (mbi_dest): Likewise.
23296 (alloc_mbi): New variable.
23297 (grub_multiboot_payload_size): Removed. All users updated.
23298 (grub_multiboot_pure_size): New variable.
23299 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
23300 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
23301 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
23302 (grub_fill_multiboot_mmap): Likewise.
23303 (grub_multiboot_get_bootdev): Likewise.
23304 (grub_multiboot): Use multiboot_mbi functions.
23305 * loader/i386/multiboot_mbi.c: New file.
23306
23307 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
23308
23309 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
23310 it would result in module crash.
23311
23312 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
23313
23314 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
23315 (grub_ofconsole_getwh): Split to ...
23316 (grub_ofconsole_getwh): ... this.
23317 (grub_ofconsole_dimensions): ...and this.
23318 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
23319
23320 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
23321
23322 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
23323
23324 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
23325
23326 * loader/i386/pc/multiboot2.c: Removed stalled file.
23327
23328 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
23329
23330 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
23331 Reported by: Grégoire Sutre
23332
23333 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
23334
23335 * util/misc.c (canonicalize_file_name): New function.
23336 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
23337 instead of realpath().
23338
23339 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
23340
23341 * util/grub-install.in (usage): Clarify meaning of --root-directory,
23342 and make it clearer that it's optional. Based on confusion
23343 witnessed on IRC.
23344
23345 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
23346
23347 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
23348 in premature implicit newline.
23349
23350 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
23351
23352 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
23353 which resulted in garbled command line at the end of screen.
23354
23355 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
23356
23357 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
23358 initialization with similar approach as with other Linux loaders.
23359
23360 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
23361
23362 Fix i386-ieee1275 build.
23363
23364 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
23365 and grub_term_height() for video_{width,height} initialization.
23366
23367 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
23368
23369 Fix grub-emu build.
23370
23371 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
23372
23373 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
23374 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
23375
23376 Support for multiple terminals.
23377
23378 * Makefile.in (pkglib_DATA): terminal.lst.
23379 (terminal.lst): New target.
23380 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
23381 (GRUB_MOD_INIT(handler)): Likewise.
23382 (GRUB_MOD_FINI(handler)): Likewise.
23383 * commands/help.c (grub_cmd_help): Handle multiple terminals.
23384 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
23385 * commands/sleep.c (do_print): Use grub_term_restore_pos.
23386 (grub_cmd_sleep): Use grub_term_save_pos.
23387 * commands/terminal.c: New file.
23388 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
23389 commands/terminal.c and lib/charset.c.
23390 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
23391 (pkglib_MODULES): Add terminal.mod.
23392 (terminal_mod_SOURCES): New variable.
23393 (terminal_mod_CFLAGS): Likewise.
23394 (terminal_mod_LDFLAGS): Likewise.
23395 * genhandlerlist.sh: Don't handle terminals.
23396 * genmk.rb: Generate terminal-*.lst.
23397 * genterminallist.sh: New file.
23398 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
23399 (grub_is_valid_utf8): Likewise.
23400 (grub_utf8_to_ucs4_alloc): Likewise.
23401 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
23402 (grub_menu_register_viewer): Changed argument.
23403 (grub_menu_try_text): New proto.
23404 (grub_gfxmenu_try_hook): New declaration.
23405 * include/grub/normal.h (grub_normal_exit_level): New declaration.
23406 (grub_menu_init_page): Additional argument term.
23407 (grub_normal_init_page): Likewise.
23408 (grub_cmdline_get): Arguments simplified.
23409 (grub_utf8_to_ucs4_alloc): Removed.
23410 (grub_print_ucs4): Additional argument term.
23411 (grub_getstringwidth): Likewise.
23412 (grub_print_message_indented): Likewise.
23413 (grub_menu_text_register_instances): New proto.
23414 (grub_show_menu): Likewise.
23415 (read_terminal_list): Likewise.
23416 (grub_set_more): Likewise.
23417 * include/grub/parser.h: Include handler.h.
23418 * include/grub/reader.h: Rewritten.
23419 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
23420 (GRUB_TERM_WIDTH): Changed to function.
23421 (GRUB_TERM_HEIGHT): Likewise.
23422 (GRUB_TERM_BORDER_WIDTH): Likewise.
23423 (GRUB_TERM_BORDER_HEIGHT): Likewise.
23424 (GRUB_TERM_NUM_ENTRIES): Likewise.
23425 (GRUB_TERM_ENTRY_WIDTH): Likewise.
23426 (GRUB_TERM_CURSOR_X): Likewise.
23427 (grub_term_input_class): Likewise.
23428 (grub_term_output_class): Likewise.
23429 (grub_term_outputs_disabled): New declaration.
23430 (grub_term_inputs_disabled): Likewise.
23431 (grub_term_outputs): Likewise.
23432 (grub_term_inputs): Likewise.
23433 (grub_term_register_input): Rewritten.
23434 (grub_term_register_output): Likewise.
23435 (grub_term_unregister_input): Likewise.
23436 (grub_term_unregister_output): Likewise.
23437 (FOR_ACTIVE_TERM_INPUTS): New macro.
23438 (FOR_DISABLED_TERM_INPUTS): Likewise.
23439 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
23440 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
23441 * include/grub/terminfo.h: Add oterm argument to all protypes.
23442 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
23443 Use grub_rescue_run.
23444 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
23445 All users updated.
23446 * kern/reader.c: Removed. All users updated.
23447 * kern/rescue_reader.c (grub_rescue_init): Removed.
23448 (grub_rescue_reader): Likewise.
23449 (grub_register_rescue_reader): Likewise.
23450 (grub_rescue_run): New function based on kern/reader.c.
23451 * kern/term.c: Adapted for multiterm.
23452 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
23453 (grub_is_valid_utf8): Likewise.
23454 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
23455 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
23456 right terminal.
23457 * loader/i386/linux.c (grub_linux_boot): Likewise.
23458 * normal/auth.c (grub_username_get): New function.
23459 (grub_auth_check_authentication): Use grub_username_get.
23460 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
23461 * normal/color.c: Adapt for multiterm.
23462 * normal/main.c (read_config_file): Don't use grub_reader_loop.
23463 (grub_normal_init_page): Additional argument term.
23464 (read_lists): Call read_terminal_lists.
23465 (grub_enter_normal_mode): Call grub_cmdline_run.
23466 Handle grub_normal_exit_level.
23467 (grub_cmd_normal): Make reentrant.
23468 (grub_cmd_normal_exit): New function.
23469 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
23470 * normal/menu.c: Adapt for multiterm.
23471 * normal/menu_entry.c: Likewise.
23472 * normal/menu_text.c: Likewise.
23473 * normal/menu_viewer.c: Removed. All users updated.
23474 * normal/term.c: New file.
23475 * util/console.c: Change order of includes to workaround a bug in
23476 ncurses headers.
23477 * term/terminfo.c: New argument oterm on all exported functions.
23478 All users updated.
23479 * util/grub-editenv.c (grub_term_input_class): Removed.
23480 (grub_term_output_class): Likewise.
23481
23482 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
23483
23484 Make loader output a bit more user-friendly.
23485
23486 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
23487 is being loaded. Likewise for the Hurd.
23488
23489 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
23490 that kernel of FreeBSD ${version} is being loaded.
23491
23492 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
23493 grub_dprintf().
23494 (grub_cmd_initrd): Likewise.
23495 * util/grub.d/10_linux.in (linux_entry): Print message indicating
23496 that Linux ${version} is being loaded. Likewise for initrd.
23497
23498 2010-01-09 Carles Pina i Estany <carles@pina.cat>
23499
23500 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
23501
23502 2010-01-08 Carles Pina i Estany <carles@pina.cat>
23503
23504 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
23505 (GRUB_MOD_INIT): Gettextizze.
23506 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
23507 (GRUB_MOD_INIT): Gettextizze.
23508 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
23509 (grub_cmd_linux): Capitalise Linux.
23510 (GRUB_MOD_INIT): Gettextizze.
23511 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
23512 (grub_cmd_linux): Capitalise Linux.
23513 (GRUB_MOD_INIT): Gettextizze.
23514 * loader/i386/linux.c: Include `<grub/i18n.h>'.
23515 (grub_cmd_linux): Capitalise Linux.
23516 (GRUB_MOD_INIT): Gettextizze.
23517 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
23518 (GRUB_MOD_INIT): Gettextizze.
23519 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
23520 (grub_cmd_linux): Capitalise Linux.
23521 (GRUB_MOD_INIT): Gettextizze.
23522 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
23523 (grub_cpu_xnu_init): Gettextizze.
23524 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
23525 (GRUB_MOD_INIT): Gettextizze.
23526 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
23527 (GRUB_MOD_INIT): Gettextizze.
23528 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
23529 (grub_linux_load64): Capitalise Linux.
23530 (GRUB_MOD_INIT): Gettextizze.
23531 * loader/xnu.c: Include `<grub/i18n.h>'.
23532 (GRUB_MOD_INIT): Gettextizze.
23533 * po/POTFILES: Add `loader/efi/appleloader.c',
23534 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
23535 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
23536 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
23537 `loader/i386/xnu.c', `loader/multiboot_loader.c',
23538 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
23539 and `loader/xnu.c'.
23540
23541 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
23542
23543 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
23544
23545 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
23546
23547 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
23548 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
23549 * util/mkisofs/mkisofs.c (main): Readjust --version output.
23550
23551 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
23552
23553 Reset Multiboot 2 support. New loader implements the draft in
23554 /branches/multiboot2 and shares as much code as possible with the
23555 production Multiboot 1 implementation.
23556
23557 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
23558 * loader/multiboot2.c: Likewise.
23559 * loader/i386/multiboot_helper.S: Likewise.
23560 * include/multiboot2.h: Replace with latest version from the draft
23561 in /branches/multiboot2.
23562
23563 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
23564 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
23565 and `loader/multiboot2.c'.
23566 (pkglib_MODULES): Add `multiboot2.mod'.
23567 (multiboot2_mod_SOURCES): New variable.
23568 (multiboot2_mod_LDFLAGS): Likewise.
23569 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
23570
23571 * conf/i386-pc.rmk: Likewise.
23572
23573 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
23574 (multiboot_mod_SOURCES): Remove variable.
23575 (multiboot_mod_LDFLAGS): Likewise.
23576 (multiboot_mod_CFLAGS): Likewise.
23577
23578 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
23579 `<multiboot2.h>' instead of `<multiboot.h>'.
23580 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
23581 (MULTIBOOT_HEADER_MAGIC): New macros.
23582
23583 * loader/multiboot_loader.c (module_version_status): Remove variable.
23584 (find_multi_boot2_header): Remove function.
23585 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
23586 logic. Always check for the Multiboot version we're compiling for.
23587 (grub_cmd_module_loader): Likewise.
23588 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
23589 command instead of `multiboot'.
23590
23591 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
23592
23593 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
23594 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
23595 all users.
23596
23597 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
23598 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
23599
23600 Fix breakage introduced with previous commit.
23601
23602 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
23603 commands.
23604 * normal/handler.c (read_handler_list): Revert part of previous commit
23605 affecting this file.
23606 * normal/main.c (read_lists): Move read_handler_list() call back to ...
23607 (grub_normal_execute): ... here.
23608
23609 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
23610
23611 Merge prefix-redefinition-fix branch.
23612
23613 * normal/autofs.c (read_fs_list): Make function capable of being
23614 run multiple times, gracefuly replacing the previous data
23615 structures.
23616 * normal/dyncmd.c (read_command_list): Likewise.
23617 * normal/handler.c (read_handler_list): Likewise.
23618 * normal/main.c (read_lists): New function. Calls all the
23619 list reading functions.
23620 (grub_normal_execute): Use read_lists() instead of calling all
23621 list reading functions explicitly. Register read_lists() as a
23622 variable hook attached to ${prefix}.
23623
23624 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
23625
23626 Merge crypto branch.
23627
23628 * Makefile.in (pkglib_DATA): Add crypto.lst.
23629 (crypto.lst): New target.
23630 * commands/hashsum.c: New file.
23631 * commands/password.c (check_password): Use grub_crypto_memcmp.
23632 * commands/password_pbkdf2.c: New file.
23633 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
23634 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
23635 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
23636 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
23637 -I$(srcdir)/lib/libgcrypt_wrap.
23638 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
23639 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
23640 password_pbkdf2.mod.
23641 (crypto_mod_SOURCES): New variable.
23642 (crypto_mod_CFLAGS): Likewise.
23643 (crypto_mod_LDFLAGS): Likewise.
23644 (hashsum_mod_SOURCES): New variable.
23645 (hashsum_mod_CFLAGS): Likewise.
23646 (hashsum_mod_LDFLAGS): Likewise.
23647 (pbkdf2_mod_SOURCES): New variable.
23648 (pbkdf2_mod_CFLAGS): Likewise.
23649 (pbkdf2_mod_LDFLAGS): Likewise.
23650 (password_pbkdf2_mod_SOURCES): New variable.
23651 (password_pbkdf2_mod_CFLAGS): Likewise.
23652 (password_pbkdf2_mod_LDFLAGS): Likewise.
23653 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
23654 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
23655 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
23656 Include conf/gcry.rmk.
23657 * include/grub/auth.h: Rewritten.
23658 * include/grub/crypto.h: New file.
23659 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
23660 * include/grub/normal.h (read_crypto_list): New prototype.
23661 * lib/crypto.c: New file.
23662 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
23663 * lib/pbkdf2.c: Likewise.
23664 * normal/auth.c (grub_auth_strcmp): Removed.
23665 (grub_iswordseparator): Likewise.
23666 (grub_auth_strword): Likewise.
23667 (is_authenticated): Use grub_strword.
23668 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
23669 and grub_strword. Pass entered password to authentication callback.
23670 * normal/crypto.c: New file.
23671 * normal/main.c: Call read_crypto_list.
23672 * util/grub-mkpasswd-pbkdf2.c: New file.
23673 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
23674
23675 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
23676
23677 Fix descent and ascent calculation.
23678
23679 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
23680 (options): New option "asce".
23681 (usage): Likewise.
23682 (add_char): Ignore invalid glyphs for descent calculation.
23683 Calculate ascent from actual content.
23684 (print_glyphs): Use 'asce'.
23685 (write_font): Likewise. Allow ascent override.
23686 (main): Handle "asce" option.
23687
23688 2010-01-06 Carles Pina i Estany <carles@pina.cat>
23689
23690 * kern/err.c: Include `<grub/i18n.h>'.
23691 (grub_print_error): Add full stop. Gettextizze.
23692 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
23693 (grub_bsd_load_elf): Capitalise ELF.
23694 (grub_cmd_freebsd_loadenv): Add `s' in error string.
23695 (grub_cmd_freebsd_module): Likewise.
23696 (grub_cmd_freebsd_module_elf): Likewise.
23697 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
23698
23699 2010-01-06 Carles Pina i Estany <carles@pina.cat>
23700
23701 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
23702 * commands/search_file.c (HELP_MESSAGE): New macro.
23703 * commands/search_label.c (HELP_MESSAGE): Likewise.
23704 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
23705 * po/POTFILES: Add `commands/search_file.c',
23706 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
23707 `commands/search.c'.
23708
23709 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
23710
23711 * config.rpath: Update from Gnulib.
23712
23713 2010-01-05 Yves Blusseau <blusseau@zetam.org>
23714
23715 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
23716
23717 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
23718
23719 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
23720
23721 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
23722
23723 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
23724 arguments to fread so that we get a return value in bytes, rather
23725 than something that will normally be rounded down to 0.
23726 Adjust error handling to avoid producing garbage when size_t is not
23727 the same size as long long.
23728
23729 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
23730
23731 * util/mkisofs/write.c (padblock_write): Check return value of
23732 fread.
23733
23734 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
23735
23736 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
23737 floppy images now.
23738
23739 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
23740
23741 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
23742
23743 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
23744 instead of manual alignment.
23745 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
23746 verbose). Avoid attempts to read past end of the device
23747 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
23748 but GRUB_DISK_CACHE_SIZE may exceed that).
23749
23750 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
23751
23752 * commands/crc.c (grub_cmd_crc): Abort on read errors.
23753 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
23754 it to upper layer.
23755
23756 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
23757
23758 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
23759 New constant.
23760 (grub_efi_piwg_device_path): New structure
23761 (grub_efi_piwg_device_path_t): New type.
23762 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
23763 (devpath_1): Transform to a structure. All users updated.
23764 (devpath_2): Likewise.
23765 (devpath_3): Likewise.
23766 (devpath_4): Likewise.
23767 (devpath_5): Likewise.
23768
23769 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
23770
23771 * loader/efi/appleloader.c: Restored. Update all users.
23772
23773 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
23774
23775 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
23776
23777 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
23778 (struct boot_blocklist): Move from here ...
23779 * include/grub/i386/pc/boot.h [ASM_FILE]
23780 (struct grub_boot_blocklist): ... to here. Update all users.
23781 (setup): Only initialize `start' member of `first_block'
23782 structure. Add assert() calls to verify the other members.
23783
23784 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
23785 (generate_image): Fix broken blocklist length initialization.
23786 Add assert() call to verify blocklist `segment' field.
23787
23788 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
23789
23790 * loader/efi/appleloader.c: Remove. Update all users.
23791
23792 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
23793
23794 * boot/i386/pc/boot.S: Update copyright year.
23795 * boot/i386/pc/cdboot.S: Likewise.
23796 * boot/i386/pc/diskboot.S: Likewise.
23797 * boot/i386/pc/lnxboot.S: Likewise.
23798 * boot/i386/pc/pxeboot.S: Likewise.
23799 * bus/pci.c: Likewise.
23800 * commands/cmp.c: Likewise.
23801 * commands/help.c: Likewise.
23802 * commands/hexdump.c: Likewise.
23803 * commands/i386/pc/halt.c: Likewise.
23804 * commands/i386/pc/play.c: Likewise.
23805 * commands/i386/pc/vbeinfo.c: Likewise.
23806 * commands/ls.c: Likewise.
23807 * commands/test.c: Likewise.
23808 * disk/dmraid_nvidia.c: Likewise.
23809 * disk/i386/pc/biosdisk.c: Likewise.
23810 * disk/ieee1275/nand.c: Likewise.
23811 * disk/ieee1275/ofdisk.c: Likewise.
23812 * disk/lvm.c: Likewise.
23813 * disk/raid.c: Likewise.
23814 * disk/raid6_recover.c: Likewise.
23815 * disk/scsi.c: Likewise.
23816 * fs/affs.c: Likewise.
23817 * fs/cpio.c: Likewise.
23818 * fs/ext2.c: Likewise.
23819 * fs/hfs.c: Likewise.
23820 * fs/iso9660.c: Likewise.
23821 * fs/ntfs.c: Likewise.
23822 * fs/sfs.c: Likewise.
23823 * fs/udf.c: Likewise.
23824 * fs/ufs.c: Likewise.
23825 * fs/xfs.c: Likewise.
23826 * gencmdlist.sh: Likewise.
23827 * genmk.rb: Likewise.
23828 * include/grub/disk.h: Likewise.
23829 * include/grub/efi/api.h: Likewise.
23830 * include/grub/efi/efi.h: Likewise.
23831 * include/grub/efi/pe32.h: Likewise.
23832 * include/grub/elf.h: Likewise.
23833 * include/grub/fs.h: Likewise.
23834 * include/grub/i386/at_keyboard.h: Likewise.
23835 * include/grub/i386/pc/memory.h: Likewise.
23836 * include/grub/i386/pc/vbe.h: Likewise.
23837 * include/grub/i386/pci.h: Likewise.
23838 * include/grub/i386/tsc.h: Likewise.
23839 * include/grub/ieee1275/ieee1275.h: Likewise.
23840 * include/grub/ntfs.h: Likewise.
23841 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
23842 * include/grub/sparc64/libgcc.h: Likewise.
23843 * include/grub/symbol.h: Likewise.
23844 * include/grub/types.h: Likewise.
23845 * include/multiboot2.h: Likewise.
23846 * io/gzio.c: Likewise.
23847 * kern/device.c: Likewise.
23848 * kern/disk.c: Likewise.
23849 * kern/efi/efi.c: Likewise.
23850 * kern/efi/mm.c: Likewise.
23851 * kern/elf.c: Likewise.
23852 * kern/file.c: Likewise.
23853 * kern/i386/dl.c: Likewise.
23854 * kern/i386/pc/init.c: Likewise.
23855 * kern/i386/pc/startup.S: Likewise.
23856 * kern/ieee1275/ieee1275.c: Likewise.
23857 * kern/ieee1275/init.c: Likewise.
23858 * kern/main.c: Likewise.
23859 * kern/mm.c: Likewise.
23860 * kern/powerpc/dl.c: Likewise.
23861 * kern/sparc64/dl.c: Likewise.
23862 * kern/x86_64/dl.c: Likewise.
23863 * lib/hexdump.c: Likewise.
23864 * loader/efi/appleloader.c: Likewise.
23865 * loader/i386/ieee1275/linux.c: Likewise.
23866 * loader/i386/pc/chainloader.c: Likewise.
23867 * loader/i386/pc/linux.c: Likewise.
23868 * loader/i386/pc/multiboot2.c: Likewise.
23869 * loader/ieee1275/multiboot2.c: Likewise.
23870 * loader/multiboot2.c: Likewise.
23871 * loader/multiboot_loader.c: Likewise.
23872 * loader/powerpc/ieee1275/linux.c: Likewise.
23873 * normal/completion.c: Likewise.
23874 * normal/menu_entry.c: Likewise.
23875 * partmap/apple.c: Likewise.
23876 * util/grub.d/10_hurd.in: Likewise.
23877 * util/hostfs.c: Likewise.
23878 * video/readers/png.c: Likewise.
23879
23880 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
23881
23882 * include/grub/misc.h (GNUC_PREREQ): New macro.
23883 (ATTRIBUTE_ERROR): New macro.
23884 * include/grub/list.h (grub_bad_type_cast_real): Use
23885 ATTRIBUTE_ERROR.
23886
23887 2010-01-03 Carles Pina i Estany <carles@pina.cat>
23888
23889 * normal/menu_text.c (print_message): Change messages.
23890
23891 2010-01-03 Carles Pina i Estany <carles@pina.cat>
23892
23893 * normal/menu_entry.c (store_completion): Gettextizze.
23894
23895 2010-01-03 Carles Pina i Estany <carles@pina.cat>
23896
23897 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
23898
23899 2010-01-03 Carles Pina i Estany <carles@pina.cat>
23900
23901 * po/POTFILES: Sort correctly.
23902
23903 2010-01-03 Carles Pina i Estany <carles@pina.cat>
23904
23905 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
23906 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
23907 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
23908 full stop.
23909 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
23910 summary. Gettextizze the strings.
23911 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
23912 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
23913 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
23914 full stop.
23915 (GRUB_MOD_INIT): Remove command name from summary.
23916 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
23917 summary.
23918 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
23919 * term/i386/pc/serial.c (options): Add full stops.
23920 (GRUB_MOD_INIT): Remove command name from the summary.
23921
23922 2010-01-03 Carles Pina i Estany <carles@pina.cat>
23923
23924 * commands/acpi.c: Gettextizze help strings and/or options. Include
23925 `grub/i18n.h' if needed.
23926 * commands/blocklist.c: Likewise.
23927 * commands/boot.c: Likewise.
23928 * commands/cat.c: Likewise.
23929 * commands/cmp.c: Likewise.
23930 * commands/configfile.c: Likewise.
23931 * commands/crc.c: Likewise.
23932 * commands/date.c: Likewise.
23933 * commands/echo.c: Likewise.
23934 * commands/efi/fixvideo.c: Likewise.
23935 * commands/efi/loadbios.c: Likewise.
23936 * commands/gptsync.c: Likewise.
23937 * commands/halt.c: Likewise.
23938 * commands/handler.c: Likewise.
23939 * commands/hdparm.c: Likewise.
23940 * commands/hexdump.c: Likewise.
23941 * commands/i386/cpuid.c: Likewise.
23942 * commands/i386/pc/drivemap.c: Likewise.
23943 * commands/i386/pc/halt.c: Likewise.
23944 * commands/i386/pc/pxecmd.c: Likewise.
23945 * commands/i386/pc/vbeinfo.c: Likewise.
23946 * commands/i386/pc/vbetest.c: Likewise.
23947 * commands/ieee1275/suspend.c: Likewise.
23948 * commands/keystatus.c: Likewise.
23949 * commands/loadenv.c: Likewise.
23950 * commands/ls.c: Likewise.
23951 * commands/lsmmap.c: Likewise.
23952 * commands/lspci.c: Likewise.
23953 * commands/memrw.c: Likewise.
23954 * commands/minicmd.c: Likewise.
23955 * commands/parttool.c: Likewise.
23956 * commands/password.c: Likewise.
23957 * commands/probe.c: Likewise.
23958 * commands/read.c: Likewise.
23959 * commands/reboot.c: Likewise.
23960 * commands/search.c: Likewise.
23961 * commands/sleep.c: Likewise.
23962 * commands/test.c: Likewise.
23963 * commands/true.c: Likewise.
23964 * commands/usbtest.c: Likewise.
23965 * commands/videotest.c: Likewise.
23966 * commands/xnu_uuid.c: Likewise.
23967 * disk/loopback.c: Likewise.
23968 * hello/hello.c: Likewise.
23969 * loader/i386/bsd.c: Likewise.
23970 * term/i386/pc/serial.c: Likewise.
23971 * po/POTFILES: Add new files.
23972
23973 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
23974
23975 * term/i386/pc/at_keyboard.c
23976 (keyboard_controller_wait_untill_ready): Rename to ...
23977 (keyboard_controller_wait_until_ready): ... this. Update all users.
23978
23979 2010-01-01 Carles Pina i Estany <carles@pina.cat>
23980
23981 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
23982 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
23983 string using string width.
23984 * normal/menu_text.c (grub_print_message_indented): Use
23985 grub_print_spaces and not print_spaces.
23986 (print_timeout): Likewise.
23987 (print_spaces): Move to...
23988 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
23989
23990 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
23991
23992 Import from Gnulib.
23993
23994 * gnulib/getdelim.c: New file.
23995 * gnulib/getline.c: Likewise.
23996
23997 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
23998
23999 * include/grub/list.h (grub_assert_fail): Removed.
24000 (grub_bad_type_cast_real): New function.
24001 (grub_bad_type_cast): New macro.
24002 (GRUB_AS_LIST): Use grub_bad_type_cast.
24003 (GRUB_AS_LIST_P): Likewise.
24004 (GRUB_AS_NAMED_LIST): Likewise.
24005 (GRUB_AS_NAMED_LIST_P): Likewise.
24006 (GRUB_AS_PRIO_LIST): Likewise.
24007 (GRUB_AS_PRIO_LIST_P): Likewise.
24008 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
24009
24010 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
24011
24012 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
24013 Fix syntax error.
24014
24015 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
24016
24017 * configure.ac: Check for TARGET_CFLAGS initialization before we
24018 initialize it ourselves (sigh).
24019 Move a few modifications to TARGET_CFLAGS to be unconditional
24020 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
24021 eh_frame)
24022
24023 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
24024 * term/i386/pc/at_keyboard.c
24025 (keyboard_controller_wait_untill_ready): Likewise.
24026 (keyboard_controller_led): Rename `led_status' paramter to avoid
24027 name conflict.
24028
24029 2009-12-28 Carles Pina i Estany <carles@pina.cat>
24030
24031 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
24032 quotes.
24033
24034 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
24035
24036 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
24037
24038 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
24039
24040 * normal/menu_text.c (grub_print_message_indented): Prevent
24041 past-the-end-of-array dereference.
24042
24043 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
24044
24045 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
24046 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
24047
24048 2009-12-27 Carles Pina i Estany <carles@pina.cat>
24049
24050 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
24051 * normal/main.c (grub_normal_read_line): Remove a space from the
24052 default prompt.
24053
24054 2009-12-27 Carles Pina i Estany <carles@pina.cat>
24055
24056 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
24057 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24058 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
24059 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
24060 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24061 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24062 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
24063
24064 2009-12-26 Carles Pina i Estany <carles@pina.cat>
24065
24066 * video/readers/jpeg.c (cmd): Declare.
24067 (grub_cmd_jpegtest): Use `grub_command_t' type.
24068 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
24069 Assign to `cmd'.
24070 (GRUB_MOD_FINI): Use `cmd' to unregister.
24071 * video/readers/png.c (cmd): Declare.
24072 (grub_cmd_pngtest): Use `grub_command_t' type.
24073 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
24074 Assign to `cmd'.
24075 (GRUB_MOD_FINI): Use `cmd' to unregister.
24076 * video/readers/tga.c (cmd): Declare.
24077 (grub_cmd_tgatest): Use `grub_command_t' type.
24078 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
24079 Assign to `cmd'.
24080 (GRUB_MOD_FINI): Use `cmd' to unregister.
24081
24082 2009-12-26 Carles Pina i Estany <carles@pina.cat>
24083
24084 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
24085 stops.
24086 * kern/corecmd.c (grub_register_core_commands): Likewise.
24087 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
24088 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
24089 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
24090 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24091 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
24092 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
24093 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
24094 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
24095 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24096 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24097 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
24098 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
24099 * normal/handler.c (insert_handler): Likewise.
24100 * normal/main.c (GRUB_MOD_INIT): Likewise.
24101 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
24102
24103 2009-12-26 Carles Pina i Estany <carles@pina.cat>
24104
24105 * commands/help.c (grub_cmd_help): Print the command name before the
24106 summary.
24107 (GRUB_MOD_INIT): Remove command name from the summary.
24108 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
24109 string as summary.
24110 * lib/arg.c (find_long): Print the command name before the summary.
24111 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
24112 summary.
24113 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
24114 * commands/cat.c (GRUB_MOD_INIT): Likewise.
24115 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
24116 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
24117 * commands/crc.c (GRUB_MOD_INIT): Likewise.
24118 * commands/date.c (GRUB_MOD_INIT): Likewise.
24119 * commands/echo.c (GRUB_MOD_INIT): Likewise.
24120 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
24121 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
24122 * commands/handler.c (GRUB_MOD_INIT): Likewise.
24123 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
24124 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
24125 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
24126 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
24127 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
24128 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
24129 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
24130 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
24131 * commands/ls.c (GRUB_MOD_INIT): Likewise.
24132 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
24133 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
24134 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
24135 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
24136 * commands/password.c (GRUB_MOD_INIT): Likewise.
24137 * commands/probe.c (GRUB_MOD_INIT): Likewise.
24138 * commands/read.c (GRUB_MOD_INIT): Likewise.
24139 * commands/search.c (GRUB_MOD_INIT): Likewise.
24140 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
24141 * commands/test.c (GRUB_MOD_INIT): Likewise.
24142 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
24143 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
24144 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
24145 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
24146 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
24147 * lib/arg.c (GRUB_MOD_INIT): Likewise.
24148 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
24149 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
24150 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
24151 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
24152 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
24153 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
24154 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
24155 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
24156
24157 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
24158
24159 Use search command for preliminar UUID search.
24160
24161 * commands/search.c: Split into ...
24162 * commands/search_wrap.c: ...this
24163 * commands/search.c: ...and this.
24164 * commands/search_file.c: New file.
24165 * commands/search_label.c: New file.
24166 * commands/search_uuid.c: New file.
24167 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
24168 Add commands/search_wrap.c, commands/search_file.c,
24169 commands/search_label.c and commands/search_uuid.c.
24170 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
24171 (search_mod_SOURCES): Set to commands/search_wrap.c.
24172 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
24173 search_label.mod.
24174 (search_fs_file_mod_SOURCES): New variable.
24175 (search_fs_file_mod_CFLAGS): Likewise.
24176 (search_fs_file_mod_LDFLAGS): Likewise.
24177 (search_label_mod_SOURCES): Likewise.
24178 (search_label_mod_CFLAGS): Likewise.
24179 (search_label_mod_LDFLAGS): Likewise.
24180 (search_fs_uuid_mod_SOURCES): New variable.
24181 (search_fs_uuid_mod_CFLAGS): Likewise.
24182 (search_fs_uuid_mod_LDFLAGS): Likewise.
24183 (fs_file_mod_SOURCES): Removed.
24184 (fs_file_mod_CFLAGS): Likewise.
24185 (fs_file_mod_LDFLAGS): Likewise.
24186 (fs_uuid_mod_SOURCES): Removed.
24187 (fs_uuid_mod_CFLAGS): Likewise.
24188 (fs_uuid_mod_LDFLAGS): Likewise.
24189 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
24190 Set to util/grub-install.in.
24191 * disk/fs_file.c: Removed.
24192 * disk/fs_uuid.c: Likewise.
24193 * include/grub/search.h: New file.
24194 * util/grub-install.in: Handle sparc64.
24195 Create and use load.cfg.
24196 * util/sparc64/ieee1275/grub-install.in: Removed.
24197
24198 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
24199
24200 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
24201 Ignore return status if CF is cleared.
24202 (grub_biosdisk_get_diskinfo_standard): Likewise.
24203
24204 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
24205
24206 * term/i386/pc/at_keyboard.c
24207 (keyboard_controller_wait_untill_ready): New function.
24208 (grub_keyboard_controller_write, grub_keyboard_controller_read)
24209 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
24210 for keyboard polling, rather than duplicate the same loop. This
24211 saves a few bytes in code size.
24212
24213 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
24214
24215 Support for (pxe[:server[:gateway]]) syntax and
24216 use environment variable for PXE.
24217
24218 * commands/i386/pc/pxecmd.c (options): Removed.
24219 (print_ip): Removed.
24220 (grub_cmd_pxe): Removed
24221 (grub_cmd_pxe_unload): New function.
24222 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
24223 (grub_pxe_your_ip): Made static.
24224 (grub_pxe_default_server_ip): Likewise.
24225 (grub_pxe_default_gateway_ip): Likewise.
24226 (grub_pxe_blksize): Likewise.
24227 (parse_ip): New function.
24228 (grub_pxe_open): Support server and gateway specification.
24229 (grub_pxe_close): Free disk->data.
24230 (grub_pxefs_open): Use disk->data.
24231 (grub_pxefs_read): Likewise.
24232 (grub_env_write_readonly): New function.
24233 (set_mac_env): Likewise.
24234 (set_env_limn_ro): Likewise.
24235 (parse_dhcp_vendor): Likewise.
24236 (grub_pxe_detect): Set the environment variables.
24237 (set_ip_env): New function.
24238 (write_ip_env): Likewise.
24239 (grub_env_write_pxe_default_server): Likewise.
24240 (grub_env_write_pxe_default_gateway): Likewise.
24241 (grub_env_write_pxe_blocksize): Likewise.
24242 (GRUB_MOD_INIT(pxe)): Set environment variables.
24243 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
24244 (grub_pxe_mac_addr_t): ... this. All users updated.
24245 (grub_pxe_your_ip): Removed.
24246 (grub_pxe_server_ip): Likewise.
24247 (grub_pxe_gateway_ip): Likewise.
24248 (grub_pxe_blksize): Likewise.
24249
24250 2009-12-25 Carles Pina i Estany <carles@pina.cat>
24251
24252 * commands/help.c: Include `<grub/i18n.h>'.
24253 (grub_cmd_help): Gettextizze.
24254 (GRUB_MOD_INIT): Likewise.
24255 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
24256 (GRUB_MOD_INIT): Gettextizze.
24257 * commands/search.c: Include `<grub/i18n.h>'.
24258 (options): Gettextizze.
24259 (GRUB_MOD_INIT): Gettextizze.
24260 * lib/arg.c: Include `<grub/i18n.h>'.
24261 (help_options): Gettextizze.
24262 (find_long): Likewise.
24263 (grub_arg_show_help): Likewise.
24264 * normal/dyncmd.c: Include `<grub/i18n.h>'.
24265 (read_command_list): Gettextizze.
24266 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
24267 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
24268
24269 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
24270
24271 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
24272 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
24273 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
24274 (led_status): New variable.
24275 (keyboard_controller_led): New function.
24276 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
24277 update led status for caps lock, num lock and scroll lock.
24278
24279 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
24280
24281 * util/hostdisk.c (open_device): Fix a comment.
24282
24283 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24284
24285 * util/grub-install.in (host_os): New variable.
24286 * util/i386/efi/grub-install.in (host_os): Likewise.
24287
24288 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24289
24290 * util/mkisofs/write.c (padblock_write): Abort when given an
24291 excedingly large embed image, instead of silently truncating it.
24292
24293 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24294
24295 * include/multiboot.h: Indentation fixes.
24296
24297 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24298
24299 * include/multiboot.h (struct multiboot_aout_symbol_table)
24300 (struct multiboot_elf_section_header_table): New structure
24301 declarations (stolen from GRUB Legacy).
24302 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
24303 table information.
24304
24305 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
24306 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
24307 type aliases.
24308
24309 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24310
24311 * include/multiboot.h: Make comments src2texi-friendly.
24312
24313 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24314
24315 For consistency with [multiboot]/docs/boot.S.
24316
24317 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
24318 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
24319 (MULTIBOOT_MAGIC2): Rename from this ...
24320 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
24321
24322 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24323
24324 * include/multiboot.h: Remove `<grub/types.h>'.
24325 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
24326 types. Update all users.
24327
24328 2009-12-25 Carles Pina i Estany <carles@pina.cat>
24329
24330 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
24331 `couldn't' and `can not' by `cannot'.
24332 * commands/i386/pc/drivemap.c: Likewise.
24333 * disk/ata.c: Likewise.
24334 * disk/ieee1275/nand.c: Likewise.
24335 * fs/affs.c: Likewise.
24336 * fs/fat.c: Likewise.
24337 * fs/hfs.c: Likewise.
24338 * fs/hfsplus.c: Likewise.
24339 * fs/iso9660.c: Likewise.
24340 * fs/jfs.c: Likewise.
24341 * fs/minix.c: Likewise.
24342 * fs/reiserfs.c: Likewise.
24343 * fs/sfs.c: Likewise.
24344 * fs/udf.c: Likewise.
24345 * fs/ufs.c: Likewise.
24346 * fs/xfs.c: Likewise.
24347 * loader/powerpc/ieee1275/linux.c: Likewise.
24348 * loader/sparc64/ieee1275/linux.c: Likewise.
24349 * util/grub-probe.c: Likewise.
24350 * util/misc.c: Likewise.
24351
24352 2009-12-24 Carles Pina i Estany <carles@pina.cat>
24353
24354 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
24355 grub_errno calls.
24356 * commands/acpi.c: Likewise.
24357 * commands/blocklist.c: Likewise.
24358 * commands/efi/loadbios.c: Likewise.
24359 * commands/i386/pc/drivemap.c: Likewise.
24360 * commands/loadenv.c: Likewise.
24361 * commands/memrw.c: Likewise.
24362 * commands/password.c: Likewise.
24363 * commands/videotest.c: Likewise.
24364 * disk/ata.c: Likewise.
24365 * disk/ata_pthru.c: Likewise.
24366 * disk/dmraid_nvidia.c: Likewise.
24367 * disk/ieee1275/nand.c: Likewise.
24368 * disk/ieee1275/ofdisk.c: Likewise.
24369 * disk/loopback.c: Likewise.
24370 * disk/lvm.c: Likewise.
24371 * disk/mdraid_linux.c: Likewise.
24372 * disk/raid.c: Likewise.
24373 * disk/raid6_recover.c: Likewise.
24374 * disk/scsi.c: Likewise.
24375 * efiemu/main.c: Likewise.
24376 * efiemu/mm.c: Likewise.
24377 * efiemu/pnvram.c: Likewise.
24378 * efiemu/symbols.c: Likewise.
24379 * font/font.c: Likewise.
24380 * fs/cpio.c: Likewise.
24381 * fs/hfsplus.c: Likewise.
24382 * fs/iso9660.c: Likewise.
24383 * fs/jfs.c: Likewise.
24384 * fs/minix.c: Likewise.
24385 * fs/ntfs.c: Likewise.
24386 * fs/ntfscomp.c: Likewise.
24387 * fs/reiserfs.c: Likewise.
24388 * fs/ufs.c: Likewise.
24389 * fs/xfs.c: Likewise.
24390 * gettext/gettext.c: Likewise.
24391 * include/grub/auth.h: Likewise.
24392 * kern/elf.c: Likewise.
24393 * kern/file.c: Likewise.
24394 * kern/ieee1275/init.c: Likewise.
24395 * kern/ieee1275/mmap.c: Likewise.
24396 * kern/ieee1275/openfw.c: Likewise.
24397 * kern/powerpc/dl.c: Likewise.
24398 * kern/sparc64/dl.c: Likewise.
24399 * lib/arg.c: Likewise.
24400 * loader/i386/bsd.c: Likewise.
24401 * loader/i386/bsdXX.c: Likewise.
24402 * loader/i386/efi/linux.c: Likewise.
24403 * loader/i386/efi/xnu.c: Likewise.
24404 * loader/i386/ieee1275/linux.c: Likewise.
24405 * loader/i386/linux.c: Likewise.
24406 * loader/i386/multiboot.c: Likewise.
24407 * loader/i386/pc/linux.c: Likewise.
24408 * loader/i386/pc/multiboot2.c: Likewise.
24409 * loader/i386/xnu.c: Likewise.
24410 * loader/ieee1275/multiboot2.c: Likewise.
24411 * loader/macho.c: Likewise.
24412 * loader/machoXX.c: Likewise.
24413 * loader/multiboot2.c: Likewise.
24414 * loader/multiboot_loader.c: Likewise.
24415 * loader/powerpc/ieee1275/linux.c: Likewise.
24416 * loader/sparc64/ieee1275/linux.c: Likewise.
24417 * loader/xnu.c: Likewise.
24418 * loader/xnu_resume.c: Likewise.
24419 * mmap/i386/pc/mmap.c: Likewise.
24420 * normal/menu_viewer.c: Likewise.
24421 * partmap/acorn.c: Likewise.
24422 * partmap/amiga.c: Likewise.
24423 * partmap/apple.c: Likewise.
24424 * script/lexer.c: Likewise.
24425 * term/gfxterm.c: Likewise.
24426 * term/i386/pc/serial.c: Likewise.
24427 * term/i386/pc/vga.c: Likewise.
24428 * term/ieee1275/ofconsole.c: Likewise.
24429 * term/terminfo.c: Likewise.
24430 * video/bitmap.c: Likewise.
24431 * video/efi_gop.c: Likewise.
24432 * video/efi_uga.c: Likewise.
24433 * video/fb/video_fb.c: Likewise.
24434 * video/i386/pc/vbe.c: Likewise.
24435 * video/readers/tga.c: Likewise.
24436 * video/video.c: Likewise.
24437
24438 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
24439
24440 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
24441 * commands/lspci.c: Likewise.
24442 * commands/probe.c: Likewise.
24443 * commands/xnu_uuid.c: Likewise.
24444 * conf/i386-coreboot.rmk: Likewise.
24445 * conf/i386-efi.rmk: Likewise.
24446 * conf/i386-ieee1275.rmk: Likewise.
24447 * conf/i386-pc.rmk: Likewise.
24448 * conf/powerpc-ieee1275.rmk: Likewise.
24449 * conf/sparc64-ieee1275.rmk: Likewise.
24450 * conf/x86_64-efi.rmk: Likewise.
24451 * fs/i386/pc/pxe.c: Likewise.
24452 * gettext/gettext.c: Likewise.
24453 * include/grub/efi/graphics_output.h: Likewise.
24454 * include/grub/i386/pc/memory.h: Likewise.
24455 * kern/env.c: Likewise.
24456 * kern/i386/qemu/startup.S: Likewise.
24457 * lib/i386/pc/biosnum.c: Likewise.
24458 * lib/i386/relocator.c: Likewise.
24459 * lib/i386/relocator_asm.S: Likewise.
24460 * lib/relocator.c: Likewise.
24461 * loader/i386/bsd.c: Likewise.
24462 * loader/i386/multiboot.c: Likewise.
24463 * loader/i386/pc/chainloader.c: Likewise.
24464 * loader/i386/xnu.c: Likewise.
24465 * loader/xnu.c: Likewise.
24466 * normal/main.c: Likewise.
24467 * normal/menu_text.c: Likewise.
24468 * util/getroot.c: Likewise.
24469 * util/grub-mkconfig_lib.in: Likewise.
24470 * util/grub.d/00_header.in: Likewise.
24471 * util/i386/pc/grub-mkimage.c: Likewise.
24472 * util/mkisofs/eltorito.c: Likewise.
24473 * util/mkisofs/exclude.h: Likewise.
24474 * util/mkisofs/hash.c: Likewise.
24475 * util/mkisofs/iso9660.h: Likewise.
24476 * util/mkisofs/joliet.c: Likewise.
24477 * util/mkisofs/mkisofs.c: Likewise.
24478 * util/mkisofs/mkisofs.h: Likewise.
24479 * util/mkisofs/multi.c: Likewise.
24480 * util/mkisofs/name.c: Likewise.
24481 * util/mkisofs/rock.c: Likewise.
24482 * util/mkisofs/tree.c: Likewise.
24483 * util/mkisofs/write.c: Likewise.
24484 * video/efi_gop.c: Likewise.
24485
24486 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
24487
24488 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
24489 size counting.
24490
24491 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
24492
24493 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
24494 * genmk.rb (class SCRIPT): Modify the target file instead of source.
24495
24496 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24497
24498 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
24499 (GRUB_MOD_INIT(memrw)): Update help line.
24500
24501 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24502
24503 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
24504 Use grub_extcmd_t. All users updated.
24505 (options): New variable.
24506 (grub_cmd_read): Restructure for readability. Support "-v" option.
24507 (grub_cmd_write): Restructure for readability.
24508
24509 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
24510
24511 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
24512
24513 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
24514
24515 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
24516 with the actual contents of the correspondending make variable.
24517 * util/grub-mkrescue.in (pkglib_DATA): New variable.
24518 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
24519 specifying `*.lst' and `efiemu??.o'
24520
24521 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
24522
24523 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
24524 after function name.
24525 Noticed by Rene Engelhard <rene@debian.org>.
24526
24527 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24528
24529 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
24530 (options): New variable.
24531 (iospace): Likewise.
24532 (grub_lspci_iter): List IO spaces if "-i" was given.
24533 (grub_cmd_lspci): Parse options.
24534 (GRUB_MOD_INIT(lspci)): Use extcmd.
24535 (GRUB_MOD_FINI(lspci)): Likewise.
24536
24537 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
24538
24539 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
24540 `function' keyword.
24541 Patch by Tony Mancill <tmancill@debian.org>.
24542
24543 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24544
24545 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
24546 (grub_uhci_portstatus): Likewise.
24547 (grub_uhci_portstatus): Add necessary delay.
24548 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
24549
24550 2009-12-21 Carles Pina i Estany <carles@pina.cat>
24551
24552 * commands/acpi.c (options): Fix capitalizations and/or full stops.
24553 (GRUB_MOD_INIT): Likewise.
24554 * commands/boot.c (GRUB_MOD_INIT): Likewise.
24555 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
24556 * commands/echo.c (options): Fix capitalizations and/or full stops.
24557 * commands/efi/loadbios.c (enable_rom_area): Likewise.
24558 (enable_rom_area): Likewise.
24559 (GRUB_MOD_INIT): Likewise.
24560 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
24561 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
24562 * commands/handler.c (GRUB_MOD_INIT): Likewise.
24563 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
24564 * commands/hexdump.c (options): Likewise.
24565 * commands/i386/cpuid.c (options): Likewise.
24566 (GRUB_MOD_INIT): Likewise.
24567 * commands/i386/pc/drivemap.c (options): Likewise.
24568 (GRUB_MOD_INIT): Likewise.
24569 * commands/i386/pc/halt (options): Likewise.
24570 (GRUB_MOD_INIT): Likewise.
24571 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
24572 * commands/i386/pc/pxecmd.c (options): Likewise.
24573 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
24574 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
24575 * commands/keystatus.c (options): Likewise.
24576 (GRUB_MOD_INIT): Likewise.
24577 * commands/loadenv.c (options): Likewise.
24578 * commands/ls.c (options): Likewise.
24579 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
24580 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
24581 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
24582 * commands/parttool.c (helpmsg): Likewise.
24583 * commands/probe.c (options): Likewise.
24584 * commands/read.c (GRUB_MOD_INIT): Likewise.
24585 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
24586 * commands/search.c (options): Likewise.
24587 * commands/sleep.c (options): Likewise.
24588 * commands/test.c (GRUB_MOD_INIT): Likewise.
24589 * commands/true.c (GRUB_MOD_INIT): Likewise.
24590 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
24591 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
24592 * lib/arg.c (help_options): Likewise.
24593 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
24594 `$(XGETTEXT)'.
24595 * po/POTFILES: Add `commands/loadenv.c'.
24596
24597 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
24598
24599 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
24600 instead of specifying them explicit.
24601
24602 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24603
24604 * NEWS: Add grub-probe support for GNU/Hurd.
24605
24606 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24607
24608 * NEWS: gettext was added after 1.97.
24609
24610 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24611
24612 * util/mkisofs/msdos_partition.h: New file (based on
24613 include/grub/msdos_partition.h).
24614 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
24615 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
24616 (ld_options, main): Recognize --protective-msdos-label.
24617 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
24618 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
24619 (padblock_write): If `use_protective_msdos_label' is set, patch a
24620 protective DOS-style label in the output image.
24621
24622 * util/grub-mkrescue.in: Use --protective-msdos-label.
24623
24624 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24625
24626 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
24627 boot.
24628
24629 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24630
24631 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
24632 variables.
24633 (ld_options, main): Recognize `--embedded-boot'.
24634 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
24635 declarations.
24636 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
24637 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
24638 (padblock_write): Likewise. Rewrite to support embedded boot image.
24639
24640 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
24641 for BIOS-based disk boot instead of only ElTorito.
24642
24643 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24644
24645 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
24646 build (not needed for bootstrap).
24647
24648 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24649
24650 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
24651 from i386-pc build (not needed for bootstrap).
24652 Rewrite a pair of strings.
24653
24654 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24655
24656 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
24657
24658 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
24659
24660 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
24661
24662 2009-12-21 Andreas Born <futur.andy@googlemail.com>
24663
24664 * kern/env.c (grub_env_context_open): Mark exported variable for
24665 reexport.
24666
24667 2009-12-21 Andreas Born <futur.andy@googlemail.com>
24668
24669 * kern/env.c (grub_env_export): Create nonexistent variables before
24670 exporting.
24671
24672 2009-12-20 Carles Pina i Estany <carles@pina.cat>
24673
24674 * include/grub/auth.h: Include `<grub/i18n.h>'.
24675 (GRUB_GET_PASSWORD): Gettextizze string.
24676 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
24677 menu_text.c.
24678 (grub_utf8_to_ucs4_alloc): Fix indentation.
24679 (grub_print_ucs4): Likewise.
24680 (grub_getstringwidth): Likewise.
24681 (print_message_indented): New declaration.
24682 * normal/auth.c: Include `<grub/i18n.h>'.
24683 (grub_auth_check_authentication): Gettexttize string.
24684 * normal/cmdline.c: Include `<grub/i18n.h>'.
24685 (grub_cmdline_get): Gettextizze.
24686 * normal/color.c: Include `<grub/i18n.h>'.
24687 (grub_parse_color_name_pair): Gettexttize strings.
24688 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
24689 string (use `print_message_indented').
24690 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
24691 `include/grub/normal.h'.
24692 (print_message_indented): Renamed to ...
24693 (grub_print_message_indented): ... this. Remove `static' qualifer (now
24694 used in normal/main.c).
24695 (print_message): Use `grub_print_message_indented' instead of
24696 `print_message_indented'.
24697 (print_timeout): Likewise.
24698 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
24699 (grub_normal_print_device_info): Gettexttize strings.
24700 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
24701
24702 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
24703
24704 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
24705 of arguments. Return number of tokens and not arguments. All users
24706 updated.
24707
24708 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
24709
24710 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
24711 non-MSDOS paritions.
24712
24713 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
24714
24715 * include/grub/types.h (UNUSED): Removed since it conflicts with
24716 NetBSD headers. All users changed to direct __attribute__ ((unused)).
24717 Reported by Grégoire Sutre.
24718
24719 2009-12-19 Carles Pina i Estany <carles@pina.cat>
24720
24721 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
24722 (grub_print_ucs4_alloc): Likewise.
24723 (grub_getstringwidth): Likewise.
24724 * normal/main.c (grub_normal_init_page): Gettextize version string.
24725 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
24726 (getstringwidth): Renamed to ...
24727 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
24728 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
24729 (grub_print_ucs4): Remove `static' qualifer (now used in
24730 normal/main.c).
24731 * po/POTFILES: Add normal/main.c.
24732
24733 2009-12-19 Carles Pina i Estany <carles@pina.cat>
24734
24735 * normal/menu_text.c (STANDARD_MARGIN): New macro.
24736 (print_message_indented): Add `margin_left' and `margin_right'
24737 parameters.
24738 (print_message): Update `print_message_indented' calls. Adds '\n' to the
24739 strings.
24740 (print_timeout): Use `print_message_indented' to print the message.
24741 Deletes `second_stage' parameter.
24742 (run_menu): Update `print_timeout' calls.
24743
24744 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
24745
24746 Fix console palette on OpenFirmware.
24747
24748 * term/ieee1275/ofconsole.c (MAX): Removed.
24749 (colors): Redone based on VGA palette.
24750 (grub_ofconsole_setcolor): Discard brightness bit since only 8
24751 colors are supported.
24752 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
24753
24754 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
24755
24756 Fix potential EfiEmu double prepare.
24757
24758 * efiemu/main.c (prepared): New variable
24759 (grub_efiemu_unload): Set prepare to '0'.
24760 (grub_efiemu_prepare): Return if already prepared. Set prepared.
24761
24762 set_virtual_address_map support.
24763
24764 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
24765 prototype.
24766 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
24767 prototype.
24768 (grub_efiemu_crc32): Likewise.
24769 (grub_efiemu_crc64): Likewise.
24770 (grub_efiemu_set_virtual_address_map): Likewise.
24771 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
24772 New definition.
24773 (grub_autoefi_set_virtual_address_map): Likewise.
24774 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
24775 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
24776 Restructure flow to accomodate it.
24777 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
24778 (grub_efiemu_crc): Recompute CRC32.
24779 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
24780 (efiemu_ptv_relocated): ... this. Made global. All users updated.
24781 * efiemu/symbols.c (relocated_handle): New variable.
24782 (grub_efiemu_free_syms): Free relocated_handle.
24783 (grub_efiemu_alloc_syms): Allocate relocated_handle.
24784 (grub_efiemu_write_sym_markers): New function.
24785 (grub_efiemu_set_virtual_address_map): Likewise.
24786
24787 Newer XNU parameters.
24788
24789 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
24790 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
24791 (grub_xnu_fill_devicetree): New prototype.
24792 (grub_xnu_heap_real_start): New variable.
24793 * loader/xnu.c (get_name_ptr): New function.
24794 (grub_xnu_load_driver): Fill namelen and name.
24795
24796 64-bit xnu support.
24797
24798 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
24799 and 'loader/macho64.c'.
24800 * conf/i386-pc.rmk: Likewise.
24801 * conf/x86_64-efi.rmk: Likewise.
24802 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
24803 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
24804 * include/grub/macho.h (grub_macho_segment64): New structure.
24805 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
24806 (grub_macho_size32): ... to this.
24807 (grub_macho32_get_entry_point): Renamed from ...
24808 (grub_macho_get_entry_point32): ... to this.
24809 (grub_macho_contains_macho64): New prototype.
24810 (grub_macho_size64): Likewise.
24811 (grub_macho_get_entry_point64): Likewise.
24812 (grub_macho32_load): Renamed from ...
24813 (grub_macho_load32): ... to this.
24814 (grub_macho32_filesize): Renamed from ...
24815 (grub_macho_filesize32): ... to this.
24816 (grub_macho32_readfile): Renamed from ...
24817 (grub_macho_readfile32): ... to this.
24818 (grub_macho_filesize64): New prototype.
24819 (grub_macho_readfile64): Likewise.
24820 (grub_macho_parse32): Likewise.
24821 (grub_macho_parse64): Likewise.
24822 * loader/macho.c: Split into ...
24823 * loader/machoXX.c: ... and this. Replace 32 with XX.
24824 * loader/macho32.c: New file.
24825 * loader/macho64.c: Likewise.
24826 * loader/xnu.c (grub_xnu_is_64bit): New variable.
24827 (grub_cmd_xnu_kernel): Make 32-bit only.
24828 (grub_cmd_xnu_kernel64): New function.
24829 (grub_xnu_load_driver): Support Mach-O 64.
24830 (grub_cmd_xnu_mkext): Likewise.
24831 * util/grub.d/30_os-prober.in (osx_entry): New function.
24832 Generate entries for 64-bit boot too.
24833
24834 Eliminate ad-hoc tree format in XNU and EfiEmu.
24835
24836 * efiemu/main.c (grub_efiemu_prepare): Update comment.
24837 * efiemu/pnvram.c: Rewritten to use environment variables.
24838 All users updated.
24839
24840 Inline utf16_to_utf8.
24841
24842 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
24843 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
24844 All users updated.
24845 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
24846
24847 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
24848 * commands/usbtest.c (grub_usb_get_string): ... move here.
24849 (usb_print_str): Fix error handling.
24850 * include/grub/usb.h (grub_usb_get_string): Remove.
24851
24852 UTF-8 to UTF-16 transformation.
24853
24854 * conf/common.rmk (pkglib_MODULES): Add charset.mod
24855 (charset_mod_SOURCES): New variable.
24856 (charset_mod_CFLAGS): Likewise.
24857 (charset_mod_LDFLAGS): Likewise.
24858 * include/grub/utf.h: New file.
24859 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
24860
24861 Support for device properties.
24862
24863 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
24864 (grub_xnu_devprop_device_header): Likewise.
24865 (grub_xnu_devprop_device_descriptor): Likewise.
24866 (grub_xnu_devprop_add_device): New prototype.
24867 (grub_xnu_devprop_remove_device): Likewise.
24868 (grub_xnu_devprop_remove_property): Likewise.
24869 (grub_xnu_devprop_add_property_utf8): Likewise.
24870 (grub_xnu_devprop_add_property_utf16): Likewise.
24871 (grub_cpu_xnu_init): Likewise.
24872 (grub_cpu_xnu_fini): Likewise.
24873 (grub_cpu_xnu_unload): Likewise.
24874 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
24875 (property_descriptor): Likewise.
24876 (devices): New variable.
24877 (grub_xnu_devprop_remove_property): New function.
24878 (grub_xnu_devprop_add_device): Likewise.
24879 (grub_xnu_devprop_remove_device): Likewise.
24880 (grub_xnu_devprop_add_property): Likewise.
24881 (grub_xnu_devprop_add_property_utf8): Likewise.
24882 (grub_xnu_devprop_add_property_utf16): Likewise.
24883 (hextoval): Likewise.
24884 (grub_cpu_xnu_fill_devprop): Likewise.
24885 (grub_cmd_devprop_load): Likewise.
24886 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
24887 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
24888 (cmd_devprop_load): New variable.
24889 (grub_cpu_xnu_init): New function.
24890 (grub_cpu_xnu_fini): Likewise.
24891 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
24892 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
24893 (grub_cmd_xnu_devtree): Likewise.
24894 (hextoval): New function.
24895 (unescape): Likewise.
24896 (grub_xnu_fill_devicetree): Likewise.
24897
24898 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
24899 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
24900
24901 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
24902
24903 Workaround for broken ATI VBE.
24904
24905 * video/i386/pc/vbe.c (last_set_mode): New variable.
24906 (grub_vbe_set_video_mode): Set 'last_set_mode'.
24907 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
24908 (grub_video_vbe_setup): Don't check for reserved flag.
24909
24910 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
24911
24912 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
24913 the `find' command.
24914
24915 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
24916
24917 UUID support for HFS.
24918
24919 * fs/hfs.c (grub_hfs_uuid): New function.
24920 (grub_hfs_fs): New value .uuid.
24921 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
24922
24923 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
24924
24925 Fix a segfault with parsing unknown long options.
24926
24927 * util/grub-mkrelpath.c (options): Zero terminate it.
24928
24929 2009-12-13 Carles Pina i Estany <carles@pina.cat>
24930
24931 * include/grub/misc.h (grub_puts): New declaration.
24932 (grub_puts_): Likewise.
24933 * kern/misc.c (grub_puts): New definition.
24934 (grub_puts_): Likewise.
24935
24936 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
24937
24938 * util/grub-probe.c (probe): Improve error message.
24939
24940 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
24941
24942 * loader/i386/multiboot_elfxx.c
24943 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
24944 initialization.
24945
24946 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
24947
24948 Relocator framework
24949
24950 * loader/i386/xnu_helper.S: Removed. All users updated.
24951 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
24952 (relocator_mod_SOURCES): New variable.
24953 (relocator_mod_CFLAGS): Likewise.
24954 (relocator_mod_LDFLAGS): Likewise.
24955 (relocator_mod_ASFLAGS): Likewise.
24956 * conf/x86_64.rmk: Likewise.
24957 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
24958 (grub_multiboot_payload_entry_offset): Likewise.
24959 (grub_multiboot_forward_relocator): Likewise.
24960 (grub_multiboot_forward_relocator_end): Likewise.
24961 (grub_multiboot_backward_relocator): Likewise.
24962 (grub_multiboot_backward_relocator_end): Likewise.
24963 (grub_multiboot_payload_eip): New variable.
24964 (grub_multiboot_payload_orig): Likewise.
24965 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
24966 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
24967 * include/grub/i386/memory.h
24968 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
24969 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
24970 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
24971 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
24972 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
24973 * include/grub/i386/relocator.h: New file.
24974 * include/grub/x86_64/relocator.h: Likewise.
24975 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
24976 (XNU_RELOCATOR): New macro.
24977 (grub_xnu_launcher_start): Remove.
24978 (grub_xnu_launcher_end): Likewise.
24979 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
24980 (grub_xnu_heap_real_start): Remove.
24981 (grub_xnu_heap_start): Change to void *. All users updated.
24982 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
24983 * lib/i386/relocator.c: New file.
24984 * lib/i386/relocator_asm.S: Likewise.
24985 * lib/i386/relocator_backward.S: Likewise.
24986 * lib/mips/relocator.c: Likewise.
24987 * lib/mips/relocator_asm.S: Likewise.
24988 * lib/relocator.c: Likewise.
24989 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
24990 (entry): Removed.
24991 (playground): Likewise.
24992 (grub_multiboot_payload_orig): New variable.
24993 (grub_multiboot_payload_dest): Likewise.
24994 (grub_multiboot_payload_size): Likewise.
24995 (grub_multiboot_payload_eip): Likewise.
24996 (grub_multiboot_payload_esp): Likewise.
24997 (grub_multiboot_boot): Use grub_relocator32_boot.
24998 (grub_multiboot_unload): Free relocators.
24999 (grub_multiboot): Setup stack. Use relocators.
25000 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
25001 (grub_multiboot_load_elfXX): Use relocators.
25002 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
25003 (grub_multiboot_payload_size): Likewise.
25004 (grub_multiboot_payload_dest): Likewise.
25005 (grub_multiboot_payload_entry_offset): Likewise.
25006 (grub_multiboot_forward_relocator): Likewise.
25007 (grub_multiboot_backward_relocator): Likewise.
25008 (grub_multiboot_real_boot): Likewise.
25009 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
25010 (grub_xnu_entry_point): Likewise.
25011 (grub_xnu_arg1): Likewise.
25012 (grub_xnu_stack): Likewise.
25013 (grub_xnu_launch): Removed.
25014 (grub_xnu_boot_resume): New function.
25015 (grub_xnu_boot): Use relocators.
25016 * loader/i386/xnu_helper.S: Removed.
25017 * loader/xnu.c (grub_xnu_heap_start): New variable.
25018 (grub_xnu_heap_size): Likewise.
25019 (grub_xnu_heap_malloc): Use relocators.
25020 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
25021
25022 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
25023
25024 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
25025 anything.
25026
25027 2009-12-13 Carles Pina i Estany <carles@pina.cat>
25028
25029 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
25030 GRUB_ERR_NONE before calling grub_env_set.
25031
25032 2009-12-12 Robert Millan <rmh@aybabtu.com>
25033
25034 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
25035 * genmk.rb (video): New variable.
25036 (CLEANFILES, VIDEOFILES): Add #{video}.
25037 (#{video}): New target rule.
25038 * genvideolist.sh: New file.
25039 * Makefile.in (pkglib_DATA): Add video.lst.
25040 (video.lst): New target rule.
25041 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
25042 `video.lst'.
25043 * util/grub.d/30_os-prober.in: Replace `vbe' with
25044 ${GRUB_VIDEO_BACKEND}.
25045
25046 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
25047
25048 * THANKS: Add David Miller.
25049
25050 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
25051
25052 libpciaccess support.
25053
25054 * Makefile.in (LIBPCIACCESS): New variable.
25055 (enable_grub_emu_pci): Likewise.
25056 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
25057 util/pci.c and commands/lspci.c.
25058 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
25059 * configure.ac (grub-emu-pci): New option.
25060 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
25061 (grub_pci_device_unmap_range): Likewise.
25062 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
25063 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
25064 (grub_pci_address_t) [!GRUB_UTIL]: New type.
25065 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
25066 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
25067 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
25068 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
25069 * include/grub/pciutils.h: New file.
25070 * util/pci.c: Likewise.
25071
25072 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
25073
25074 * util/misc.c: Don't include <errno.h> twice.
25075
25076 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
25077
25078 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
25079 name in an error message.
25080 (grub_biosdisk_rw): Likewise.
25081
25082 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25083
25084 Eliminate NTFS 4Gib barrier.
25085
25086 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
25087 (read_run_data): Likewise.
25088 (grub_ntfs_read_run_list): Likewise.
25089 (grub_ntfs_read_block): Likewise.
25090 (grub_ntfs_iterate_dir): Likewise.
25091 (read_mft): Likewise.
25092 (read_data): Likewise.
25093 Use COM_LOG_LEN.
25094 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
25095 to avoid 64-bit division
25096 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
25097 (grub_ntfs_rlst): Use grub_disk_addr_t.
25098
25099 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25100
25101 Eliminate grub-fstest 4Gib barrier.
25102
25103 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
25104 (read_file): Fix error reporting.
25105
25106 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25107
25108 Eliminate hexdump 4Gib barrier.
25109
25110 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
25111 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
25112
25113 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25114
25115 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
25116 Fixes amarsh bug.
25117
25118 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
25119
25120 Remove miscellaneous files in distclean target.
25121
25122 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
25123
25124 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
25125
25126 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
25127 if they're already set. This resolves the conflict between my
25128 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
25129 fixing the --grub-probe option again.
25130 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
25131 change on 2009-10-06, so that we now once again source
25132 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
25133
25134 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
25135
25136 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
25137 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
25138 `util/devicemap.c'.
25139
25140 2009-12-08 Carles Pina i Estany <carles@pina.cat>
25141
25142 * include/grub/misc.h (grub_printf_): New declaration.
25143 * kern/misc.c (grub_printf_): New definition.
25144 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
25145 instead of `grub_printf' and `_'.
25146 * normal/menu_entry.c (store_completion): Likewise.
25147 (run): Likewise.
25148 (grub_menu_entry_run): Likewise.
25149 * normal/menu_text.c (grub_wait_after_message): Likewise.
25150 (notify_booting): Likewise.
25151 (notify_fallback): Likewise.
25152 (notify_execution_failure): Likewise.
25153
25154 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
25155
25156 * configure.ac: Check for vasprintf.
25157 * util/misc.c (asprintf): Move allocation from here ...
25158 (vasprintf): ... to here. New function.
25159 (xasprintf): New function.
25160 * include/grub/util/misc.h (vasprintf, xasprintf): Add
25161 prototypes.
25162 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
25163 * util/grub-mkfont.c (write_font): Likewise.
25164 * util/grub-probe.c (probe): Likewise.
25165 * util/hostdisk.c (make_device_name): Likewise.
25166
25167 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
25168
25169 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
25170 anything even prefixed with 'cdrom' as a cdrom.
25171
25172 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
25173
25174 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
25175 mount points.
25176
25177 2009-12-05 Carles Pina i Estany <carles@pina.cat>
25178
25179 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
25180 grub_gettext_msg_list.
25181 (grub_gettext_gettranslation_from_position): Return const char *
25182 and not char *.
25183 (grub_gettext_translate): Add the translated strings into a list,
25184 returns from the list if existing there.
25185 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
25186 (grub_gettext_delete_list): Delete the list.
25187 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
25188 lang environment variable is changed.
25189 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
25190
25191 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
25192
25193 Rename kernel.mod to kernel.img.
25194
25195 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
25196 (kernel_mod_EXPORTS): Rename to ...
25197 (kernel_img_EXPORTS): ... this.
25198 (kernel_mod_SOURCES): Rename to ...
25199 (kernel_img_SOURCES): ... this.
25200 (kernel_mod_HEADERS): Rename to ...
25201 (kernel_img_HEADERS): ... this. All users updated.
25202 (kernel_mod_CFLAGS): Rename to ...
25203 (kernel_img_CFLAGS): ... this.
25204 (kernel_mod_ASFLAGS): Rename to ...
25205 (kernel_img_ASFLAGS): ... this.
25206 (kernel_mod_LDFLAGS): Rename to ...
25207 (kernel_img_LDFLAGS): ... this.
25208 * conf/x86_64-efi.rmk: Likewise.
25209 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
25210 (read_kernel_image): ... this. All users updated.
25211 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
25212
25213 2009-12-05 Carles Pina i Estany <carles@pina.cat>
25214
25215 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
25216 (print_spaces): New function.
25217 (grub_print_ucs4): New function.
25218 (getstringwidth): New function.
25219 (print_message_indented): New function.
25220 (print_message): Gettexttize strings using print_message_indented.
25221 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
25222 width.
25223 (get_entry_number): Gettextize and uses dynamic terminal width.
25224 (notify_booting, notify_fallback, notify_execution_failure):
25225 Gettextize.
25226 * normal/menu_entry.c (store_completion): Cleanup the gettextized
25227 string.
25228 (run): Likewise.
25229 (grub_menu_entry_run): Likewise.
25230 * PO/POTFILES: Add normal/menu_entry.c.
25231
25232 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
25233
25234 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
25235
25236 2009-12-05 Carles Pina i Estany <carles@pina.cat>
25237
25238 * util/grub-install.in: Install gettext .mo files.
25239 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
25240
25241 2009-12-05 Carles Pina i Estany <carles@pina.cat>
25242
25243 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
25244 grub_dprintf.
25245
25246 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
25247
25248 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
25249 non-firmware-dependant one in realmode.S takes precedence.
25250
25251 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
25252
25253 * commands/halt.c: Replace misc arch-specific headers with
25254 `<grub/misc.h>'.
25255 * commands/reboot.c: Likewise.
25256 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
25257 `<grub/misc.h>'.
25258 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
25259 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
25260 (kernel_img_SOURCES): ... to here.
25261
25262 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
25263 * include/grub/i386/pc/init.h: Likewise.
25264 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
25265 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
25266
25267 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
25268
25269 * include/grub/i386/halt.h: Remove.
25270 * include/grub/i386/reboot.h: Likewise.
25271
25272 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
25273
25274 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
25275
25276 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
25277 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
25278 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
25279 "progname.h"
25280 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
25281 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25282 (usage): Add missing comma in printf.
25283
25284 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
25285
25286 Use the same reboot approach on i386 coreboot and qemu as we do on
25287 BIOS.
25288
25289 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
25290 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
25291 * kern/i386/reboot.c: Remove.
25292 * include/grub/i386/reboot.h (grub_reboot): Export function.
25293 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
25294 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
25295 0xf000:0xfff0 instead of 0xffff:0x0000.
25296 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
25297 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
25298
25299 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
25300
25301 Fix $srcdir != $objdir build.
25302
25303 * Makefile.in (po/%.po): Rewrite as ...
25304 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
25305
25306 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
25307
25308 Fix GNU/Hurd grub-install crash.
25309 * util/grub-probe.c (probe): Try to access `path' only when it is not
25310 NULL.
25311
25312 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
25313
25314 Correct module naming.
25315
25316 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
25317 (GRUB_MOD_INIT(efi_uga)): ... to this
25318 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
25319 (GRUB_MOD_FINI(efi_uga)): ... to this
25320 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
25321 (GRUB_MOD_INIT(efi_gop)): ... to this
25322 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
25323 (GRUB_MOD_FINI(efi_gop)): ... to this
25324
25325 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
25326
25327 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
25328 translatable.
25329 (usage): Translate `arg' strings using gettext().
25330 Thanks to Jordi Mallach for the suggestion.
25331
25332 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
25333
25334 GOP support. Based on patch from Bean
25335 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
25336
25337 * video/efi_gop.c: New file.
25338 * include/grub/efi/graphics_output.h: Likewise.
25339 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
25340 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
25341 variables.
25342 * conf/x86_64-efi.rmk: Likewise.
25343
25344 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
25345
25346 Rename efi_fb to efi_uga.
25347
25348 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
25349 'efi_uga.mod'.
25350 (efi_fb_mod_SOURCES): Rename this ...
25351 (efi_uga_mod_SOURCES): ... to this.
25352 (efi_fb_mod_CFLAGS): Rename this ...
25353 (efi_uga_mod_CFLAGS): ... to this.
25354 (efi_fb_mod_LDFLAGS): Rename this ...
25355 (efi_uga_mod_LDFLAGS): ... to this.
25356 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
25357 'efi_uga.mod'.
25358 (efi_fb_mod_SOURCES): Rename this ...
25359 (efi_uga_mod_SOURCES): ... to this.
25360 (efi_fb_mod_CFLAGS): Rename this ...
25361 (efi_uga_mod_CFLAGS): ... to this.
25362 (efi_fb_mod_LDFLAGS): Rename this ...
25363 (efi_uga_mod_LDFLAGS): ... to this.
25364 * video/efi_fb.c: Move this ...
25365 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
25366
25367 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
25368
25369 * po/README: New file. Explain our PO file workflow.
25370
25371 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
25372
25373 * po/ChangeLog: Remove. Move relevant entries back to ...
25374 * ChangeLog: ... here.
25375 * po/ca.po: Remove (now handled by TLP).
25376 * po/id.po: Likewise.
25377 * po/zh_CN.po: Likewise.
25378 * Makefile.in (LINGUAS): Initialize in a way that supports
25379 empty set.
25380
25381 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
25382
25383 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
25384 reliing on po/LINGUAS.
25385 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
25386 (po/%.po): ... this.
25387
25388 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
25389
25390 * util/i386/efi/grub-mkimage.c: Include "progname.h".
25391 (main): Use `program_name' instead of nonexistent `progname'.
25392
25393 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
25394
25395 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
25396 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
25397
25398 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
25399
25400 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
25401 commit.
25402 * conf/i386-efi.rmk: Likewise.
25403 * conf/i386-ieee1275.rmk: Likewise.
25404 * conf/powerpc-ieee1275.rmk: Likewise.
25405 * conf/sparc64-ieee1275.rmk: Likewise.
25406 * conf/x86_64-efi.rmk: Likewise.
25407
25408 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
25409
25410 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
25411
25412 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
25413
25414 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
25415
25416 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
25417
25418 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
25419 (grub_mkdevicemap_SOURCES): New variable.
25420 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
25421 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
25422 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
25423 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
25424 (grub_mkdevicemap_SOURCES): Remove.
25425 * conf/i386-efi.rmk: Likewise.
25426 * conf/i386-ieee1275.rmk: Likewise.
25427 * conf/i386-pc.rmk: Likewise.
25428 * conf/powerpc-ieee1275.rmk: Likewise.
25429 * conf/sparc64-ieee1275.rmk: Likewise.
25430 * conf/x86_64-efi.rmk: Likewise.
25431 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
25432 (usage): Fix strings to use `program_name'.
25433 (main): Initialize gettext.
25434 * util/grub-editenv.c: Likewise.
25435 * util/grub-emu.c: Likewise.
25436 * util/grub-fstest.c: Likewise.
25437 * util/grub-mkdevicemap.c: Likewise.
25438 * util/grub-mkfont.c: Likewise.
25439 * util/grub-mkrelpath.c: Likewise.
25440 * util/grub-pe2elf.c: Likewise.
25441 * util/grub-probe.c: Likewise.
25442 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
25443 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
25444 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25445
25446 * util/misc.c: Include `"progname.h"'.
25447 (progname): Remove variable.
25448 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
25449
25450 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
25451
25452 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
25453 printf and print a newline after the menuentry header line.
25454 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
25455
25456 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
25457
25458 autoconf >= 2.60 support $(localedir).
25459
25460 * INSTALL: Note that autoconf 2.60 is required.
25461 * configure.ac (AC_PREREQ): Bump to 2.60.
25462 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
25463 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
25464
25465 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
25466
25467 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
25468 aclocal is run.
25469
25470 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
25471
25472 * normal/main.c (grub_normal_read_line): Fix off-by-one
25473 buffer overflow.
25474
25475 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
25476
25477 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
25478 "parser.grub" in grub_command_execute() call.
25479
25480 2009-11-24 Carles Pina i Estany <carles@pina.cat>
25481
25482 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
25483 * conf/i386-efi.rmk: Likewise.
25484 * conf/i386-ieee1275.rmk: Likewise.
25485 * conf/i386-pc.rmk: Likewise.
25486 * conf/powerpc-ieee1275.rmk: Likewise.
25487 * conf/sparc64-ieee1275.rmk: Likewise.
25488 * conf/x86_64-efi.rmk: Likewise.
25489 * gettext/gettex.c: Include <grub/i18n.h>.
25490 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
25491 here ...
25492 * include/grub/i18n.h: ... to here
25493 * include/grub/i18n.h: ... to here.
25494 * kern/misc.c: Include <grub/i18n.h>
25495 (grub_gettext_dummy): Move above user.
25496
25497 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25498
25499 * util/Makefile.in (install-local): Convert a `for' into a normal
25500 shell expansion.
25501
25502 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
25503
25504 * autogen.sh: Add automake call.
25505 * config.guess: Remove.
25506 * config.sub: Likewise.
25507 * install-sh: Likewise.
25508
25509 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25510
25511 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
25512
25513 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25514
25515 * util/Makefile.in (install-local): Convert a make `$(foreach)'
25516 function to a normal shell `for'.
25517
25518 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25519
25520 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
25521
25522 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25523
25524 * util/grub-mkrelpath.c: New file.
25525 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
25526 (grub_mkrelpath_SOURCES): New variable.
25527 * include/grub/util/misc.h: New function prototype.
25528 * util/misc.c (make_system_path_relative_to_its_root): New function.
25529
25530 * util/grub-mkconfig_lib.in (bindir): New variable.
25531 (grub_mkrelpath): Likewise.
25532 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
25533
25534 * util/probe.c (probe): Make the file path relative to its root.
25535 Change a info message to use the GRUB path. Enable again the
25536 check if we can read the file with GRUB facilities.
25537
25538 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
25539 to its root.
25540
25541 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25542
25543 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
25544 platform.
25545
25546 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25547
25548 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
25549 strncmp().
25550
25551 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25552
25553 * util/getroot.c (grub_util_is_dmraid): New function.
25554 (grub_util_get_dev_abstraction): Treat dmraid and multipath
25555 devices as normal ones, not as LVM.
25556
25557 2009-11-23 Carles Pina i Estany <carles@pina.cat>
25558
25559 * conf/common.rmk: Add grub-gettext_lib target and updates
25560 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
25561 LDFLAGS.
25562 * gettext/gettext.c: New file. (Reads mo files).
25563 * include/grub/file.h (grub_file_pread): New prototype.
25564 * include/grub/i18n.h (_): New prototype.
25565 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
25566 prototypes.
25567 * kern/misc.c (grub_gettext_dummy): New function.
25568 * normal/menu_text.c: Include <grub/i18n.h>.
25569 * normal/menu_text.c (print_timeout): Gettexttize string.
25570 * normal/menu_text.c (print_message): Gettexttize string.
25571 * po/POTFILES: Add `normal/menu_text.c'.
25572 * po/ca.po: Add new translations.
25573 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
25574 gettext module and defines locale_dir and lang in grub.cfg.
25575 * NEWS: Add gettext support.
25576
25577 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25578
25579 * util/hostdisk.c: Include `<grub/i18n.h>'.
25580 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
25581 (make_device_name): Rewrite using asprintf.
25582 (convert_system_partition_to_system_disk): Replace 0 with NULL.
25583 (find_system_device): If a device is not found, generate one just
25584 by reusing the OS path name.
25585 (read_device_map): Make it permissible for device.map not to exist.
25586
25587 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25588
25589 * script/sh/execute.c: Move from here ...
25590 * script/execute.c: ... to here. Update all users.
25591 * script/sh/function.c: Move from here ...
25592 * script/function.c: ... to here. Update all users.
25593 * script/sh/lexer.c: Move from here ...
25594 * script/lexer.c: ... to here. Update all users.
25595 * script/sh/main.c: Move from here ...
25596 * script/main.c: ... to here. Update all users.
25597 * script/sh/parser.y: Move from here ...
25598 * script/parser.y: ... to here. Update all users.
25599 * script/sh/script.c: Move from here ...
25600 * script/script.c: ... to here. Update all users.
25601
25602 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25603
25604 * configure.ac: Detect all `emu' platforms. Define
25605 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
25606 --enable-grub-emu logic. Disable include/grub/machine
25607 symlink on `emu' platforms.
25608
25609 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
25610 * gensymlist.sh.in: Likewise.
25611
25612 * include/grub/i386/coreboot/machine.h: Remove file.
25613 * include/grub/i386/efi/machine.h: Likewise.
25614 * include/grub/i386/ieee1275/machine.h: Likewise.
25615 * include/grub/i386/pc/machine.h: Likewise.
25616 * include/grub/i386/qemu/machine.h: Likewise.
25617 * include/grub/powerpc/ieee1275/machine.h: Likewise.
25618 * include/grub/sparc64/ieee1275/machine.h: Likewise.
25619 * include/grub/x86_64/efi/machine.h: Likewise.
25620
25621 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
25622 * commands/halt.c: Likewise.
25623 * commands/reboot.c: Likewise.
25624 * include/grub/autoefi.h: Likewise.
25625 * include/grub/i386/at_keyboard.h: Likewise.
25626 * include/grub/i386/kernel.h: Likewise.
25627 * include/grub/i386/loader.h: Likewise.
25628 * include/grub/i386/pc/memory.h: Likewise.
25629 * kern/dl.c: Likewise.
25630 * kern/i386/coreboot/init.c: Likewise.
25631 * loader/i386/bsd.c: Likewise.
25632 * loader/i386/linux.c: Likewise.
25633 * loader/multiboot_loader.c: Likewise.
25634 * term/i386/pc/serial.c: Likewise.
25635 * term/usb_keyboard.c: Likewise.
25636
25637 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
25638 `<grub/machine/machine.h>'
25639 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
25640 * util/misc.c: Remove `<grub/machine/machine.h>' and
25641 `<grub/machine/time.h>'.
25642
25643 * Makefile.in (enable_grub_emu): Remove variable.
25644 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
25645
25646 * conf/any-emu.rmk: New file.
25647 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
25648 (grub_emu_init.c): Move from here ...
25649 * conf/any-emu.rmk: ... to here.
25650
25651 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
25652 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
25653 * conf/any-emu.rmk: ... to here.
25654
25655 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25656
25657 * include/grub/parser.h (grub_parser_register): Document need
25658 of `name' parameter.
25659 * normal/main.c (grub_normal_read_line): Simplify prompt string.
25660 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
25661 "sh" to "grub".
25662
25663 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25664
25665 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
25666 `$(XGETTEXT)'.
25667 * include/grub/i18n.h (N_): New macro.
25668 * util/mkisofs/mkisofs.h: Likewise.
25669 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
25670 around N_().
25671 (usage): Use gettext() to translate help strings when printing them.
25672
25673 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25674
25675 Based on patch from Bean
25676 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
25677
25678 * video/efi_fb.c: New file.
25679 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
25680 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
25681 variables.
25682 * conf/x86_64-efi.rmk: Likewise.
25683
25684 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
25685
25686 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
25687 * util/i386/pc/grub-setup.c: Likewise.
25688
25689 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
25690
25691 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
25692 <hurd/fs.h>
25693 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
25694 file_get_storage_info to implement grub_guess_root_device.
25695
25696 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
25697
25698 * Makefile.in (target): Use make's builtin $(shell) function
25699 instead of calling directly $(SHELL) to create the locale directories,
25700 inside the $(foreach) function.
25701
25702 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
25703
25704 * util/grub-mkrescue.in: Print an error and usage if output option
25705 has not been given.
25706
25707 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
25708
25709 Patch from Loïc Minier <loic.minier@ubuntu.com>.
25710 * util/grub.d/30_os-prober.in: Cope with Linux entries where
25711 root and /boot are on different devices.
25712
25713 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
25714
25715 Fix build for srcdir != objdir.
25716
25717 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
25718 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
25719 $(srcdir).
25720 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
25721 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
25722 reference for input.
25723
25724 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
25725
25726 * util/grub-mkrescue.in: Use source directory direcly (without copiing
25727 or hardlinking it). Remove -J option, Joliet is not compatible with
25728 multiple source directories.
25729
25730 2009-11-21 Carles Pina i Estany <carles@pina.cat>
25731 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
25732
25733 * util/grub-mkrescue.in: Recognize `--override-directory' option.
25734 (process_input_dir): New function. Process an arbitrary input
25735 directory.
25736 Misc adjustments to support both "override mode" and system-wide mode.
25737
25738 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
25739
25740 * configure.ac (UNIFONT_BDF): Rename to ...
25741 (FONT_SOURCE): ... this. Update all users.
25742
25743 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
25744
25745 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
25746 to the list of unifont files to look for.
25747
25748 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
25749
25750 Patch from Joe Auricchio <jauricchio@gmail.com>
25751 * commands/minicmd.c (grub_mini_cmd_clear): New function.
25752 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
25753 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
25754
25755 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
25756
25757 * Makefile.in (install-local): Add a missing backslash.
25758
25759 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
25760
25761 * include/grub/x86_64/io.h: New file.
25762
25763 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
25764
25765 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
25766 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
25767 Include `"progname.h"'.
25768 (main): Initialize gettext.
25769 * util/i386/pc/grub-setup.c: Gettexttize.
25770 * util/i386/pc/grub-mkimage.c: Likewise.
25771
25772 * Makefile.in (po/*.po): Redefine as ...
25773 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
25774
25775 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
25776
25777 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
25778
25779 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
25780 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
25781 (program_name): Remove.
25782 (main): Initialize gettext support.
25783 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
25784 Include `<libintl.h>'.
25785 (_): New macro.
25786
25787 * util/mkisofs/eltorito.c: Gettexttize.
25788 * util/mkisofs/joliet.c: Likewise.
25789 * util/mkisofs/mkisofs.c: Likewise.
25790 * util/mkisofs/multi.c: Likewise.
25791 * util/mkisofs/rock.c: Likewise.
25792 * util/mkisofs/tree.c: Likewise.
25793 * util/mkisofs/write.c: Likewise.
25794
25795 * po/POTFILES: Update with new files.
25796
25797 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
25798
25799 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
25800 * util/mkisofs/iso9660.h: Likewise.
25801 * util/mkisofs/joliet.c: Likewise.
25802 * util/mkisofs/mkisofs.c: Likewise.
25803 * util/mkisofs/mkisofs.h: Likewise.
25804 * util/mkisofs/rock.c: Likewise.
25805 * util/mkisofs/tree.c: Likewise.
25806 * util/mkisofs/write.c: Likewise.
25807
25808 * util/mkisofs/eltorito.c (rcsid): Remove.
25809 * util/mkisofs/hash.c: Likewise.
25810 * util/mkisofs/joliet.c: Likewise.
25811 * util/mkisofs/name.c: Likewise.
25812 * util/mkisofs/rock.c: Likewise.
25813 * util/mkisofs/tree.c: Likewise.
25814 * util/mkisofs/write.c: Likewise.
25815
25816 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
25817
25818 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
25819 instead of static allocation.
25820 * util/mkisofs/match.h: Likewise.
25821
25822 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
25823
25824 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
25825 and `util/grub.d/10_linux.in'.
25826 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
25827 translatable Shell files.
25828
25829 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
25830
25831 * Makefile.in ($(srcdir)/aclocal.m4): New target.
25832
25833 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25834
25835 * INSTALL: Document Automake is needed for bootstrap.
25836 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
25837 * util/grub.d/10_kfreebsd.in (bindir): New variable.
25838 Add gettext initialization.
25839 (kfreebsd_entry): Make menuentry output translatable.
25840
25841 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25842
25843 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
25844 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
25845 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
25846 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
25847 (LINGUAS): Auto-generate using `po/LINGUAS'.
25848 * po/LINGUAS: New file.
25849
25850 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25851
25852 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
25853 other things).
25854 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
25855 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
25856 bindtextdomain() calls for gettext initialization.
25857
25858 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25859
25860 * gnulib/progname.c: New file (imported from Gnulib).
25861 * gnulib/progname.h: Likewise.
25862 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
25863 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
25864 (usage): Replace `progname' with `program_name'.
25865 (main): Use set_program_name() for program name initialization.
25866
25867 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25868
25869 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
25870 from here ...
25871 * Makefile.in (CPPFLAGS): ... to here.
25872
25873 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
25874
25875 * aclocal.m4: Move from here ...
25876 * acinclude.m4: ... to here.
25877 * autogen.sh: Add call to `aclocal'.
25878 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
25879
25880 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
25881
25882 * Makefile.in (CLEANFILES): Add `po/*.mo'.
25883 (LINGUAS): New variable.
25884 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
25885 (install-local): Install MO files.
25886 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
25887 * include/grub/i18n.h: New file.
25888 * po/POTFILES: New file.
25889 * po/ca.po: New file.
25890 * util/grub.d/10_linux.in (bindir): New variable.
25891 Add gettext initialization.
25892 (linux_entry): Make menuentry output translatable.
25893 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
25894 (usage): Make --help output translatable.
25895 (main): Initialize gettext.
25896
25897 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25898
25899 * import_gcry.py: New file (written by Vladimir with minor
25900 adjustments).
25901 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
25902 ciphers.
25903 * INSTALL: Document that Python is required for bootstrap.
25904
25905 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25906
25907 Import ciphers from libgcrypt 1.4.4.
25908
25909 * lib/libgcrypt/cipher/ChangeLog
25910 * lib/libgcrypt/cipher/ac.c
25911 * lib/libgcrypt/cipher/arcfour.c
25912 * lib/libgcrypt/cipher/bithelp.h
25913 * lib/libgcrypt/cipher/blowfish.c
25914 * lib/libgcrypt/cipher/camellia-glue.c
25915 * lib/libgcrypt/cipher/camellia.c
25916 * lib/libgcrypt/cipher/camellia.h
25917 * lib/libgcrypt/cipher/cast5.c
25918 * lib/libgcrypt/cipher/cipher.c
25919 * lib/libgcrypt/cipher/crc.c
25920 * lib/libgcrypt/cipher/des.c
25921 * lib/libgcrypt/cipher/dsa.c
25922 * lib/libgcrypt/cipher/ecc.c
25923 * lib/libgcrypt/cipher/elgamal.c
25924 * lib/libgcrypt/cipher/hash-common.c
25925 * lib/libgcrypt/cipher/hash-common.h
25926 * lib/libgcrypt/cipher/hmac-tests.c
25927 * lib/libgcrypt/cipher/md.c
25928 * lib/libgcrypt/cipher/md4.c
25929 * lib/libgcrypt/cipher/md5.c
25930 * lib/libgcrypt/cipher/primegen.c
25931 * lib/libgcrypt/cipher/pubkey.c
25932 * lib/libgcrypt/cipher/rfc2268.c
25933 * lib/libgcrypt/cipher/rijndael-tables.h
25934 * lib/libgcrypt/cipher/rijndael.c
25935 * lib/libgcrypt/cipher/rmd.h
25936 * lib/libgcrypt/cipher/rmd160.c
25937 * lib/libgcrypt/cipher/rsa.c
25938 * lib/libgcrypt/cipher/seed.c
25939 * lib/libgcrypt/cipher/serpent.c
25940 * lib/libgcrypt/cipher/sha1.c
25941 * lib/libgcrypt/cipher/sha256.c
25942 * lib/libgcrypt/cipher/sha512.c
25943 * lib/libgcrypt/cipher/tiger.c
25944 * lib/libgcrypt/cipher/twofish.c
25945 * lib/libgcrypt/cipher/whirlpool.c
25946
25947 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
25948
25949 Fix build for systems without error().
25950
25951 * gnulib/error.c: New file (imported from Gnulib).
25952 * gnulib/error.h: Likewise.
25953 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
25954 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
25955 (this variable is now used by error()).
25956
25957 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
25958
25959 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
25960 instead of relying that char is signed.
25961
25962 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
25963
25964 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
25965 blocksize different from specified.
25966 (grub_pxefs_read): Likewise.
25967
25968 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
25969
25970 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
25971
25972 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
25973 (grub_ata_readwrite): Likewise. Update 2 format strings.
25974 (grub_atapi_read): Likewise.
25975
25976 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
25977 * conf/i386.rmk (pkglib_MODULES): ... to here ...
25978 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
25979 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
25980 (ata_mod_LDFLAGS): Move from here ...
25981 * conf/i386.rmk: ... to here ...
25982 * conf/x86_64-efi.rmk: ... and here.
25983 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
25984 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
25985
25986 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
25987
25988 Relicense multiboot.h, with RMS' blessing.
25989
25990 * include/multiboot.h: Change to X11 license.
25991
25992 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
25993
25994 Support --version in grub-mkisofs.
25995
25996 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
25997 (OPTION_VERSION): New macro.
25998 (ld_options): Recognize --version.
25999 (usage): Move `program_name' from here ...
26000 (program_name): ... to here. Add `static' qualifier.
26001 (main): Recognize `OPTION_VERSION'.
26002
26003 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
26004
26005 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
26006 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
26007
26008 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
26009
26010 Fix help2man generation for mkisofs.
26011
26012 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
26013 (usage): Send output to stdout (rather than stderr).
26014
26015 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
26016
26017 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
26018 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
26019 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
26020 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
26021 (bin_SCRIPTS): Add `grub-mkfloppy'.
26022 (grub_mkfloppy_SOURCES): New variable.
26023
26024 * util/grub-mkrescue.in: New file.
26025 * util/i386/pc/grub-mkfloppy.in: New file.
26026
26027 * util/i386/coreboot/grub-mkrescue.in: Remove.
26028 * util/i386/pc/grub-mkrescue.in: Remove.
26029
26030 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
26031
26032 * include/grub/multiboot.h (struct grub_multiboot_header): Move
26033 from here ...
26034 * include/multiboot.h (struct multiboot_header): ... to here. Update
26035 all users.
26036 * include/grub/multiboot.h (struct grub_multiboot_info): Move
26037 from here ...
26038 * include/multiboot.h (struct multiboot_info): ... to here. Update
26039 all users.
26040 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
26041 from here ...
26042 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
26043 Update all users.
26044 * include/grub/multiboot.h (struct grub_mod_list): Move
26045 from here ...
26046 * include/multiboot.h (struct multiboot_mod_list): ... to here.
26047 Update all users.
26048
26049 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
26050
26051 * include/multiboot2.h (multiboot_word): Rename from this ...
26052 (multiboot2_word): ... to this. Update all users.
26053 (multiboot_header): Rename from this ...
26054 (multiboot2_header): ... to this. Update all users.
26055 (multiboot_tag_header): Rename from this ...
26056 (multiboot2_tag_header): ... to this. Update all users.
26057 (multiboot_tag_start): Rename from this ...
26058 (multiboot2_tag_start): ... to this. Update all users.
26059 (multiboot_tag_name): Rename from this ...
26060 (multiboot2_tag_name): ... to this. Update all users.
26061 (multiboot_tag_module): Rename from this ...
26062 (multiboot2_tag_module): ... to this. Update all users.
26063 (multiboot_tag_memory): Rename from this ...
26064 (multiboot2_tag_memory): ... to this. Update all users.
26065 (multiboot_tag_unused): Rename from this ...
26066 (multiboot2_tag_unused): ... to this. Update all users.
26067 (multiboot_tag_end): Rename from this ...
26068 (multiboot2_tag_end): ... to this. Update all users.
26069
26070 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
26071
26072 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
26073 this platform we should support Multiboot1 first.
26074
26075 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
26076 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
26077 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
26078
26079 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
26080
26081 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
26082 of write calls (converting them to fwrite() if they aren't already).
26083 (get_torito_desc): Likewise.
26084 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
26085
26086 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
26087
26088 * util/i386/pc/grub-install.in: Move from here ...
26089 * util/grub-install.in: ... to here. Update all users.
26090
26091 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
26092
26093 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
26094
26095 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
26096
26097 Support for El Torito without floppy emulation.
26098
26099 * util/mkisofs/eltorito.c: Include `<errno.h>'.
26100 (init_boot_catalog): Improve error handling.
26101 (get_torito_desc): Don't use floppy emulation unless requested by
26102 user. Patch boot information table when requested via
26103 `-boot-info-table'.
26104 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
26105 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
26106 (use_boot_info_table): New variables.
26107 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
26108 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
26109 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
26110 `--eltorito-emul-floppy'.
26111 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
26112 and `OPTION_ELTORITO_EMUL_FLOPPY'.
26113 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
26114 (use_boot_info_table, get_731): New prototypes.
26115 * util/mkisofs/write.c (get_731): New function.
26116
26117 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
26118
26119 Fix the generation of the man page.
26120
26121 * util/pc/i386/grub-install.in: Source
26122 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
26123
26124 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
26125
26126 Large file support for grub-mkisofs.
26127
26128 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
26129 * util/mkisofs/mkisofs.c (next_extent, last_extent)
26130 (session_start): Upgrade type to `uint64_t'. Update all users.
26131 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
26132 (struct directory_entry): Upgrade type of `starting_block' and
26133 `size' to `uint64_t'. Update all users.
26134 (struct deferred): Remove unused structure.
26135 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
26136 Update all users.
26137 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
26138 file is larger than `UINT32_MAX'.
26139 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
26140 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
26141 return value.
26142 (struct deferred_write): Upgrade type of `extent' and `size' to
26143 `uint64_t'. Update all users.
26144 (last_extent_written): Upgrade type to `uint64_t'. Update all
26145 users.
26146 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
26147 Update all users. Upgrade type of `remain' to `int64_t' and
26148 `use' to `size_t'. Use error() to handle fread() errors.
26149 (write_files): Rely on write_one_file() rather than calling
26150 xfwrite() directly.
26151
26152 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
26153
26154 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
26155
26156 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26157
26158 * util/mkisofs/fnmatch.c: Remove.
26159 * util/mkisofs/getopt1.c: Likewise.
26160 * util/mkisofs/getopt.c: Likewise.
26161 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
26162 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
26163 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
26164 `gnulib/getopt1.c' and `gnulib/getopt.c'.
26165 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
26166
26167 * configure.ac: Detect `mingw32msvc' host_os.
26168 Check for lstat(), getuid() and getgid().
26169
26170 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
26171 instances of `u_char' with `uint8_t'.
26172
26173 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
26174 [!HAVE_GETUID] (getuid): New function (stub).
26175 [!HAVE_GETGID] (getgid): Likewise.
26176 [!HAVE_LSTAT] (lstat): Likewise.
26177 [!S_IROTH] (S_IROTH): New macro (dummy).
26178 [!S_IRGRP] (S_IRGRP): Likewise.
26179
26180 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26181
26182 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
26183 conditional expression).
26184
26185 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26186
26187 Import from Gnulib.
26188
26189 * gnulib/fnmatch.c: New file.
26190 * gnulib/fnmatch.h: Likewise.
26191 * gnulib/fnmatch_loop.c: Likewise.
26192 * gnulib/getopt.c: Likewise.
26193 * gnulib/getopt.h: Likewise.
26194 * gnulib/getopt1.c: Likewise.
26195 * gnulib/getopt_int.h: Likewise.
26196 * gnulib/gettext.h: Likewise.
26197
26198 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26199
26200 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
26201 * normal/handler.c (read_handler_list): Likewise.
26202
26203 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26204
26205 Misc cleanup.
26206
26207 * kern/command.c (grub_register_command_prio): Use
26208 grub_zalloc() instead of explicitly zeroing data.
26209 * kern/list.c: Include `<grub/mm.h>'.
26210 (grub_named_list_find): Replace `0' with `NULL'.
26211 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
26212 (fs_module_list): Change type to `grub_named_list_t'. Update all
26213 users.
26214 * normal/dyncmd.c (read_command_list): Add space between function
26215 call and parenthesis.
26216 * normal/handler.c (read_handler_list): Likewise.
26217
26218 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26219
26220 * normal/auth.c (punishment_delay): Moved from here ...
26221 (grub_auth_strcmp): ... to here (inside function).
26222
26223 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26224
26225 * include/grub/list.h (struct grub_named_list): Remove `const'
26226 qualifier from `name'.
26227 (struct grub_prio_list): Likewise.
26228
26229 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26230
26231 * normal/auth.c: Include `<grub/time.h>'.
26232 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
26233
26234 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26235
26236 * normal/auth.c (punishment_delay): New variable.
26237 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
26238 (grub_auth_check_authentication): Punish failed login attempts with
26239 an incremental (2^N) delay.
26240
26241 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26242
26243 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
26244 path with $(srcdir).
26245
26246 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
26247
26248 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
26249
26250 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26251
26252 * util/i386/coreboot/grub-mkrescue.in: New file.
26253 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
26254 variables.
26255
26256 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
26257 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
26258 * configure.ac: Add header and function checks to satisfy grub-mkisofs
26259 requirements.
26260 * util/mkisofs/defaults.h: New file.
26261 * util/mkisofs/eltorito.c: Likewise.
26262 * util/mkisofs/exclude.h: Likewise.
26263 * util/mkisofs/fnmatch.c: Likewise.
26264 * util/mkisofs/getopt.c: Likewise.
26265 * util/mkisofs/getopt1.c: Likewise.
26266 * util/mkisofs/hash.c: Likewise.
26267 * util/mkisofs/include/fctldefs.h: Likewise.
26268 * util/mkisofs/include/mconfig.h: Likewise.
26269 * util/mkisofs/include/prototyp.h: Likewise.
26270 * util/mkisofs/include/statdefs.h: Likewise.
26271 * util/mkisofs/iso9660.h: Likewise.
26272 * util/mkisofs/joliet.c: Likewise.
26273 * util/mkisofs/match.c: Likewise.
26274 * util/mkisofs/match.h: Likewise.
26275 * util/mkisofs/mkisofs.c: Likewise.
26276 * util/mkisofs/mkisofs.h: Likewise.
26277 * util/mkisofs/multi.c: Likewise.
26278 * util/mkisofs/name.c: Likewise.
26279 * util/mkisofs/rock.c: Likewise.
26280 * util/mkisofs/tree.c: Likewise.
26281 * util/mkisofs/write.c: Likewise.
26282
26283 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
26284
26285 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
26286 being insecure.
26287
26288 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26289
26290 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
26291 `grub-mkimage' (and use $0 when possible).
26292
26293 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26294
26295 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
26296 error message for excessively large memory map.
26297
26298 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26299
26300 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
26301 executable bit.
26302
26303 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26304
26305 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
26306 message for coreboot users.
26307
26308 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
26309
26310 Fix build with GNU gold.
26311
26312 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
26313 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
26314 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
26315 link addresses.
26316 * aclocal.m4: Likewise.
26317
26318 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
26319
26320 * configure.ac (AC_PREREQ): Bump to 2.59d.
26321 * INSTALL: Make it more clear when Autoconf and Ruby are
26322 needed and when to run `./autogen.sh'.
26323
26324 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
26325
26326 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
26327 OSes.
26328
26329 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
26330
26331 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
26332
26333 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
26334
26335 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
26336 giving it to GNU Mach.
26337
26338 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
26339
26340 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
26341 GNU partition number to get internal GRUB partition number.
26342
26343 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
26344
26345 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
26346 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
26347
26348 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
26349
26350 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
26351 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
26352 case.
26353
26354 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
26355
26356 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
26357
26358 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
26359
26360 Fix build problem.
26361
26362 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
26363 `-isystem=$(srcdir)/include'.
26364
26365 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
26366
26367 * util/i386/pc/grub-install.in: Remove hint that device.map should be
26368 checked (grub-install doesn't currently rely on it).
26369
26370 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
26371
26372 Revert SVN r2660.
26373
26374 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
26375 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
26376 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
26377 * conf/i386-ieee1275.rmk: Likewise.
26378 * conf/i386-pc.rmk: Likewise.
26379 * conf/powerpc-ieee1275.rmk: Likewise.
26380 * conf/sparc64-ieee1275.rmk: Likewise.
26381 * conf/x86_64-efi.rmk: Likewise.
26382
26383 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
26384
26385 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
26386
26387 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
26388
26389 * include/grub/misc.h: Stop checking for APPLE_CC.
26390
26391 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
26392
26393 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
26394 doesn't cause an infinite call loop.
26395
26396 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
26397
26398 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
26399 strings.
26400
26401 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26402
26403 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
26404 variable.
26405 * Makefile.in: Likewise.
26406
26407 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26408
26409 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
26410
26411 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26412
26413 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
26414
26415 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26416
26417 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
26418
26419 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26420
26421 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
26422 from here ...
26423 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
26424
26425 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26426
26427 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
26428 in $(MAKEINFO) invocation. This makes it clear in output that
26429 errors are being ignored.
26430
26431 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26432
26433 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
26434 from here ...
26435 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
26436 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
26437 * conf/i386-ieee1275.rmk: Likewise.
26438 * conf/i386-pc.rmk: Likewise.
26439 * conf/powerpc-ieee1275.rmk: Likewise.
26440 * conf/sparc64-ieee1275.rmk: Likewise.
26441 * conf/x86_64-efi.rmk: Likewise.
26442
26443 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
26444
26445 * util/grub-editenv.c (main): If only a command is given, use
26446 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
26447 (usage): FILENAME is now optional and has a default.
26448
26449 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
26450
26451 Improve grub-mkconfig performance when there are several menu
26452 entries on a single filesystem.
26453
26454 * util/grub.d/10_linux.in (linux_entry): Cache the output of
26455 prepare_grub_to_access_device.
26456 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
26457 * util/grub.d/30_os-prober.in: Likewise.
26458
26459 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26460
26461 * util/grub.d/10_freebsd.in: Remove.
26462 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
26463 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
26464
26465 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26466
26467 * docs/grub.cfg: Fix example usage of *BSD loaders.
26468
26469 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26470
26471 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
26472 grub_util_error() call.
26473
26474 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26475
26476 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
26477 `reserved_first_sector' member.
26478 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
26479 `reserved_first_sector' to 1.
26480 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
26481 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
26482 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
26483 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
26484 filesystems which begin at first sector.
26485 (options): New option --skip-fs-probe.
26486 (main): Handle --skip-fs-probe and pass it to setup().
26487
26488 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26489
26490 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
26491 (memset): Fix function prototype.
26492
26493 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26494 2009-10-25 Vasily Averin <vvs@parallels.com>
26495
26496 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
26497 `dirent.direntlen == 0'.
26498
26499 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26500
26501 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
26502 `cpio'.
26503 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
26504
26505 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26506
26507 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
26508 `__trampoline_setup' and `__ucmpdi2'.
26509 * include/grub/powerpc/libgcc.h: Only export symbols for functions
26510 that libgcc provides.
26511
26512 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26513
26514 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
26515 * include/grub/sparc64/libgcc.h (memset): Likewise.
26516 * include/grub/misc.h (memset, memcmp): New function prototypes.
26517
26518 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26519
26520 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
26521 `cpio'.
26522 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
26523
26524 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26525
26526 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
26527 * docs/grub.cfg: Compensate for recent change in multiboot
26528 loader (since 2009-08-14 it won't pass filename to payload).
26529 * util/grub.d/10_hurd.in: Likewise.
26530
26531 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
26532
26533 * config.guess: Update to latest version from config git
26534 repository.
26535 * config.sub: Likewise.
26536
26537 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
26538
26539 Fix build on sparc64.
26540
26541 * configure.ac: Perform checks for libgcc symbols before
26542 adding `-nostdlib' to LDFLAGS.
26543
26544 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
26545
26546 Let user specify OpenBSD root device.
26547
26548 * loader/i386/bsd.c (openbsd_root): New variable.
26549 (openbsd_opts): New option 'root'.
26550 (OPENBSD_ROOT_ARG): New macro.
26551 (grub_openbsd_boot): Use 'openbsd_root'.
26552 (grub_cmd_openbsd): Fill 'openbsd_root'.
26553
26554 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
26555
26556 * NEWS: Misc adjustments.
26557
26558 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
26559
26560 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
26561
26562 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
26563
26564 * configure.ac: Bump version to 1.97.
26565
26566 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
26567
26568 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
26569 -mno-3dnow on x86 architectures. Some toolchains enable these
26570 features by default, but they rely on registers that aren't enabled
26571 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
26572
26573 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
26574
26575 Make entry text a bit more readable.
26576
26577 * util/grub.d/10_linux.in: Add `with' before `Linux'.
26578
26579 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26580
26581 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
26582
26583 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26584
26585 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
26586 operations.
26587
26588 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26589
26590 * configure.ac: Add missing dollar.
26591
26592 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26593
26594 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
26595
26596 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
26597 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
26598 exports.
26599 * include/grub/sparc64/libgcc.h: Likewise. Use
26600 preprocessor conditionals.
26601
26602 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
26603
26604 * conf/common.rmk (grub-dumpbios): Remove rule.
26605 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
26606 * util/grub-dumpbios.in: Remove file.
26607
26608 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
26609
26610 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
26611 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
26612
26613 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
26614 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
26615 users.
26616
26617 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
26618 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
26619 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
26620 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
26621 users.
26622
26623 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
26624
26625 * term/tparm.c: Switch to GPLv3.
26626
26627 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
26628
26629 * include/grub/i386/cpuid.h: Add header protection.
26630
26631 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
26632
26633 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
26634
26635 * include/grub/i386/cpuid.h: New file.
26636 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
26637 (has_longmode): Rename to ...
26638 (grub_cpuid_has_longmode): ... this. Update all users. Remove
26639 `static' attribute.
26640 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
26641 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
26642 on a CPU that doesn't implement AMD64 instruction set.
26643
26644 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
26645
26646 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
26647 that version.texi is rebuilt on version number changes.
26648
26649 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
26650
26651 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
26652 Fixes bug #27602.
26653
26654 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
26655
26656 * util/i386/pc/grub-install.in: Source
26657 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
26658 that the --grub-probe option will work.
26659 * util/sparc64/ieee1275/grub-install.in: Likewise.
26660
26661 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
26662
26663 * configure.ac: Bump version to 1.97~beta4.
26664
26665 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
26666
26667 Resync grub-mkdevicemap in x86_64-efi.
26668
26669 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
26670 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
26671 `util/devicemap.c'.
26672
26673 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
26674
26675 * util/grub-editenv.c (create_envblk_file): Write new block with a
26676 .new suffix and then rename it into place, to ensure atomic
26677 creation.
26678
26679 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
26680
26681 Do not automatically install headers.
26682
26683 * Makefile.in (include_DATA): Remove. Update all users.
26684
26685 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
26686
26687 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
26688 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
26689
26690 * util/osdetect.lua: Remove.
26691 * script/lua/lauxlib.c: Likewise.
26692 * script/lua/ldebug.c: Likewise.
26693 * script/lua/grub_main.c: Likewise.
26694 * script/lua/lauxlib.h: Likewise.
26695 * script/lua/ldebug.h: Likewise.
26696 * script/lua/ltablib.c: Likewise.
26697 * script/lua/liolib.c: Likewise.
26698 * script/lua/lstrlib.c: Likewise.
26699 * script/lua/lualib.h: Likewise.
26700 * script/lua/ldo.c: Likewise.
26701 * script/lua/ldump.c: Likewise.
26702 * script/lua/ldo.h: Likewise.
26703 * script/lua/loslib.c: Likewise.
26704 * script/lua/lundump.c: Likewise.
26705 * script/lua/grub_lib.c: Likewise.
26706 * script/lua/ldblib.c: Likewise.
26707 * script/lua/lundump.h: Likewise.
26708 * script/lua/lmem.c: Likewise.
26709 * script/lua/grub_lib.h: Likewise.
26710 * script/lua/lmathlib.c: Likewise.
26711 * script/lua/lstate.c: Likewise.
26712 * script/lua/ltm.c: Likewise.
26713 * script/lua/lvm.c: Likewise.
26714 * script/lua/lmem.h: Likewise.
26715 * script/lua/lstate.h: Likewise.
26716 * script/lua/ltm.h: Likewise.
26717 * script/lua/ltable.c: Likewise.
26718 * script/lua/lvm.h: Likewise.
26719 * script/lua/llex.c: Likewise.
26720 * script/lua/lgc.c: Likewise.
26721 * script/lua/grub_lua.h: Likewise.
26722 * script/lua/loadlib.c: Likewise.
26723 * script/lua/lfunc.c: Likewise.
26724 * script/lua/lopcodes.c: Likewise.
26725 * script/lua/lparser.c: Likewise.
26726 * script/lua/ltable.h: Likewise.
26727 * script/lua/llex.h: Likewise.
26728 * script/lua/lgc.h: Likewise.
26729 * script/lua/lfunc.h: Likewise.
26730 * script/lua/lbaselib.c: Likewise.
26731 * script/lua/lopcodes.h: Likewise.
26732 * script/lua/lparser.h: Likewise.
26733 * script/lua/lzio.c: Likewise.
26734 * script/lua/linit.c: Likewise.
26735 * script/lua/lobject.c: Likewise.
26736 * script/lua/llimits.h: Likewise.
26737 * script/lua/lstring.c: Likewise.
26738 * script/lua/lzio.h: Likewise.
26739 * script/lua/lapi.c: Likewise.
26740 * script/lua/lcode.c: Likewise.
26741 * script/lua/lua.h: Likewise.
26742 * script/lua/lobject.h: Likewise.
26743 * script/lua/lstring.h: Likewise.
26744 * script/lua/lapi.h: Likewise.
26745 * script/lua/lcode.h: Likewise.
26746 * script/lua/luaconf.h: Likewise.
26747
26748 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
26749
26750 * docs/grub.texi (Command-line and menu entry commands): Document
26751 date and echo commands.
26752
26753 2009-09-24 Pavel Roskin <proski@gnu.org>
26754
26755 * include/grub/kernel.h (struct grub_module_header): Remove
26756 `grub_module_header_types'. Make `type' unsigned. Make `size'
26757 32-bit on all platforms.
26758 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
26759 8-bit field. Use grub_host_to_target32() for `size'.
26760 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
26761 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
26762 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
26763
26764 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
26765
26766 Fix "lost keypress" bug in at_keyboard.
26767
26768 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
26769 Checks for readyness of input buffer (without flushing it).
26770 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
26771 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
26772
26773 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
26774
26775 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
26776 size check within GRUB_MACHINE_PCBIOS section.
26777
26778 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
26779
26780 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
26781 return value.
26782 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
26783 KEYBOARD_ISREADY check.
26784 (grub_at_keyboard_checkkey): Rename to ...
26785 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
26786 Remove gratuitous cast.
26787
26788 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
26789
26790 * configure.ac: Call AC_PROG_MKDIR_P.
26791 * Makefile.in (docs/stamp-vti): Create docs directory. Create
26792 version.texi in $(builddir) rather than $(srcdir).
26793 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
26794 to makeinfo's @include search path.
26795
26796 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
26797
26798 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
26799
26800 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
26801
26802 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
26803 for `*.dpkg-new'.
26804
26805 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
26806
26807 Build info documentation. Some code borrowed from Automake.
26808
26809 * configure.ac: Check for makeinfo.
26810 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
26811 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
26812 docs/version.texi.
26813 (MOSTLYCLEANFILES): Add vti.tmp.
26814 (docs/version.texi, docs/stamp-vti): Update automatically.
26815 (docs/grub.info): Build info documentation. Use --force and ignore
26816 errors for now.
26817 (all-local): Add $(INFOS).
26818 (install-local): Install info files.
26819 (uninstall): Uninstall info files.
26820 * docs/version.texi: Remove from revision control. This file is
26821 automatically generated on build now.
26822 * gendistlist.sh: Add `*.info'.
26823
26824 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
26825
26826 * kern/term.c: Fix indentation.
26827
26828 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
26829
26830 * util/hostdisk.c: Fix a comment.
26831
26832 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
26833
26834 Fix regression introduced in r2539.
26835
26836 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
26837 to 0xA1.
26838
26839 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
26840
26841 * util/grub.d/30_os-prober.in: Don't throw away stderr from
26842 os-prober. Under normal operation, it does not print anything to
26843 stderr; if it does, we need to debug it, and throwing away stderr
26844 makes that excessively difficult.
26845
26846 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
26847
26848 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
26849
26850 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
26851
26852 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
26853 AC_LANG_PROGRAM from autoconf.
26854 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
26855 prototypes (fixes warning).
26856
26857 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
26858 `--disable-werror' was used.
26859
26860 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
26861
26862 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
26863 uninitialized `lastaddr'.
26864
26865 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
26866
26867 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
26868
26869 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
26870
26871 * commands/test.c (get_fileinfo): Return immediately if
26872 grub_fs_probe fails.
26873
26874 2009-09-14 José Martínez <xosemp@gmail.com>
26875
26876 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
26877
26878 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
26879
26880 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
26881 output.
26882
26883 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
26884
26885 * configure.ac: Remove --enable-grub-pe2elf. Only build
26886 grub-pe2elf when needed by the build system itself.
26887 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
26888
26889 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
26890
26891 * configure.ac: Bump version to 1.97~beta3.
26892 * docs/version.texi: Likewise.
26893
26894 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
26895
26896 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
26897 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
26898 from here ...
26899 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
26900 (grub_linux_setup_video): ... to here (with some adjustments).
26901
26902 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
26903
26904 Fix memory corruption issue (spotted by Colin Watson).
26905
26906 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
26907 causing returned size to be stored in an incorrect memory location.
26908 Fix use of uninitialized value when storing the returned size.
26909
26910 2009-09-12 Yves Blusseau <blusseau@zetam.org>
26911
26912 Change clean rules to properly remove files
26913
26914 * genmk.rb: add new clean rules
26915 * Makefile.in (clean): add the new targets
26916 (mostlyclean): likewise
26917
26918 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
26919
26920 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
26921 to grub_uint64_t.
26922 * fs/ntfs.c (init_file): Understand 64-bit sizes for
26923 non-resident files.
26924
26925 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
26926
26927 * configure.ac: Don't look for help2man when cross-compiling. Fixes
26928 part of bug #27349.
26929
26930 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
26931
26932 * util/grub-mkconfig.in: Make the created config mode 400 and
26933 print a warning if it fails.
26934
26935 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
26936
26937 * util/grub.d/40_custom.in: Ask user to type custom entries below
26938 comment, rather than below 'exec tail' line.
26939
26940 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
26941
26942 * util/grub.d/40_custom.in: Make sure that the explanatory text is
26943 visible in grub.cfg.
26944
26945 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
26946
26947 * util/grub.d/40_custom.in: Make it a little clearer how to use this
26948 file.
26949
26950 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
26951
26952 * docs/grub.cfg: Add an example menu entry for memtest86+.
26953
26954 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
26955
26956 * config.guess: Update to latest version from config git.
26957 * config.sub: Likewise.
26958
26959 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
26960
26961 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
26962 unknown-command case. Fixes bug #27320.
26963
26964 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
26965
26966 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
26967 `help' if the command exists.
26968
26969 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
26970
26971 * INSTALL: Require GCC 4.1.3 or later.
26972
26973 2009-09-06 Yves Blusseau <blusseau@zetam.org>
26974
26975 * Makefile.in (RMKFILES): add i386-qemu.rmk
26976 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
26977 $(srcdir)/stamp-h.in
26978
26979 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
26980
26981 * util/grub-probe.c (probe): Comment out buggy codepath, which
26982 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
26983 should be re-enabled after 1.97.
26984
26985 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
26986
26987 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
26988 find searches for.
26989
26990 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
26991
26992 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
26993 unnecessary calls to grub_error.
26994
26995 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
26996
26997 * NEWS: Mention `keystatus' and Unicode fonts.
26998
26999 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
27000
27001 * configure.ac: Bump version to 1.97~beta2.
27002 * docs/version.texi: Likewise.
27003
27004 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
27005
27006 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
27007 containing unwind information in some cases where it previously did
27008 not. Use -fno-dwarf2-cfi-asm if available to restore the old
27009 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
27010 discussion.
27011
27012 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
27013
27014 Embedding loadenv module into grub-emu
27015
27016 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
27017 commands/loadenv.c
27018 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
27019 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
27020 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
27021 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
27022 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
27023 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
27024
27025 2009-09-03 Magnus Granberg <zorry@ume.nu>
27026
27027 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
27028 include -fPIE in the default specs.
27029 * configure.ac: Check if pie_possible is yes and add -fno-PIE
27030 to TARGET_CFLAGS.
27031
27032 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
27033
27034 * INSTALL: Note that GNU Bison 2.3 or later is required.
27035
27036 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
27037
27038 * kern/i386/pc/startup.S: Fix typo.
27039
27040 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
27041
27042 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
27043 according to GCS.
27044
27045 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
27046
27047 * docs/grub.texi (Naming convention): Describe one-based partition
27048 numbering.
27049 (Device syntax): Likewise.
27050 (File name syntax): Likewise.
27051 (Block list syntax): Likewise.
27052 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
27053 menu.lst.
27054 (File name syntax): Likewise.
27055 (Command-line and menu entry commands): Document acpi, blocklist,
27056 crc, export, insmod, keystatus, ls, set, and unset commands.
27057
27058 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
27059
27060 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
27061 to avoid implying that only one of --shift, --ctrl, or --alt may be
27062 used.
27063
27064 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
27065
27066 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
27067 rather than comparing against S_IFREG, which will almost never work.
27068
27069 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
27070
27071 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
27072 (write_blocklists): Likewise.
27073
27074 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
27075
27076 * script/lua/grub_lua.h (fputs): Supply a format string as the first
27077 argument to grub_printf.
27078
27079 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
27080
27081 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
27082 non GNU test.
27083
27084 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
27085
27086 * kern/file.c (grub_file_read): Spelling fix
27087
27088 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
27089
27090 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
27091 loading of headers in some cases.
27092
27093 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
27094
27095 * configure.ac: Bump version to 1.97~beta1.
27096 * docs/version.texi: Likewise.
27097
27098 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
27099
27100 * include/grub/i386/xnu.h: Add license header.
27101 include grub/err.h explicitly.
27102
27103 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
27104
27105 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
27106 to `ufs' in the vfs.root.mountfrom kernel parameter.
27107
27108 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
27109
27110 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
27111
27112 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
27113 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
27114
27115 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
27116 `ARRAY_SIZE' macro.
27117
27118 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
27119
27120 * kern/file.c (grub_file_read): Check offset.
27121 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
27122 * fs/jfs.c (grub_jfs_read_file): Likewise.
27123 * fs/ntfs.c (grub_ntfs_read): Likewise.
27124 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
27125 * fs/minix.c (grub_minix_read_file): Correct offset check.
27126 * fs/ufs.c (grub_ufs_read_file): Likewise.
27127
27128 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
27129
27130 * term/i386/pc/console.c (bios_data_area): Cast
27131 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
27132
27133 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
27134
27135 1-bit optimised blitters.
27136
27137 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
27138 prototype.
27139 (grub_video_fbblit_replace_24bit_1bit): Likewise.
27140 (grub_video_fbblit_replace_16bit_1bit): Likewise.
27141 (grub_video_fbblit_replace_8bit_1bit): Likewise.
27142 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
27143 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
27144 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
27145 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
27146 function.
27147 (grub_video_fbblit_replace_24bit_1bit): Likewise.
27148 (grub_video_fbblit_replace_16bit_1bit): Likewise.
27149 (grub_video_fbblit_replace_8bit_1bit): Likewise.
27150 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
27151 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
27152 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
27153 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
27154 when possible.
27155 * video/video.c (grub_video_get_blit_format): Return
27156 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
27157
27158 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
27159
27160 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
27161 the first argument to grub_printf.
27162
27163 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
27164 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
27165
27166 Add `getkeystatus' terminal method. Add a new `keystatus' command
27167 to query it.
27168
27169 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
27170 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
27171 modifier key bitmasks.
27172 (struct grub_term_input): Add `getkeystatus' member.
27173 (grub_getkeystatus): Add prototype.
27174 * kern/term.c (grub_getkeystatus): New function.
27175
27176 * include/grub/i386/pc/memory.h
27177 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
27178 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
27179 Data Area layout.
27180 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
27181 (grub_console_term_input): Set `getkeystatus' member.
27182 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
27183 constants.
27184 (grub_usb_keyboard_getreport): Likewise.
27185 (grub_usb_keyboard_checkkey): Likewise.
27186 (grub_usb_keyboard_getkeystatus): New function.
27187 (grub_usb_keyboard_term): Set `getkeystatus' member.
27188
27189 * commands/keystatus.c: New file.
27190 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
27191 (keystatus_mod_SOURCES): New variable.
27192 (keystatus_mod_CFLAGS): Likewise.
27193 (keystatus_mod_LDFLAGS): Likewise.
27194 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
27195 commands/keystatus.c.
27196 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27197 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27198 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27199 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27200 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27201 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27202
27203 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
27204
27205 Split befs.mod and afs.mod into *_be.mod and *.mod
27206
27207 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
27208 (grub_fstest_SOURCES): Likewise.
27209 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
27210 (afs_be_mod_SOURCES): New variable.
27211 (afs_be_mod_CFLAGS): Likewise.
27212 (afs_be_mod_LDFLAGS): Likewise.
27213 (befs_be_mod_SOURCES): Likewise.
27214 (befs_be_mod_CFLAGS): Likewise.
27215 (befs_be_mod_LDFLAGS): Likewise.
27216 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
27217 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27218 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27219 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
27220 (grub_emu_SOURCES): Likewise.
27221 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27222 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27223 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27224 * fs/afs_be.c: New file.
27225 * fs/befs_be.c: New file.
27226 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
27227 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
27228 (U16): Replaced with ...
27229 (grub_afs_to_cpu16): ...this. All users updated.
27230 (U32): Replaced with ...
27231 (grub_afs_to_cpu32): ...this. All users updated.
27232 (U64): Replaced with ...
27233 (grub_afs_to_cpu64): ...this. All users updated.
27234 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
27235 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
27236 (grub_afs_validate_sblock): Check only one endianness.
27237 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
27238 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
27239 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
27240 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
27241 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
27242 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
27243 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
27244 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
27245
27246 2009-08-26 Bean <bean123ch@gmail.com>
27247
27248 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
27249 64-bit number.
27250 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
27251 (grub_xfs_inode_block): Change return type to grub_uint64_t.
27252 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
27253
27254 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27255
27256 NetBSD memory map support.
27257
27258 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
27259 (grub_netbsd_btinfo_mmap_header): New structure.
27260 (grub_netbsd_btinfo_mmap_entry): Likewise.
27261 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
27262
27263 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27264
27265 Enable bsd.mod on coreboot.
27266
27267 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
27268 (bsd_mod_SOURCES): New variable.
27269 (bsd_mod_CFLAGS): Likewise.
27270 (bsd_mod_LDFLAGS): Likewise.
27271 (bsd_mod_ASFLAGS): Likewise.
27272 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
27273 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
27274
27275 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27276
27277 Cleanup NetBSD root support.
27278
27279 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
27280 grub_bsd_get_device.
27281 Fix typo.
27282
27283 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
27284
27285 * util/grub.d/00_header.in: Move check for the video backend of
27286 gfxterm from here ...
27287 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
27288 a suitable video backend.
27289
27290 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27291
27292 Fix breakage in grub-setup.
27293
27294 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
27295 "msdos_partition_map".
27296
27297 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27298
27299 Fix breakage in normal/auth.c.
27300
27301 * normal/auth.c (grub_iswordseparator): New function.
27302
27303 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27304
27305 Authentication support.
27306
27307 * commands/password.c: New file.
27308 * conf/common.rmk (pkglib_MODULES): Add password.mod.
27309 (password_mod_SOURCES): New variable.
27310 (password_mod_CFLAGS): Likewise.
27311 (password_mod_LDFLAGS): Likewise.
27312 (normal_mod_SOURCES): Add normal/auth.c.
27313 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
27314 normal/auth.c.
27315 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27316 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27317 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27318 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27319 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27320 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27321 * include/grub/auth.h: New file.
27322 * include/grub/err.h (grub_err_t): New enum value
27323 GRUB_ERR_ACCESS_DENIED.
27324 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
27325 'users'.
27326 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
27327 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
27328 users updated.
27329 * normal/auth.c: New file.
27330 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
27331 (grub_cmdline_run): Don't allow to go to command line without
27332 authentication.
27333 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
27334 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
27335 menuentry without superuser rights.
27336 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
27337 user isn't a superuser.
27338
27339 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27340
27341 Save space by inlining misc.c functions.
27342
27343 * kern/misc.c (grub_iswordseparator): Made static.
27344 * kern/misc.c (grub_strcat): Moved from here ...
27345 * include/grub/misc.h (grub_strcat): ... here. Inlined.
27346 * kern/misc.c (grub_strncat): Moved from here ...
27347 * include/grub/misc.h (grub_strncat): ... here. Inlined.
27348 * kern/misc.c (grub_strcasecmp): Moved from here ...
27349 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
27350 * kern/misc.c (grub_strncasecmp): Moved from here ...
27351 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
27352 * kern/misc.c (grub_isalpha): Moved from here ...
27353 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
27354 * kern/misc.c (grub_isdigit): Moved from here ...
27355 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
27356 * kern/misc.c (grub_isgraph): Moved from here ...
27357 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
27358 * kern/misc.c (grub_tolower): Moved from here ...
27359 * include/grub/misc.h (grub_tolower): ... here. Inlined.
27360
27361 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27362
27363 * script/sh/function.c (grub_script_function_find): Cut error message
27364 not to flood terminal.
27365 * script/sh/lexer.c (grub_script_yylex): Remove command line length
27366 limit.
27367 * script/sh/script.c (grub_script_arg_add): Duplicate string.
27368
27369 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
27370
27371 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
27372 `report' grub_uint8_t *.
27373 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
27374 Use a 50-millisecond timeout rather than just repeating
27375 grub_usb_keyboard_getreport 50 times.
27376 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
27377
27378 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27379
27380 Rename *_partition_map to part_*
27381
27382 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
27383 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
27384 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
27385 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
27386 All users updated.
27387 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
27388 All users updated.
27389 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
27390 * util/grub-probe.c (probe_partmap): Don't transform partition name
27391 to get module name.
27392
27393 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27394
27395 Fix OpenBSD and NetBSD support.
27396
27397 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
27398 memory address conflict.
27399 (OPENBSD_MMAP_ACPI): New definition.
27400 (OPENBSD_MMAP_NVS): Likewise.
27401 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
27402 and OPENBSD_MMAP_NVS.
27403 Add memory map terminator
27404 Explicit cast when calling grub_unix_real_boot.
27405 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
27406
27407 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27408
27409 Let user specify NetBSD root device.
27410
27411 * loader/i386/bsd.c (netbsd_root): New variable.
27412 (netbsd_opts): New option 'root'.
27413 (NETBSD_ROOT_ARG): New macro.
27414 (grub_netbsd_boot): Use 'netbsd_root'.
27415 (grub_bsd_unload): Free 'netbsd_root'.
27416 (grub_cmd_netbsd): Fill 'netbsd_root'.
27417
27418 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27419
27420 Support for 64-bit NetBSD.
27421
27422 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
27423 point when booting non-FreeBSD.
27424
27425 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27426
27427 Support --no-smp and --no-acpi for NetBSD.
27428
27429 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
27430 (NETBSD_AB_NOACPI): Likewise.
27431 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
27432 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
27433
27434 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
27435
27436 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
27437 errors.
27438 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
27439 errors. Call grub_error when needed.
27440
27441 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
27442
27443 * commands/search.c (search_fs): Try searching without autoload first.
27444 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
27445 filesystem module explicitly for faster booting.
27446
27447 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
27448
27449 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
27450
27451 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
27452
27453 * util/grub.d/30_os-prober.in: Disable os-prober if
27454 `GRUB_DISABLE_OS_PROBER' was set to true.
27455
27456 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
27457
27458 * partmap/pc.c: Rename to ...
27459 * partmap/msdos.c: ... this. Update all users.
27460 (grub_pc_partition_map): Rename to ...
27461 (grub_msdos_partition_map): ... this. Update all users.
27462
27463 * parttool/pcpart.c: Rename to ...
27464 * parttool/msdospart.c: ... this. Update all users.
27465
27466 * include/grub/pc_partition.h: Rename to ...
27467 * include/grub/msdos_partition.h: ... this. Update all users.
27468 (grub_pc_partition_bsd_entry): Rename to ...
27469 (grub_msdos_partition_bsd_entry): ... this. Update all users.
27470 (grub_pc_partition_disk_label): Rename to ...
27471 (grub_msdos_partition_disk_label): ... this. Update all users.
27472 (grub_pc_partition_entry): Rename to ...
27473 (grub_msdos_partition_entry): ... this. Update all users.
27474 (grub_pc_partition_mbr): Rename to ...
27475 (grub_msdos_partition_mbr): ... this. Update all users.
27476 (grub_pc_partition): Rename to ...
27477 (grub_msdos_partition): ... this. Update all users.
27478 (grub_pc_partition_is_empty): Rename to ...
27479 (grub_msdos_partition_is_empty): ... this. Update all users.
27480 (grub_pc_partition_is_extended): Rename to ...
27481 (grub_msdos_partition_is_extended): ... this. Update all users.
27482 (grub_pc_partition_is_bsd): Rename to ...
27483 (grub_msdos_partition_is_bsd): ... this. Update all users.
27484
27485 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
27486 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
27487 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
27488 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
27489 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
27490 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
27491 (gpt_mod_LDFLAGS): Rename to ...
27492 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
27493 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
27494 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
27495 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
27496 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
27497 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
27498 (part_gpt_mod_LDFLAGS): ... this.
27499 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
27500 `pcpart.mod' to `msdospart.mod'.
27501 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
27502 to ...
27503 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
27504 (msdospart_mod_LDFLAGS): ... this.
27505
27506 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
27507
27508 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
27509 (openbsd_opts): Likewise.
27510 (netbsd_opts): Likewise.
27511 (freebsd_flags): Added 0 terminator.
27512 (openbsd_flags): Likewise.
27513 (netbsd_flags): Likewise.
27514 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
27515 (grub_cmd_freebsd): Transformed into extended command.
27516 (grub_cmd_openbsd): Likewise.
27517 (grub_cmd_netbsd): Likewise.
27518 (cmd_freebsd): Changed type to grub_extcmd_t.
27519 (cmd_openbsd): Likewise.
27520 (cmd_netbsd): Likewise.
27521 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
27522 grub_cmd_openbsd as extended commands.
27523 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
27524 cmd_netbsd and cmd_openbsd
27525
27526 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
27527
27528 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
27529
27530 2009-08-21 Pavel Roskin <proski@gnu.org>
27531
27532 * Makefile.in (install-local): When checking if a file is in the
27533 build directory, use "test -e" to detect symlinks.
27534
27535 * Makefile.in (install-local): Remove all files in
27536 $(DESTDIR)$(pkglibdir) before installing new files there.
27537
27538 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
27539
27540 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
27541 grub-mkelfimage.
27542
27543 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
27544
27545 * util/grub-mkconfig.in: Don't use gfxterm by default if not
27546 explicitly specified by the user.
27547
27548 2009-08-18 Pavel Roskin <proski@gnu.org>
27549
27550 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
27551 grub_uint8_t pointer for data.
27552 * include/grub/fbutil.h (struct grub_video_fbblit_info):
27553 Likewise.
27554 * video/fb/fbutil.c: Remove unnecessary casts.
27555
27556 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
27557
27558 VBE cleanup.
27559
27560 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
27561 (grub_vbe_set_video_mode): Save active mode info
27562 only after setting the mode.
27563 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
27564 second argument.
27565
27566 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
27567
27568 Rename variables for clarity.
27569
27570 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
27571 (active_vbe_mode_info): ... this. All users updated.
27572 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
27573 All users updated.
27574 (initial_mode): Rename to ...
27575 (initial_vbe_mode): ... this. All users updated.
27576 (mode_in_use): Rename to ..
27577 (vbe_mode_in_use): ... this. All users updated.
27578 (mode_list): Rename to ..
27579 (vbe_mode_list): ... this. All users updated.
27580 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
27581 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
27582 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
27583 'mode_list_size' to 'vbe_mode_list_size'.
27584 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
27585 'best_mode_info' to 'best_vbe_mode_info' and
27586 'best_mode' to 'best_vbe_mode'
27587
27588 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
27589
27590 Remove duplicate grub_video_fb_get_video_ptr.
27591
27592 * include/grub/fbutil.h (get_data_ptr): Rename to ...
27593 (grub_video_fb_get_video_ptr): ... this.
27594 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
27595 * video/fb/fbutil.c: Add comment about addressing.
27596 (get_data_ptr): Rename to ...
27597 (grub_video_fb_get_video_ptr): ... this. All users updated.
27598 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
27599
27600 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
27601
27602 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
27603 grub_dprintf() that was just added.
27604
27605 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
27606
27607 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
27608 (DEFAULT_VIDEO_MODE): Remove macros.
27609 (grub_linux_boot): Remove assumption that Linux has FB support,
27610 and use "text" as default video mode.
27611
27612 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
27613
27614 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
27615 grub_dprintf.
27616 * fs/fat.c (grub_fat_read_data): Likewise.
27617
27618 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27619
27620 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
27621 payload.
27622 (grub_module): Likewise.
27623
27624 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27625
27626 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
27627 mbi->cmdline but free playground.
27628
27629 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27630
27631 Handle group offset on UFS1.
27632
27633 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
27634 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
27635
27636 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27637
27638 Split ufs.mod into ufs1.mod and ufs2.mod.
27639
27640 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
27641 (grub_fstest_SOURCES): Likewise.
27642 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
27643 (ufs_mod_SOURCES): Remove.
27644 (ufs_mod_CFLAGS): Likewise.
27645 (ufs_mod_LDFLAGS): Likewise.
27646 (ufs1_mod_SOURCES): New variable.
27647 (ufs1_mod_CFLAGS): Likewise.
27648 (ufs1_mod_LDFLAGS): Likewise.
27649 (ufs2_mod_SOURCES): New variable.
27650 (ufs2_mod_CFLAGS): Likewise.
27651 (ufs2_mod_LDFLAGS): Likewise.
27652 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
27653 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
27654 Likewise.
27655 (grub_emu_SOURCES): Likewise.
27656 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27657 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27658 (grub_setup_SOURCES): Likewise.
27659 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27660 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
27661 (grub_setup_SOURCES): Likewise.
27662 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
27663 Likewise.
27664 * fs/ufs2.c: New file.
27665 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
27666
27667 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27668
27669 Framebuffer split.
27670
27671 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
27672 subsystem at the end.
27673 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
27674 (video_fb_mod_SOURCES): New variable.
27675 (video_fb_mod_CFLAGS): Likewise.
27676 (video_fb_mod_LDFLAGS): Likewise.
27677 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
27678 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
27679 * video/i386/pc/vbeblit.c: Moved from here ...
27680 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
27681 * video/i386/pc/vbefill.c: Moved from here ...
27682 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
27683 * video/i386/pc/vbeutil.c: Moved from here ...
27684 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
27685 * include/grub/i386/pc/vbeblit.h: Moved from here ...
27686 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
27687 * include/grub/i386/pc/vbefill.h: Moved from here ...
27688 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
27689 * include/grub/i386/pc/vbeutil.h: Moved from here ...
27690 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
27691 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
27692 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
27693 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
27694 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
27695 (grub_video_adapter): Added 'get_info_and_fini'.
27696 (grub_video_get_info_and_fini): New prototype.
27697 (grub_video_set_mode): make modestring const char *.
27698 * loader/i386/linux.c (grub_linux_setup_video): Use
27699 grub_video_get_info_and_fini.
27700 (grub_linux_boot): Move modesetting just before booting.
27701 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
27702 grub_video_get_info_and_fini.
27703 * video/i386/pc/vbe.c: Moved framebuffer part ...
27704 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
27705 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
27706 grub_video_fbstd_colors and grub_video_fb_set_palette.
27707 (grub_video_vbe_init): Clear 'framebuffer' variable and use
27708 grub_video_fb_init.
27709 (grub_video_vbe_fini): Use grub_video_fb_fini.
27710 (grub_video_vbe_setup): Use framebuffer.render_target instead of
27711 render_target and use grub_video_fb_set_active_render_target and
27712 grub_video_fb_set_palette.
27713 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
27714 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
27715 (grub_video_vbe_adapter): Use framebuffer.
27716 * video/video.c (grub_video_get_info_and_fini): New function.
27717 (grub_video_set_mode): Make modestring const char *.
27718 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
27719 values are already initialised.
27720
27721 2009-08-14 Pavel Roskin <proski@gnu.org>
27722
27723 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
27724 ABS and APPLE_CC.
27725 * boot/i386/pc/diskboot.S: Likewise.
27726 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
27727 sectors allow compilation on MacOSX.
27728 * conf/i386-pc.rmk: Enable unconditional compilation of
27729 lnxboot.img.
27730
27731 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
27732
27733 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
27734 * util/grub.d/00_header.in: Enter interruptible sleep if
27735 GRUB_HIDDEN_TIMEOUT is set.
27736
27737 2009-08-13 Yves Blusseau <blusseau@zetam.org>
27738
27739 * include/grub/symbol.h: Add the LOCAL macro.
27740 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
27741 starting with "L_".
27742
27743 2009-08-13 Pavel Roskin <proski@gnu.org>
27744
27745 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
27746 any modern compilers we support.
27747
27748 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
27749 Use local labels starting with "L_" so that Apple assembler
27750 knows they are local.
27751
27752 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
27753
27754 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
27755 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
27756 (bsd_kernel_types): ... this enum.
27757
27758 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
27759 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
27760 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
27761
27762 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
27763 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
27764 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
27765 messages.
27766
27767 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
27768
27769 * util/grub-dumpdevtree: Moved from here ...
27770 * util/i386/efi/grub-dumpdevtree: ... to here.
27771 (hexify): New function. Converts a string to its hex version.
27772 Generate hex versions of "efi" and "device-properties" by calling
27773 hexify() on the ASCII strings rather than by hardcoding numbers.
27774
27775 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
27776
27777 * fs/jfs.c: Update copyright year.
27778
27779 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
27780
27781 * util/grub.d/00_header.in: Fix a comment.
27782 * util/grub.d/10_linux.in: Likewise.
27783 * util/grub.d/10_windows.in: Likewise.
27784 * util/grub.d/10_hurd.in: Likewise.
27785
27786 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
27787
27788 * util/grub-mkconfig.in: Allow the user to specify the used font
27789 with GRUB_FONT.
27790
27791 2009-08-08 Pavel Roskin <proski@gnu.org>
27792
27793 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
27794 available, xfs.mod needs it now.
27795
27796 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
27797 the "g" modifier in sed when the intention is to strip something
27798 once. This fixes comparison of kernels with multiple dashes.
27799
27800 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
27801 on it. Add missing space before closing bracket. Fix
27802 misleading formatting.
27803
27804 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27805
27806 * docs/grub.texi: Major overhaul. Remove all sections that are
27807 specific to GRUB Legacy, or mostly composed of Legacy-specific
27808 information.
27809
27810 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27811
27812 * docs/version.texi: New file. Provides version information for
27813 grub.texi.
27814
27815 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27816
27817 * docs/grub.texi: Update CVS information to SVN.
27818 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
27819
27820 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
27821
27822 * util/grub-mkconfig.in: Remove a wrong `fi'.
27823
27824 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
27825
27826 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
27827 (grub_jfs_uuid): New function.
27828 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
27829
27830 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
27831
27832 * util/grub-mkconfig_lib.in (font_path): Move the functionality
27833 of it to ...
27834 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
27835 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
27836
27837 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27838
27839 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
27840 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
27841 Update all users.
27842
27843 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
27844 not just "vmlinu[zx]".
27845 Moved from here ...
27846 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
27847 all users.
27848
27849 * util/grub.d/10_linux.in (find_latest): Moved from here ...
27850 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
27851 all users.
27852
27853 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27854
27855 * util/grub.d/10_freebsd.in: Use an absolute device path for
27856 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
27857
27858 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
27859
27860 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
27861 handling of multiple abstraction modules.
27862
27863 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
27864
27865 Fix a bug resulting in black screen when loading Linux using a
27866 packed video mode.
27867
27868 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
27869 function.
27870
27871 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
27872 (grub_vbe_bios_getset_dac_palette_width): New function.
27873 (grub_vbe_bios_get_dac_palette_width)
27874 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
27875 grub_vbe_bios_getset_dac_palette_width()).
27876
27877 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
27878 check for return status.
27879 (grub_vbe_get_video_mode_info): When getting information for a packed
27880 mode (<= 8 bpp), obtain DAC palette width using
27881 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
27882 {red,green,blue}_mark_size.
27883
27884 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
27885
27886 * commands/search.c (options): Fix help output to match actual code.
27887
27888 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
27889
27890 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
27891 of homegrown code.
27892
27893 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
27894
27895 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
27896 on XFS or ReiserFS.
27897
27898 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
27899
27900 Support Apple partition map with sector size different from 512 bytes.
27901
27902 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
27903 (apple_partition_map_iterate): Respect 'aheader.blocksize'
27904 and 'apart.partmap_size'.
27905
27906 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
27907 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
27908
27909 Fix cpuid command.
27910
27911 * commands/i386/cpuid.c (options): New variable.
27912 (grub_cmd_cpuid): Return real error.
27913 (GRUB_MOD_INIT(cpuid)): Declare options.
27914
27915 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
27916
27917 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
27918 valid.
27919
27920 2009-07-31 Bean <bean123ch@gmail.com>
27921
27922 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
27923 log2_inode.
27924 (grub_fshelp_node): Move inode field to the end.
27925 (grub_xfs_data): Remove inode field.
27926 (grub_xfs_inode_block): Calculate inode size using sblock.
27927 (grub_xfs_inode_offset): Likewise.
27928 (grub_xfs_read_inode): Calculate inode size using sblock.
27929 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
27930 (grub_xfs_iterate_dir): Calculate inode size using sblock.
27931 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
27932 to match inode size.
27933 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
27934 not accessible when data is null.
27935 (grub_xfs_open): Likewise.
27936
27937 2009-07-31 Bean <bean123ch@gmail.com>
27938
27939 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
27940 Don't change pv->disk if it's already set.
27941
27942 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
27943 (grub_raid_register): ... here.
27944 (grub_raid_rescan): Removed.
27945
27946 * include/grub/raid.h (grub_raid_rescan): Removed.
27947
27948 * util/grub-fstest.c: Remove include file <grub/raid.h>.
27949 (fstest): Replace grub_raid_rescan with module fini function followed
27950 by init function.
27951
27952 * util/grub-probe.c: Add include file <grub/raid.h>.
27953 (probe_raid_level): New function.
27954 (probe): Detect abstraction by walking the disk device, support two
27955 level of abstraction (LVM on RAID) when detecting partition map.
27956
27957 2009-07-31 Pavel Roskin <proski@gnu.org>
27958
27959 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
27960 to grub_zalloc(), it was erroneous.
27961 Reported by Bean <bean123ch@gmail.com>
27962
27963 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
27964
27965 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
27966 embedding zone, not only the first one.
27967
27968 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
27969
27970 * term/gfxterm.c (clear_char): New function.
27971 (grub_virtual_screen_setup): Use clear_char.
27972 (scroll_up): Likewise.
27973 (grub_virtual_screen_cls): Likewise.
27974
27975 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
27976
27977 * util/deviceiter.c (get_acceleraid_disk_name): New static
27978 function.
27979 (grub_util_iterate_devices): Handle Accelraid devices.
27980 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
27981
27982 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
27983
27984 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
27985 separator for the suggested gfxpayload string (';' collides with the
27986 parser and needs escaping).
27987
27988 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
27989
27990 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
27991 Clear direction flag before jumping to OS.
27992 (grub_multiboot2_real_boot): Likewise.
27993
27994 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
27995
27996 * util/i386/pc/grub-install: Fix parsing of --disk-module
27997 option.
27998
27999 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
28000
28001 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
28002 when embedding.
28003
28004 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
28005
28006 * util/grub-mkconfig.in (package_version): New variable.
28007 Use it do display the version.
28008
28009 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
28010
28011 * kern/file.c (grub_file_open): Revert to previous check with
28012 grub_errno.
28013
28014 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
28015
28016 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
28017 from help line. It's out of sync with code.
28018
28019 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
28020
28021 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
28022 entries on failed boot.
28023
28024 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
28025
28026 * kern/file.c (grub_file_open): Fix an error check.
28027
28028 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
28029
28030 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
28031 partition map couldn't be identified.
28032
28033 2009-07-23 Pavel Roskin <proski@gnu.org>
28034
28035 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
28036 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
28037 case of little endian words becomes just an optimization.
28038 Respect const modifier.
28039 (md5_final): Use code that doesn't depend on endianness.
28040
28041 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
28042 to avoid loss of upper bits if align is unsigned and shorter
28043 than addr.
28044
28045 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
28046
28047 UUID support for UFS
28048
28049 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
28050 (grub_ufs_uuid): New function.
28051 (grub_ufs_fs): add .uuid
28052
28053 2009-07-21 Pavel Roskin <proski@gnu.org>
28054
28055 * kern/dl.c (grub_dl_check_header): Make static.
28056
28057 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
28058
28059 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
28060 add drivemap for Vista. It breaks Windows 7.
28061
28062 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
28063
28064 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
28065 128 bytes
28066
28067 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28068
28069 Add BFS support
28070
28071 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
28072 (grub_fstest_SOURCES): Likewise.
28073 (pkglib_MODULES): Add befs.mod.
28074 (befs_mod_SOURCES): New variable.
28075 (befs_mod_CFLAGS): Likewise.
28076 (befs_mod_LDFLAGS): Likewise.
28077 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
28078 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28079 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28080 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28081 (grub_setup_SOURCES): Likewise.
28082 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28083 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28084 (grub_setup_SOURCES): Likewise.
28085 * fs/befs.c: New file.
28086 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
28087 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
28088 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
28089 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
28090 (B_KEY_INDEX_ALIGN): New declaration.
28091 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
28092 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
28093 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
28094 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
28095 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
28096 (grub_afs_mount) [MODE_BFS]: Likewise.
28097 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
28098 (grub_afs_fs): Use GRUB_AFS_FSNAME
28099 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
28100 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
28101 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
28102 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
28103
28104 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
28105
28106 * util/getroot.c (find_root_device): Add support for MacOSX.
28107 * util/hostdisk.c: Likewise.
28108
28109 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28110
28111 * font/font.c (find_glyph): Check whether a font is present to avoid
28112 segmentation fault.
28113
28114 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
28115
28116 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
28117
28118 2009-07-20 Pavel Roskin <proski@gnu.org>
28119
28120 * configure.ac: Trim excessively wordy excuses.
28121
28122 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28123
28124 Add symlink, mtime and label support to AtheFS.
28125
28126 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
28127 (grub_afs_iterate_dir): Handle symlinks.
28128 (grub_afs_open): Use grub_afs_read_symlink.
28129 (grub_afs_dir): Likewise.
28130 Pass mtime.
28131 (grub_afs_label): New function.
28132 (grub_afs_fs): Add grub_afs_label.
28133 (grub_afs_read_symlink): New function.
28134
28135 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28136
28137 Fix AtheFS support.
28138
28139 * fs/afs.c: Fix comments style.
28140 (grub_afs_blockrun): Declare as packed.
28141 (grub_afs_datastream): Likewise.
28142 (grub_afs_bnode): Likewise.
28143 (grub_afs_btree): Likewise.
28144 (grub_afs_sblock): Likewise.
28145 Declare `name' as char.
28146 (grub_afs_inode): Declare as packed.
28147 Change void *vnode to grub_uint32_t unused.
28148 (grub_afs_iterate_dir): Check that key_size is positive.
28149 (grub_afs_mount): Don't read superblock twice.
28150 (grub_afs_dir): Don't free node in case of error,
28151 grub_fshelp_find_file already handles this.
28152 (grub_afs_open): Likewise.
28153
28154 2009-07-19 Pavel Roskin <proski@gnu.org>
28155
28156 * Makefile.in: Remove LIBLZO and enable_lzo.
28157 * conf/i386-pc.rmk: Remove lzo support.
28158 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
28159 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
28160 support.
28161 * kern/i386/pc/lzo1x.S: Remove.
28162 * kern/i386/pc/startup.S: Remove lzo support.
28163 * util/i386/pc/grub-mkimage.c: Likewise.
28164
28165 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
28166
28167 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
28168 * fs/xfs.c (grub_xfs_dir): Likewise.
28169 * fs/afs.c (grub_afs_dir): Likewise.
28170 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
28171 (grub_iso9660_open): Likewise.
28172 * fs/jfs.c (grub_jfs_open): Likewise.
28173 * fs/ext2.c (grub_ext2_dir): Likewise.
28174 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
28175 * script/sh/lexer.c (grub_script_yylex): Likewise.
28176
28177 2009-07-16 Pavel Roskin <proski@gnu.org>
28178
28179 * configure.ac: Never add "-c" to CFLAGS.
28180
28181 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
28182
28183 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
28184 grub_cv_cc_efiemu should be used.
28185
28186 * configure.ac: Typo fixes.
28187
28188 * kern/mm.c (grub_zalloc): New function.
28189 (grub_debug_zalloc): Likewise.
28190 * include/grub/mm.h: Declare grub_zalloc() and
28191 grub_debug_zalloc().
28192 * util/misc.c (grub_zalloc): New function.
28193 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
28194 instead of grub_malloc(), remove unneeded initializations.
28195 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
28196 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
28197 * commands/parttool.c (grub_cmd_parttool): Likewise.
28198 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
28199 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
28200 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
28201 * disk/usbms.c (grub_usbms_finddevs): Likewise.
28202 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
28203 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
28204 (grub_cmd_efiemu_pnvram): Likewise.
28205 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
28206 * fs/iso9660.c (grub_iso9660_mount): Likewise.
28207 (grub_iso9660_iterate_dir): Likewise.
28208 * fs/jfs.c (grub_jfs_opendir): Likewise.
28209 * fs/ntfs.c (list_file): Likewise.
28210 (grub_ntfs_mount): Likewise.
28211 * kern/disk.c (grub_disk_open): Likewise.
28212 * kern/dl.c (grub_dl_load_core): Likewise.
28213 * kern/elf.c (grub_elf_file): Likewise.
28214 * kern/env.c (grub_env_context_open): Likewise.
28215 (grub_env_set): Likewise.
28216 (grub_env_set_data_slot): Likewise.
28217 * kern/file.c (grub_file_open): Likewise.
28218 * kern/fs.c (grub_fs_blocklist_open): Likewise.
28219 * loader/i386/multiboot.c (grub_module): Likewise.
28220 * loader/xnu.c (grub_xnu_create_key): Likewise.
28221 (grub_xnu_create_value): Likewise.
28222 * normal/main.c (grub_normal_add_menu_entry): Likewise.
28223 (read_config_file): Likewise.
28224 * normal/menu_entry.c (make_screen): Likewise.
28225 * partmap/sun.c (sun_partition_map_iterate): Likewise.
28226 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
28227 * script/sh/script.c (grub_script_parse): Likewise.
28228 * video/bitmap.c (grub_video_bitmap_create): Likewise.
28229 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
28230 * video/readers/png.c (grub_png_output_byte): Likewise.
28231 (grub_video_reader_png): Likewise.
28232
28233 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28234
28235 Enable all targets that can be built by default
28236
28237 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
28238 grub-mkfont and grub-fstest if they can be built
28239
28240 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28241
28242 Fix hang and segmentation fault in grub-emu-usb
28243
28244 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
28245 * util/usb.c (grub_libusb_devices): likewise
28246 (grub_libusb_init): rename to ...
28247 (GRUB_MOD_INIT (libusb)):...this
28248 (grub_libusb_fini): rename to ..
28249 (GRUB_MOD_FINI (libusb)):...this
28250 * disk/usbms.c (grub_usbms_transfer): fix retry logic
28251 * include/grub/disk.h (grub_raid_init): removed, it's useless
28252 (grub_raid_fini): likewise
28253 (grub_lvm_init): likewise
28254 (grub_lvm_fini): likewise
28255 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
28256 by grub_init_all
28257
28258 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28259
28260 Fix libusb
28261
28262 * Makefile.in (LIBUSB): new macro
28263 * genmk.rb (Utility/print_tail): new method
28264 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
28265 (top level): call util.print_tail at the end.
28266
28267 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28268
28269 Make FreeBSD accept zpool.cache
28270
28271 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
28272 type is /boot/zfs/zpool.cache
28273
28274 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28275
28276 Fix 64-bit efiemu
28277
28278 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
28279 correct wrong typedef
28280 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
28281
28282 2009-07-15 Pavel Roskin <proski@gnu.org>
28283
28284 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
28285 * kern/disk.c (struct grub_disk_cache): Likewise.
28286
28287 * commands/probe.c (options): Typo fix.
28288
28289 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
28290 Increase to 0x5a to accommodate FAT32. Adjust other offsets
28291 accordingly.
28292 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
28293
28294 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
28295 the end of "Error" to make the message more readable.
28296
28297 * boot/i386/pc/boot.S (kernel_segment): Remove.
28298 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
28299 for destination.
28300
28301 * boot/i386/pc/boot.S (boot_version): Remove.
28302 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
28303 Remove.
28304
28305 * include/grub/i386/pc/boot.h: Sort all offsets.
28306 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
28307 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
28308 * boot/i386/pc/boot.S: Assert location of every offset listed in
28309 include/grub/i386/pc/boot.h.
28310
28311 2009-07-13 Pavel Roskin <proski@gnu.org>
28312
28313 * include/grub/i386/coreboot/machine.h: Rename
28314 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
28315 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
28316 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
28317
28318 * kern/dl.c: Force native word size to suppress warnings when
28319 compiling grub-emu.
28320
28321 * kern/device.c (grub_device_iterate): Change struct part_ent to
28322 hold the name, not a pointer to it. Use one grub_malloc() per
28323 partition, not two. Free partition_name if grub_malloc() fails.
28324 Set ents to NULL only before grub_partition_iterate() is called.
28325
28326 2009-07-11 Bean <bean123ch@gmail.com>
28327
28328 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
28329 childname.
28330
28331 2009-07-10 Bean <bean123ch@gmail.com>
28332 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
28333
28334 * kern/ieee1275/openfw.c (grub_children_iterate)
28335 (grub_devalias_iterate): Fix size evaluation for property or path
28336 strings, which was broken since r2132.
28337
28338 2009-07-07 Pavel Roskin <proski@gnu.org>
28339
28340 * commands/search.c (search_file): Merge into ...
28341 (search_fs): ... this. Accept search type as argument.
28342 (grub_cmd_search): Pass search type to search_fs().
28343
28344 * include/grub/util/console.h: New file.
28345 * util/console.c: Use it instead of grub/machine/console.h.
28346 * util/grub-emu.c: Likewise.
28347
28348 * lib/arg.c (find_long_option): Remove.
28349 (find_long): Add `len' argument, make `s' const char *.
28350 (grub_arg_parse): Parse long options in place, not in a
28351 temporary buffer.
28352
28353 2009-07-06 Pavel Roskin <proski@gnu.org>
28354
28355 * commands/search.c (search_fs): Fix potential NULL pointer
28356 dereference.
28357
28358 * commands/search.c (search_fs): Replace QUID macro with quid_fn
28359 function pointer.
28360
28361 2009-07-06 Daniel Mierswa <impulze@impulze.org>
28362
28363 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
28364 comparison.
28365
28366 2009-07-05 Pavel Roskin <proski@gnu.org>
28367
28368 * include/grub/i386/linux.h (struct linux_kernel_params):
28369 Restore padding3, it's still needed.
28370
28371 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
28372 FreeBSD.
28373 * util/osdetect.lua: Likewise.
28374
28375 2009-07-05 Bean <bean123ch@gmail.com>
28376
28377 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
28378
28379 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
28380 (grub_lua_getenv): Likewise.
28381 (grub_lua_setenv): Likewise.
28382 (save_errno): New function.
28383 (push_result): Likewise.
28384 (grub_lua_enum_device): Likewise.
28385 (grub_lua_enum_file): Likewise.
28386 (grub_lua_file_open): Likewise.
28387 (grub_lua_file_close): Likewise.
28388 (grub_lua_file_seek): Likewise.
28389 (grub_lua_file_read): Likewise.
28390 (grub_lua_file_getline): Likewise.
28391 (grub_lua_file_getsize): Likewise.
28392 (grub_lua_file_getpos): Likewise.
28393 (grub_lua_file_eof): Likewise.
28394 (grub_lua_file_exist): Likewise.
28395 (grub_lua_add_menu): Likewise.
28396
28397 * script/lua/grub_lua.h (isupper): New inline function.
28398 (islower): Likewise.
28399 (ispunct): Likewise.
28400 (isxdigit): Likewise.
28401 (strcspn): Change to normal function.
28402 (strpbkr): New function declaration.
28403 (memchr): Likewise.
28404
28405 * script/lua/grub_main.c (scan_str): New function.
28406 (strcspn): Likewise.
28407 (strpbrk): Likewise.
28408 (memchr): Likewise.
28409
28410 * script/lua/linit.c (lualibs): Enable the string library.
28411
28412 * util/osdetect.lua: New file.
28413
28414 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
28415
28416 * include/grub/i386/linux.h (struct linux_kernel_params): Add
28417 `capabilities' member.
28418
28419 2009-07-02 Pavel Roskin <proski@gnu.org>
28420
28421 * genparttoollist.sh: Add missing newline at the end.
28422
28423 2009-07-01 Pavel Roskin <proski@gnu.org>
28424
28425 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
28426
28427 * util/hostdisk.c (open_device): Remove `const' from
28428 `sysctl_size', as sysctlbyname() can change it (in this case it
28429 doesn't actually happen).
28430
28431 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
28432 using signed long int constants.
28433
28434 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
28435 constant to avoid a warning on FreeBSD.
28436
28437 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
28438 where it's needed.
28439
28440 * Makefile.in: Install include/grub/machine symlink.
28441
28442 * Makefile.in: When installing symlinks, use "cp -fR", which
28443 works on FreeBSD and MacOSX.
28444 From Yves Blusseau <cl7m42e02@sneakemail.com>
28445
28446 * kern/dl.c (grub_dl_resolve_symbol): Make static.
28447 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
28448
28449 * util/misc.c: Move grub_reboot() and grub_halt() ...
28450 * util/grub-emu.c: ... here. Make main_env static.
28451 * include/grub/util/misc.h: Remove main_env.
28452
28453 * kern/mm.c: Use correct format to print size_t.
28454
28455 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
28456 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
28457 * kern/powerpc/dl.c: Likewise.
28458 * kern/sparc64/dl.c: Likewise.
28459 * kern/x86_64/dl.c: Likewise.
28460
28461 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28462
28463 Fix grub-emu build on sparc64-ieee1275.
28464
28465 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
28466 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
28467
28468 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28469
28470 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
28471 (grub_reboot, grub_halt): New functions.
28472
28473 * util/i386/pc/misc.c: Delete. Update all users.
28474 * util/sparc64/ieee1275/misc.c: Likewise.
28475 * util/powerpc/ieee1275/misc.c: Likewise.
28476
28477 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28478
28479 * conf/i386.rmk (setjmp_mod_SOURCES)
28480 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
28481 * conf/common.rmk (setjmp_mod_SOURCES)
28482 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
28483 to use $(target_cpu).
28484 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
28485 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
28486 * conf/powerpc-ieee1275.rmk: Likewise.
28487 * conf/sparc64-ieee1275.rmk: Likewise.
28488
28489 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
28490 $(target_cpu) for kern/$(target_cpu)/dl.c.
28491 * conf/i386-efi.rmk: Likewise.
28492 * conf/i386-ieee1275.rmk: Likewise.
28493 * conf/x86_64-efi.rmk: Likewise.
28494 * conf/i386-coreboot.rmk: Likewise.
28495 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
28496 $(target_cpu) for kern/$(target_cpu)/dl.c and for
28497 kern/$(target_cpu)/cache.S.
28498 * conf/sparc64-ieee1275.rmk: Likewise.
28499
28500 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28501
28502 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
28503 type to `grub_uint8_t', and adjust `padding9' accordingly.
28504
28505 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
28506
28507 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
28508
28509 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
28510 assembly in final jump, using register constraints.
28511
28512 (grub_linux_boot): For text mode, initialize `have_vga' using
28513 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
28514
28515 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
28516 right before the final jump.
28517
28518 Set `video_mode' to 0x3.
28519
28520 Document initialization of `video_page', `video_mode' and
28521 `video_ega_bx'.
28522
28523 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
28524
28525 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
28526 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
28527 and set GRUB_LINUX_FLAG_QUIET appropriately.
28528
28529 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
28530
28531 Fix build on Debian / sparc.
28532
28533 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
28534
28535 2009-06-28 Pavel Roskin <proski@gnu.org>
28536
28537 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
28538 fix a warning.
28539
28540 * util/grub.d/10_linux.in: Match SUSE style initrd names.
28541
28542 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
28543
28544 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
28545 `err'.
28546
28547 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
28548
28549 Revert r2338.
28550
28551 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
28552 file can't be opened. grub_file_open() is already supposed to set
28553 grub_errno / grub_errmsg appropriately.
28554 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
28555
28556 2009-06-27 Pavel Roskin <proski@gnu.org>
28557 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
28558
28559 * include/grub/dl.h: Include grub/elf.h.
28560 (struct grub_dl): Add symtab field.
28561 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
28562 GRUB_MODULES_MACHINE_READONLY.
28563 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
28564 of the header for read-only modules.
28565 (grub_dl_unload): Free mod->symtab for read-only modules.
28566 * kern/i386/dl.c: Use mod->symtab.
28567 * kern/powerpc/dl.c: Likewise.
28568 * kern/sparc64/dl.c: Likewise.
28569 * kern/x86_64/dl.c: Likewise.
28570
28571 * conf/i386-qemu.rmk: New file.
28572 * kern/i386/qemu/startup.S: Likewise.
28573 * kern/i386/qemu/mmap.c: Likewise.
28574 * boot/i386/qemu/boot.S: Likewise.
28575 * include/grub/i386/qemu/time.h: Likewise.
28576 * include/grub/i386/qemu/serial.h: Likewise.
28577 * include/grub/i386/qemu/kernel.h: Likewise.
28578 * include/grub/i386/qemu/console.h: Likewise.
28579 * include/grub/i386/qemu/boot.h: Likewise.
28580 * include/grub/i386/qemu/init.h: Likewise.
28581 * include/grub/i386/qemu/machine.h: Likewise.
28582 * include/grub/i386/qemu/loader.h: Likewise.
28583 * include/grub/i386/qemu/memory.h: Likewise.
28584
28585 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
28586 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
28587 [qemu] (pkglib_IMAGES): Add `boot.img'.
28588 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
28589 [qemu] (boot_img_FORMAT): New variables.
28590 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
28591 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
28592 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
28593 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
28594 [qemu] (kernel_img_FORMAT): New variables.
28595
28596 * configure.ac: Recognise `i386-qemu'.
28597
28598 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
28599 (for no compression).
28600 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
28601 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
28602 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
28603 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
28604 ifdefs).
28605
28606 2009-06-27 Pavel Roskin <proski@gnu.org>
28607
28608 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
28609 read.
28610 * efiemu/prepare32.c: Likewise.
28611 * efiemu/prepare64.c: Likewise.
28612
28613 2009-06-26 Pavel Roskin <proski@gnu.org>
28614
28615 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
28616 * include/grub/elf.h: Define symbols without "32" or "64" based
28617 on GRUB_TARGET_WORDSIZE.
28618 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
28619 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
28620 ELF definitions.
28621 * efiemu/loadcore64.c: Likewise.
28622 * loader/i386/bsd32.c: Likewise.
28623 * loader/i386/bsd64.c: Likewise.
28624 * kern/dl.c: Remove own ELF definitions.
28625 * util/i386/efi/grub-mkimage.c: Likewise.
28626
28627 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
28628
28629 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
28630 segment 0x0 unconditionally, because the reference generated by
28631 GAS is an absolute address.
28632
28633 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28634
28635 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
28636 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
28637
28638 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28639
28640 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
28641 indexes. Check for -f explicitly.
28642 (search_file): Improve error message.
28643 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
28644
28645 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28646
28647 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
28648 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
28649
28650 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28651
28652 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
28653 * conf/i386-ieee1275.rmk: Likewise.
28654 * conf/i386-coreboot.rmk: Likewise.
28655
28656 * kern/i386/pc/startup.S (grub_stop): Remove function.
28657 * kern/i386/ieee1275/startup.S: Likewise.
28658 * kern/i386/coreboot/startup.S: Likewise.
28659 * kern/i386/misc.S (grub_stop): New function.
28660
28661 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28662
28663 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
28664 * kern/i386/realmode.S (real_to_prot): ... to here.
28665
28666 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28667
28668 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
28669 with `kernel.img'.
28670 (kernel_elf_SOURCES): Rename to ...
28671 (kernel_img_SOURCES): ... this.
28672 (kernel_elf_HEADERS): Rename to ...
28673 (kernel_img_HEADERS): ... this. Update all users.
28674 (kernel_elf_ASFLAGS): Rename to ...
28675 (kernel_img_ASFLAGS): ... this.
28676 (kernel_elf_CFLAGS): Rename to ...
28677 (kernel_img_CFLAGS): ... this.
28678 (kernel_elf_LDFLAGS): Rename to ...
28679 (kernel_img_LDFLAGS): ... this.
28680 * conf/i386-coreboot.rmk: Likewise.
28681 * conf/powerpc-ieee1275.rmk: Likewise.
28682
28683 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
28684 with "kernel.img".
28685
28686 2009-06-21 Pavel Roskin <proski@gnu.org>
28687
28688 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
28689 to match nested functions.
28690 * loader/sparc64/ieee1275/linux.c: Likewise.
28691
28692 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
28693
28694 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
28695
28696 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
28697 all i386 platforms.
28698
28699 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
28700
28701 Fix asm file handling on ELF, and remove workarounds.
28702
28703 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
28704 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
28705 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
28706 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
28707
28708 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
28709
28710 Load BSD ELF modules
28711
28712 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
28713 and loader/i386/bsd64.c
28714 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
28715 (FREEBSD_MODTYPE_ELF_MODULE): New definition
28716 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
28717 (grub_freebsd_load_elfmodule32): New declaration
28718 (grub_freebsd_load_elfmoduleobj64): Likewise
28719 (grub_freebsd_load_elf_meta32): Likewise
28720 (grub_freebsd_load_elf_meta64): Likewise
28721 (grub_freebsd_add_meta): Likewise
28722 (grub_freebsd_add_meta_module): Likewise
28723 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
28724 (grub_freebsd_add_meta_module): Likewise and move module-specific
28725 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
28726 (grub_cmd_freebsd): Add elf-kernel specific parts
28727 based on grub_freebsd_add_meta_module
28728 (grub_cmd_freebsd_module): Add type parsing moved from
28729 grub_freebsd_add_meta_module
28730 (grub_cmd_freebsd_module_elf): New function
28731 (cmd_freebsd_module_elf): New variable
28732 (GRUB_MOD_INIT): Register freebsd_module_elf
28733 * loader/i386/bsd32.c: New file
28734 * loader/i386/bsd64.c: Likewise
28735 * loader/i386/bsdXX.c: Likewise
28736 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
28737 (grub_elf64_load): Likewise
28738 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
28739 All users updated
28740 (grub_elf64_load_hook_t): Likewise
28741
28742 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
28743
28744 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
28745 variable.
28746 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
28747 don't write a menu entry for recovery mode.
28748
28749 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
28750
28751 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
28752 after it's no longer needed.
28753
28754 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
28755
28756 * include/grub/i386/loader.h (grub_linux_prot_size)
28757 (grub_linux_tmp_addr, grub_linux_real_addr)
28758 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
28759 GRUB_MACHINE_PCBIOS.
28760 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
28761 common grub_util_info() call to ...
28762 (generate_image): ... here.
28763 Fix use of uninitialized memory, comparison of signed with
28764 unsigned integers and memory leak.
28765 Remove bogus module address message.
28766
28767 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
28768
28769 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
28770 grub_raid_register
28771 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
28772
28773 2009-06-19 Pavel Roskin <proski@gnu.org>
28774
28775 * configure.ac: Remove stray AC_MSG_CHECKING.
28776
28777 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
28778
28779 * disk/scsi.c (grub_scsi_open): use continue instead of big if
28780
28781 2009-06-18 Pavel Roskin <proski@gnu.org>
28782
28783 * conf/common.rmk: Add fs_file.mod.
28784 * disk/fs_file.c: New file.
28785 * include/grub/disk.h (enum grub_disk_dev_id): Add
28786 GRUB_DISK_DEVICE_FILE_ID.
28787
28788 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
28789
28790 Fix build with Apple's toolchain. Part 2
28791
28792 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
28793 a fake start
28794
28795 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
28796
28797 Fix build with Apple's toolchain. Part 1
28798
28799 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
28800 for long calls
28801 * configure.ac: remove a leftover AC_MSG_RESULT
28802 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
28803 Apple's toolchain
28804
28805 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
28806
28807 Fix warnings
28808
28809 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
28810 (decomp_block): initialize ch
28811 use grub_memcpy instead of memcpy
28812
28813 2009-06-17 Pavel Roskin <proski@gnu.org>
28814
28815 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
28816 version, use declarations needed to use vga_text as the startup
28817 console.
28818
28819 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
28820 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
28821 the kernel.
28822 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
28823 and grub_at_keyboard_fini(), it's done on module load and
28824 unload.
28825
28826 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
28827
28828 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
28829 file can't be found.
28830 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
28831
28832 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
28833
28834 Fix newline handling
28835
28836 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
28837 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
28838 (grub_script_yylex): don't segfault on unterminated script
28839 newline terminates command and variable
28840
28841 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
28842
28843 avoid double grub_adjust_range call. Bug reported by David Simner
28844
28845 * kern/disk.c (grub_disk_write): change to raw disk access before
28846 calling disk_read
28847
28848 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
28849
28850 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
28851 spaces, for the benefit of help2man.
28852 * util/i386/efi/grub-mkimage.c (usage): Likewise.
28853
28854 2009-06-16 Pavel Roskin <proski@gnu.org>
28855
28856 * kern/i386/halt.c: Include grub/machine/init.h.
28857 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
28858
28859 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
28860
28861 * util/grub.d/30_os-prober.in: Use ${root} in the generated
28862 drivemap menuentry.
28863
28864 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
28865
28866 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
28867 `echo' command.
28868
28869 2009-06-16 Pavel Roskin <proski@gnu.org>
28870
28871 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
28872 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
28873 save %dx, we only need %dl and we never change it.
28874 * boot/i386/pc/cdboot.S: Don't set the root drive.
28875 * boot/i386/pc/pxeboot.S: Likewise.
28876 * include/grub/i386/pc/boot.h: Remove
28877 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
28878 GRUB_BOOT_MACHINE_DRIVE_CHECK.
28879 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
28880 * kern/i386/pc/init.c (make_install_device): Remove references
28881 to grub_root_drive.
28882 * kern/i386/pc/startup.S: Likewise.
28883 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
28884
28885 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
28886
28887 xnu_uuid command
28888
28889 * commands/xnu_uuid.c: new file
28890 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
28891 (xnu_uuid_mod_SOURCES): new variable
28892 (xnu_uuid_mod_CFLAGS): likewise
28893 (xnu_uuid_mod_LDFLAGS): likewise
28894 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
28895 * conf/i386-ieee1275.rmk: likewise
28896 * conf/i386-pc.rmk: likewise
28897 * conf/powerpc-ieee1275.rmk: likewise
28898 * conf/sparc64-ieee1275.rmk: likewise
28899 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
28900
28901 2009-06-16 Pavel Roskin <proski@gnu.org>
28902
28903 * configure.ac: Avoid '==' in test command, it's not portable.
28904
28905 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
28906
28907 Probe command
28908
28909 * commands/probe.c: new file
28910 * conf/common.rmk (pkglib_MODULES): add probe.mod
28911 (probe_mod_SOURCES): new variable
28912 (probe_mod_CFLAGS): likewise
28913 (probe_mod_LDFLAGS): likewise
28914 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
28915 * conf/i386-ieee1275.rmk: likewise
28916 * conf/i386-pc.rmk: likewise
28917 * conf/powerpc-ieee1275.rmk: likewise
28918 * conf/sparc64-ieee1275.rmk: likewise
28919
28920 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
28921
28922 Fix handling of string like \"hello\" and "a
28923 b"
28924
28925 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
28926 (grub_script_yylex): fix parsing of quoting, escaping and newline
28927
28928 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
28929
28930 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
28931 handling
28932
28933 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
28934
28935 * util/grub-mkconfig.in: Fix parsing of --output option.
28936
28937 2009-06-12 Pavel Roskin <proski@gnu.org>
28938
28939 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
28940 genmk.rb don't need to be generated or installed.
28941
28942 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
28943
28944 * commands/i386/pc/drivemap_int13h.S: add more comments
28945
28946 2009-06-11 Pavel Roskin <proski@gnu.org>
28947
28948 * Makefile.in (uninstall): Uninstall manuals.
28949
28950 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
28951 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
28952 and update-grub_lib in two places.
28953 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
28954
28955 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
28956 a compiler warning.
28957
28958 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
28959 `entry_lo' to fix variable shadowing.
28960
28961 2009-06-11 Christian Franke <franke@computer.org>
28962
28963 * kern/misc.c (__enable_execute_stack): Add missing return type
28964 to prevent gcc warning.
28965
28966 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
28967
28968 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
28969
28970 2009-06-11 Pavel Roskin <proski@gnu.org>
28971
28972 * Makefile.in: Don't rely on any scripts being executable.
28973 Always use $(SHELL) to run shell scripts.
28974
28975 * configure.ac: Always define ___main if using -nostdlib. This
28976 fixes tests on Cygwin.
28977
28978 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
28979
28980 UDF fix
28981
28982 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
28983 is in bytes and not in blocks
28984
28985 2009-06-11 Pavel Roskin <proski@gnu.org>
28986
28987 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
28988 warning.
28989
28990 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
28991
28992 * util/grub.d/30_os-prober.in: Fix a comment. Source
28993 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
28994 to set the root device. Place drivemap command in the generated
28995 chain entry.
28996
28997 2009-06-11 Pavel Roskin <proski@gnu.org>
28998
28999 * configure.ac: Remove host_m32. Issues with 64-bit utilities
29000 have long been resolved.
29001
29002 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
29003
29004 * util/grub.d/10_linux.in: Capitalise "Linux".
29005
29006 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
29007
29008 2009-06-11 Pavel Roskin <proski@gnu.org>
29009
29010 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
29011 fix a gcc warning and ensure that the function won't ever exit.
29012
29013 * kern/i386/ieee1275/init.c: Add missing prototype for
29014 grub_stop_floppy().
29015
29016 * loader/ieee1275/multiboot2.c [__i386__]: Include
29017 grub/cpu/multiboot.h.
29018
29019 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
29020 casts to short - they are not portable and cause warnings. Fix
29021 use of uninitialized values in input_buf. Use ARRAY_SIZE.
29022
29023 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
29024
29025 Drivemap fixes
29026
29027 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
29028 new function
29029 (grub_get_root_biosnumber_saved): new variable
29030 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
29031 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
29032 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
29033 %dx after the call if necessary
29034 * conf/common.rmk (pkglib_MODULES): remove boot.mod
29035 (boot_mod_SOURCES): remove
29036 (boot_mod_CFLAGS): remove
29037 (boot_mod_LDFLAGS): remove
29038 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
29039 (boot_mod_SOURCES): new variable
29040 (boot_mod_CFLAGS): likewise
29041 (boot_mod_LDFLAGS): likewise
29042 * conf/i386-efi.rmk: likewise
29043 * conf/i386-ieee1275.rmk: likewise
29044 * conf/i386-pc.rmk: likewise
29045 * conf/powerpc-ieee1275.rmk: likewise
29046 * conf/sparc64-ieee1275.rmk: likewise
29047 * conf/x86_64-efi.rmk: likewise
29048 * include/grub/i386/pc/biosnum.h: new file
29049 * lib/i386/pc/biosnum.c: likewise
29050 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
29051 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
29052 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
29053
29054 2009-06-10 Pavel Roskin <proski@gnu.org>
29055
29056 * io/gzio.c (test_header): Don't reuse one buffer for all data.
29057 Use separate variables. Read only the file size at the end, but
29058 not the checksum that we don't use.
29059
29060 * kern/file.c (grub_file_read): Use void pointer for the buffer.
29061 Adjust all callers.
29062
29063 * kern/ieee1275/openfw.c: Remove libc includes.
29064 * kern/ieee1275/cmain.c: Likewise.
29065 * include/grub/ieee1275/ieee1275.h: Likewise.
29066
29067 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
29068 compiler warnings.
29069
29070 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
29071
29072 * Makefile.in: Remove all trailing whitespace.
29073 * conf/i386-pc.rmk: Likewise.
29074 * conf/powerpc-ieee1275.rmk: Likewise.
29075 * conf/sparc64-ieee1275.rmk: Likewise.
29076 * docs/grub.texi: Likewise.
29077 * docs/texinfo.tex: Likewise.
29078 * disk/fs_uuid.c: Likewise.
29079 * disk/lvm.c: Likewise.
29080 * disk/scsi.c: Likewise.
29081 * disk/ata.c: Likewise.
29082 * disk/ieee1275/ofdisk.c: Likewise.
29083 * disk/i386/pc/biosdisk.c: Likewise.
29084 * disk/host.c: Likewise.
29085 * disk/raid.c: Likewise.
29086 * disk/efi/efidisk.c: Likewise.
29087 * disk/usbms.c: Likewise.
29088 * disk/memdisk.c: Likewise.
29089 * disk/loopback.c: Likewise.
29090 * kern/powerpc/dl.c: Likewise.
29091 * kern/device.c: Likewise.
29092 * kern/dl.c: Likewise.
29093 * kern/sparc64/dl.c: Likewise.
29094 * kern/ieee1275/ieee1275.c: Likewise.
29095 * kern/term.c: Likewise.
29096 * kern/fs.c: Likewise.
29097 * kern/i386/dl.c: Likewise.
29098 * kern/i386/pc/startup.S: Likewise.
29099 * kern/i386/pc/init.c: Likewise.
29100 * kern/i386/pc/mmap.c: Likewise.
29101 * kern/i386/pc/lzo1x.S: Likewise.
29102 * kern/i386/ieee1275/init.c: Likewise.
29103 * kern/i386/realmode.S: Likewise.
29104 * kern/i386/tsc.c: Likewise.
29105 * kern/partition.c: Likewise.
29106 * kern/corecmd.c: Likewise.
29107 * kern/file.c: Likewise.
29108 * kern/efi/efi.c: Likewise.
29109 * kern/efi/init.c: Likewise.
29110 * kern/efi/mm.c: Likewise.
29111 * kern/main.c: Likewise.
29112 * kern/err.c: Likewise.
29113 * kern/env.c: Likewise.
29114 * kern/disk.c: Likewise.
29115 * kern/generic/millisleep.c: Likewise.
29116 * kern/generic/rtc_get_time_ms.c: Likewise.
29117 * kern/misc.c: Likewise.
29118 * kern/parser.c: Likewise.
29119 * genmk.rb: Likewise.
29120 * configure.ac: Likewise.
29121 * boot/i386/pc/diskboot.S: Likewise.
29122 * boot/i386/pc/pxeboot.S: Likewise.
29123 * boot/i386/pc/boot.S: Likewise.
29124 * boot/i386/pc/lnxboot.S: Likewise.
29125 * boot/i386/pc/cdboot.S: Likewise.
29126 * parttool/pcpart.c: Likewise.
29127 * video/readers/tga.c: Likewise.
29128 * video/video.c: Likewise.
29129 * video/bitmap.c: Likewise.
29130 * lib/envblk.c: Likewise.
29131 * lib/i386/setjmp.S: Likewise.
29132 * fs/xfs.c: Likewise.
29133 * fs/afs.c: Likewise.
29134 * fs/fat.c: Likewise.
29135 * fs/ntfs.c: Likewise.
29136 * fs/udf.c: Likewise.
29137 * fs/affs.c: Likewise.
29138 * fs/iso9660.c: Likewise.
29139 * fs/hfs.c: Likewise.
29140 * fs/fshelp.c: Likewise.
29141 * fs/ext2.c: Likewise.
29142 * fs/jfs.c: Likewise.
29143 * fs/reiserfs.c: Likewise.
29144 * fs/hfsplus.c: Likewise.
29145 * fs/minix.c: Likewise.
29146 * fs/cpio.c: Likewise.
29147 * fs/sfs.c: Likewise.
29148 * fs/ufs.c: Likewise.
29149 * efiemu/prepare.c: Likewise.
29150 * efiemu/loadcore_common.c: Likewise.
29151 * efiemu/runtime/efiemu.sh: Likewise.
29152 * efiemu/runtime/efiemu.S: Likewise.
29153 * efiemu/runtime/efiemu.c: Likewise.
29154 * efiemu/pnvram.c: Likewise.
29155 * efiemu/main.c: Likewise.
29156 * efiemu/i386/pc/cfgtables.c: Likewise.
29157 * efiemu/i386/loadcore64.c: Likewise.
29158 * efiemu/i386/loadcore32.c: Likewise.
29159 * efiemu/loadcore.c: Likewise.
29160 * efiemu/symbols.c: Likewise.
29161 * efiemu/mm.c: Likewise.
29162 * include/grub/autoefi.h: Likewise.
29163 * include/grub/datetime.h: Likewise.
29164 * include/grub/term.h: Likewise.
29165 * include/grub/hfs.h: Likewise.
29166 * include/grub/lvm.h: Likewise.
29167 * include/grub/i386/tsc.h: Likewise.
29168 * include/grub/i386/linux.h: Likewise.
29169 * include/grub/i386/xnu.h: Likewise.
29170 * include/grub/i386/efiemu.h: Likewise.
29171 * include/grub/i386/pc/biosdisk.h: Likewise.
29172 * include/grub/i386/pc/memory.h: Likewise.
29173 * include/grub/i386/pc/vbe.h: Likewise.
29174 * include/grub/parttool.h: Likewise.
29175 * include/grub/video.h: Likewise.
29176 * include/grub/memory.h: Likewise.
29177 * include/grub/fs.h: Likewise.
29178 * include/grub/partition.h: Likewise.
29179 * include/grub/xnu.h: Likewise.
29180 * include/grub/efi/api.h: Likewise.
29181 * include/grub/efi/pe32.h: Likewise.
29182 * include/grub/efi/memory.h: Likewise.
29183 * include/grub/multiboot.h: Likewise.
29184 * include/grub/usbdesc.h: Likewise.
29185 * include/grub/multiboot2.h: Likewise.
29186 * include/grub/acpi.h: Likewise.
29187 * include/grub/efiemu/efiemu.h: Likewise.
29188 * include/grub/disk.h: Likewise.
29189 * include/grub/ieee1275/ieee1275.h: Likewise.
29190 * include/grub/net.h: Likewise.
29191 * include/grub/machoload.h: Likewise.
29192 * include/grub/macho.h: Likewise.
29193 * include/multiboot.h: Likewise.
29194 * genmoddep.awk: Likewise.
29195 * normal/main.c: Likewise.
29196 * normal/menu_entry.c: Likewise.
29197 * normal/menu_viewer.c: Likewise.
29198 * normal/completion.c: Likewise.
29199 * normal/cmdline.c: Likewise.
29200 * normal/misc.c: Likewise.
29201 * normal/datetime.c: Likewise.
29202 * bus/usb/usbtrans.c: Likewise.
29203 * bus/usb/ohci.c: Likewise.
29204 * bus/usb/uhci.c: Likewise.
29205 * bus/usb/usb.c: Likewise.
29206 * mmap/efi/mmap.c: Likewise.
29207 * mmap/i386/pc/mmap_helper.S: Likewise.
29208 * mmap/i386/pc/mmap.c: Likewise.
29209 * mmap/i386/mmap.c: Likewise.
29210 * mmap/i386/uppermem.c: Likewise.
29211 * mmap/mmap.c: Likewise.
29212 * commands/acpi.c: Likewise.
29213 * commands/echo.c: Likewise.
29214 * commands/blocklist.c: Likewise.
29215 * commands/loadenv.c: Likewise.
29216 * commands/usbtest.c: Likewise.
29217 * commands/boot.c: Likewise.
29218 * commands/parttool.c: Likewise.
29219 * commands/search.c: Likewise.
29220 * commands/cat.c: Likewise.
29221 * commands/i386/pc/play.c: Likewise.
29222 * commands/i386/pc/drivemap.c: Likewise.
29223 * commands/i386/pc/vbeinfo.c: Likewise.
29224 * commands/i386/pc/acpi.c: Likewise.
29225 * commands/i386/pc/vbetest.c: Likewise.
29226 * commands/ls.c: Likewise.
29227 * commands/cmp.c: Likewise.
29228 * commands/test.c: Likewise.
29229 * commands/efi/acpi.c: Likewise.
29230 * commands/gptsync.c: Likewise.
29231 * commands/help.c: Likewise.
29232 * partmap/amiga.c: Likewise.
29233 * partmap/apple.c: Likewise.
29234 * partmap/acorn.c: Likewise.
29235 * partmap/pc.c: Likewise.
29236 * partmap/sun.c: Likewise.
29237 * partmap/gpt.c: Likewise.
29238 * script/sh/lexer.c: Likewise.
29239 * script/sh/function.c: Likewise.
29240 * font/font.c: Likewise.
29241 * font/font_cmd.c: Likewise.
29242 * loader/powerpc/ieee1275/linux.c: Likewise.
29243 * loader/efi/chainloader.c: Likewise.
29244 * loader/multiboot_loader.c: Likewise.
29245 * loader/macho.c: Likewise.
29246 * loader/i386/multiboot.c: Likewise.
29247 * loader/i386/linux.c: Likewise.
29248 * loader/i386/pc/linux.c: Likewise.
29249 * loader/i386/pc/multiboot2.c: Likewise.
29250 * loader/i386/pc/chainloader.c: Likewise.
29251 * loader/i386/pc/xnu.c: Likewise.
29252 * loader/i386/bsd_trampoline.S: Likewise.
29253 * loader/i386/efi/linux.c: Likewise.
29254 * loader/i386/multiboot_elfxx.c: Likewise.
29255 * loader/i386/bsd_helper.S: Likewise.
29256 * loader/i386/bsd.c: Likewise.
29257 * loader/i386/linux_trampoline.S: Likewise.
29258 * loader/i386/xnu_helper.S: Likewise.
29259 * loader/i386/xnu.c: Likewise.
29260 * loader/i386/bsd_pagetable.c: Likewise.
29261 * loader/i386/multiboot_helper.S: Likewise.
29262 * loader/xnu.c: Likewise.
29263 * loader/xnu_resume.c: Likewise.
29264 * io/gzio.c: Likewise.
29265 * term/efi/console.c: Likewise.
29266 * term/terminfo.c: Likewise.
29267 * term/ieee1275/ofconsole.c: Likewise.
29268 * term/i386/pc/serial.c: Likewise.
29269 * term/i386/pc/vesafb.c: Likewise.
29270 * term/i386/pc/vga.c: Likewise.
29271 * term/usb_keyboard.c: Likewise.
29272 * term/gfxterm.c: Likewise.
29273 * aclocal.m4: Likewise.
29274 * util/lvm.c: Likewise.
29275 * util/grub.d/30_os-prober.in: Likewise.
29276 * util/grub.d/10_hurd.in: Likewise.
29277 * util/console.c: Likewise.
29278 * util/grub-macho2img.c: Likewise.
29279 * util/grub-probe.c: Likewise.
29280 * util/hostfs.c: Likewise.
29281 * util/i386/pc/grub-mkimage.c: Likewise.
29282 * util/i386/pc/grub-setup.c: Likewise.
29283 * util/i386/efi/grub-mkimage.c: Likewise.
29284 * util/grub-mkconfig.in: Likewise.
29285 * util/raid.c: Likewise.
29286 * util/resolve.c: Likewise.
29287 * util/grub-mkdevicemap.c: Likewise.
29288 * util/grub-emu.c: Likewise.
29289 * util/getroot.c: Likewise.
29290 * util/hostdisk.c: Likewise.
29291 * util/usb.c: Likewise.
29292 * util/grub-editenv.c: Likewise.
29293 * util/misc.c: Likewise.
29294
29295 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
29296
29297 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
29298 `genparttoollist.sh'.
29299 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
29300 Add `*.sh' to the list find searches for and change `mdate.sh'
29301 to `mdate-sh'.
29302
29303 2009-06-10 Pavel Roskin <proski@gnu.org>
29304
29305 * include/grub/multiboot2.h: Provide compatibility defines for
29306 multiboot2.h.
29307 * include/multiboot2.h: Include stdint.h only if needed, using
29308 angle brackets.
29309 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
29310 grub/multiboot2.h.
29311 * loader/ieee1275/multiboot2.c: Likewise.
29312 * loader/multiboot2.c: Likewise.
29313 * loader/multiboot_loader.c: Likewise.
29314
29315 * configure.ac: Use -nostdlib when probing for the target. It
29316 should not be required to have libc for the target.
29317
29318 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
29319 they fail without libc headers for the target.
29320 * include/grub/powerpc/libgcc.h: Use weak attribute for all
29321 exports.
29322 * include/grub/sparc64/libgcc.h: Likewise. Don't use
29323 preprocessor conditionals.
29324
29325 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
29326 build system doesn't need to be aware of the tar.c internals.
29327
29328 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
29329
29330 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
29331
29332 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
29333
29334 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
29335 disk limit to 26 for IDE, Virtio, Xen and SCSI.
29336
29337 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
29338
29339 * util/i386/pc/grub-install.in: Change the error message if UUIDs
29340 aren't available if ata.mod gets used.
29341
29342 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
29343
29344 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
29345 initialising controller.
29346 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
29347
29348 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
29349
29350 * util/i386/pc/grub-install.in: Add a parameter --disk-module
29351 to choose between ata and biosdisk module on i386-pc.
29352
29353 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
29354
29355 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
29356 Subclass and Programming Interface fields in terms of the 3 byte
29357 Class Code register.
29358 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
29359
29360 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
29361 interface is OHCI. Add grub_dprintf for symmetry with
29362 bus/usb/uhci.c.
29363 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
29364 interface is UHCI. Add interf variable for programming
29365 interface. Print interface with class/subclass.
29366
29367 * bus/usb/ohci.c: Set interf with correct field.
29368
29369 * bus/usb/uhci.c: Remove unneeded doubled lines.
29370 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
29371 Remove whitespace inside comment.
29372
29373 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
29374
29375 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
29376 as fallback an equivalent option without depth.
29377
29378 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
29379
29380 Not fail if unable to retrieve C/H/S on LBA disks
29381
29382 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
29383 if unable to retrieve C/H/S on LBA disks
29384
29385 2009-06-08 Pavel Roskin <proski@gnu.org>
29386
29387 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
29388 about aliasing.
29389
29390 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
29391
29392 * Makefile.in (uninstall): Remove all $lib_DATA files.
29393
29394 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
29395
29396 Bugfix: install on partitionless device
29397
29398 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
29399 is a whole disk
29400
29401 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
29402
29403 * Makefile.in (uninstall): Remove all $include_DATA files.
29404
29405 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
29406
29407 * commands/true.c: New file. Implement the true and false commands.
29408 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
29409 (true_mod_SOURCES): New variable.
29410 (true_mod_CFLAGS): Likewise.
29411 (true_mod_LDFLAGS): Likewise.
29412
29413 2009-06-05 Colin D Bennett <colin@gibibit.com>
29414
29415 Optimized font character lookup using binary search instead of linear
29416 search. Fonts now are required to have the character index ordered by
29417 code point.
29418
29419 * font/font.c (load_font_index): Verify that fonts have ordered
29420 character indices.
29421 (find_glyph): Use binary search instead of linear search to find a
29422 character in a font.
29423
29424 2009-06-05 Michael Scherer <misc@mandriva.org>
29425
29426 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
29427 uses case sensitive btree.
29428 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
29429 only for case insensitive filesystems.
29430
29431 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
29432
29433 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
29434 * conf/common.rmk (search_mod_CFLAGS): likewise
29435
29436 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29437
29438 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
29439 compensate a compiler bug
29440
29441 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29442
29443 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
29444 instead of '\b'
29445
29446 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29447
29448 Definitions for creating asm symbols with Apple's CC
29449
29450 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
29451 [APPLE_CC] (VARIABLE): likewise
29452
29453 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29454
29455 Disable lnxboot.img when compiled
29456 with Apple's CC
29457
29458 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
29459 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
29460 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
29461 [! APPLE_CC] (CODE_LENG): skip
29462 [! APPLE_CC] (setup_sects): likewise
29463 [! APPLE_CC]: skip filling
29464
29465 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29466
29467 Address in trampolines based on 32-bit registers when compiled
29468 with Apple's CC
29469
29470 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
29471 for addresses
29472 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
29473
29474 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29475
29476 Avoid aliases when compiling with Apple's CC for PCBIOS machine
29477
29478 * kern/misc.c [APPLE_CC] (memcpy): new function
29479 [APPLE_CC] (memmove): likewise
29480 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
29481 (memcpy): define alias conditionally on !APPLE_CC
29482 (memset): likewise
29483 (abort): likewise
29484 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
29485 APPLE_CC are defined
29486 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
29487 (grub_assert_fail): make prototype conditional
29488
29489 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29490
29491 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
29492
29493 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
29494 grub-macho2img
29495 (CLEANFILES): add grub-macho2img
29496 (grub_macho2img_SOURCES): new variable
29497 * kern/i386/pc/startup.S (bss_start): new variable
29498 (bss_end): likewise
29499 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
29500 * util/grub-macho2img.c: new file
29501
29502 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29503
29504 Use objconv when compiling with Apple's CC
29505
29506 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
29507 (efiemu64.o): likewise
29508 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
29509 when compiling with Apple's CC
29510 (efiemu64_s.o): likewise
29511 * configure.ac: check for objconv when compiling with Apple's CC
29512 * genmk.rb: use objconv for modules when compiled with Apple's CC
29513
29514 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29515
29516 Define segment as well as section when compiling with
29517 Apple's CC
29518
29519 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
29520 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
29521 (efiemu_convert_pointer): likewise
29522 (efiemu_set_virtual_address_map): likewise
29523 (efiemu_convert_pointer): likewise
29524 (efiemu_getcrc32): likewise
29525 (init_crc32_table): likewise
29526 (reflect): likewise
29527 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
29528 (GRUB_MOD_DEP): likewise
29529
29530 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29531
29532 Allow a compilation without -mcmodel=large
29533
29534 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
29535 when compiled without -mcmodel=large
29536 (filter_memory_map): remove memory post 4 GiB when compiled
29537 without -mcmodel=large
29538 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
29539 TARGET_CFLAGS when -mcmodel=large isn't supported
29540
29541 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29542
29543 Remove nested functions in efiemu core
29544
29545 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
29546
29547 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29548
29549 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
29550
29551 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
29552 temporary storage
29553 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
29554 using Apple's CC
29555 (grub_cpu_is_tsc_supported): likewise
29556 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
29557
29558 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29559
29560 Absolute addressing through constant with Apple's cc
29561
29562 * kern/i386/pc/startup.S: Define necessary constants
29563 and address through it when using ABS with Apple's CC
29564 * boot/i386/pc/diskboot.S: likewise
29565 * boot/i386/pc/boot.S: likewise
29566 * boot/i386/pc/lnxboot.S: likewise
29567 * boot/i386/pc/cdboot.S: likewise
29568 * mmap/i386/pc/mmap_helper.S: likewise
29569 * commands/i386/pc/drivemap_int13h.S: likewise
29570
29571 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29572
29573 Check if compiler is apple cc
29574
29575 * Makefile.in (ASFLAGS): new variable
29576 (TARGET_ASFLAGS): likewise
29577 (TARGET_MODULE_FORMAT): likewise
29578 (TARGET_APPLE_CC): likewise
29579 (OBJCONV): likewise
29580 (TARGET_IMG_CFLAGS): likewise
29581 (TARGET_CPPFLAGS): add includedir
29582 * configure.ac: call grub_apple_cc and grub_apple_target_cc
29583 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
29584 Check for linker script only if compiler isn't Apple's CC
29585 (TARGET_MODULE_FORMAT): set
29586 (TARGET_APPLE_CC): likewise
29587 (TARGET_ASFLAGS): likewise
29588 (ASFLAGS): likewise
29589 Check for objcopy only if compiler isn't Apple's CC
29590 Check for BSS symbol only if compiler isn't Apple's CC
29591 * genmk.rb: adapt nm options if we use Apple's utils
29592 * aclocal.m4 (grub_apple_cc): new test
29593 (grub_apple_target_cc): likewise
29594
29595 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29596
29597 Simplify sed expressions and improve awk
29598
29599 * Makefile.in (install-local): simplify sed expression
29600 * gencmdlist.sh: likewise
29601 * genmoddep.awk: avoid adding module as a dependency of itself
29602
29603 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29604
29605 Add missing start symbols
29606
29607 * boot/i386/pc/boot.S: add start
29608 * boot/i386/pc/pxeboot.S: likewise
29609
29610 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29611
29612 Fix wrong assumptions with grub-mkimage on EFI
29613
29614 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
29615 (relocate_addresses): consider both r_addend and value at offset
29616 (make_mods_section): zerofill modinfo and header
29617 (convert_elf): write prefix here
29618
29619 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29620
29621 Use .asciz instead of .string
29622
29623 * i386/pc/diskboot.S: use .asciz instead of .string
29624 * i386/pc/boot.S: likewise
29625 * include/grub/dl.h (GRUB_MOD_DEP): likewise
29626 (GRUB_MOD_NAME): likewise
29627
29628 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29629
29630 gfxpayload support
29631
29632 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
29633 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
29634 (grub_video_setup): remove
29635 (grub_video_set_mode): new prototype
29636 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
29637 (vid_mode): remove
29638 (linux_vesafb_res): compile only on PCBIOS
29639 (grub_linux_boot): support gfxpayload
29640 * loader/i386/pc/xnu.c (video_hook): new function
29641 (grub_xnu_set_video): support gfxpayload
29642 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
29643 (DEFAULT_VIDEO_HEIGHT): likewise
29644 (DEFAULT_VIDEO_FLAGS): likewise
29645 (DEFAULT_VIDEO_MODE): new definition
29646 (video_hook): new function
29647 (grub_gfxterm_init): use grub_video_set_mode
29648 * util/grub.d/30_os-prober.in: remove explicit modesetting before
29649 loading xnu
29650 * video/video.c (grub_video_setup): removed
29651 (grub_video_set_mode): new function based on grub_gfxterm_init and
29652 grub_video_setup
29653
29654 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29655
29656 Avoid calling biosdisk in drivemap
29657
29658 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
29659 (revparse_biosdisk): likewise
29660 (list_mappings): derive name from id directly
29661 (grub_cmd_drivemap): use tryparse_diskstring
29662
29663 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29664
29665 Script fixes
29666
29667 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
29668 (grub_lexer_param): add tokenonhold
29669 (grub_script_create_cmdline): remove cmdline. All callers updated
29670 (grub_script_function_create): make functionname
29671 grub_script_arg. All callers updated
29672 (grub_script_execute_argument_to_string): new prototype
29673 * kern/parser.c (state_transitions): reorder
29674 (grub_parser_cmdline_state): fix a bug and make more compact
29675 * script/sh/execute.c (grub_script_execute_argument_to_string):
29676 make global
29677 (grub_script_execute_cmdline): use new format
29678 * script/sh/function.c (grub_script_function_create): make functionname
29679 grub_script_arg. All callers updated
29680 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
29681 (grub_script_yylex): remove
29682 (grub_script_yylex2): renamed to ...
29683 (grub_script_yylex): ...renamed
29684 parse the expressions like a${b}c
29685 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
29686 (GRUB_PARSER_TOKEN_VAR): remove
29687 (GRUB_PARSER_TOKEN_NAME): likewise
29688 ("if"): declare as typeless
29689 ("while"): likewise
29690 ("function"): likewise
29691 ("else"): likewise
29692 ("then"): likewise
29693 ("fi"): likewise
29694 (text): remove
29695 (argument): likewise
29696 (script): accept empty scripts and make exit on error
29697 (arguments): use GRUB_PARSER_TOKEN_ARG
29698 (function): likewise
29699 (command): move error handling to script
29700 (menuentry): move grub_script_lexer_ref before
29701 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
29702 argument. All callers updated
29703
29704 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
29705
29706 Prevent GRUB from probing floppies during boot.
29707
29708 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
29709 * commands/search.c (options): Add --no-floppy.
29710 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
29711 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
29712 --no-floppy when searching for UUIDs.
29713
29714 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
29715
29716 Simplify the code duplication in commands/search.c.
29717
29718 * commands/search.c (search_label, search_fs_uuid): Merge into ...
29719 (search_fs): ... this. Update all users.
29720
29721 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
29722
29723 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
29724
29725 2009-05-28 Pavel Roskin <proski@gnu.org>
29726
29727 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
29728 Remove the original symlink explicitly.
29729
29730 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
29731 just one slash. That's how grub_fshelp_find_file() does it.
29732
29733 2009-05-26 Pavel Roskin <proski@gnu.org>
29734
29735 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
29736 to `str'.
29737
29738 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
29739 possibly unused.
29740
29741 2009-05-25 Christian Franke <franke@computer.org>
29742
29743 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
29744 register.
29745 (grub_atapi_identify): Add wait after drive select.
29746 (grub_ata_identify): Do more strict status register check before
29747 calling grub_atapi_identify (). Suppress error message if status
29748 register is 0x00 after command failure. Add status register
29749 check after PIO read to avoid bogus identify due to stuck DRQ.
29750 Thanks to Pavel Roskin for testing.
29751 (grub_device_initialize): Remove unsafe status register check.
29752 Thanks to 'phcoder' for problem report and patch.
29753 Prevent sign extension in debug message.
29754
29755 2009-05-23 Colin D Bennett <colin@gibibit.com>
29756
29757 Cleaned up `include/grub/normal.h'. Grouped prototypes by
29758 definition file, and functions defined in `normal/menu.c' have had
29759 their prototypes moved to `include/grub/menu.h' for consistency.
29760
29761 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
29762 from normal.h.
29763 (grub_menu_get_entry): Likewise.
29764 (grub_menu_get_timeout): Likewise.
29765 (grub_menu_set_timeout): Likewise.
29766 (grub_menu_execute_entry): Likewise.
29767 (grub_menu_execute_with_fallback): Likewise.
29768 (grub_menu_entry_run): Likewise.
29769
29770 * include/grub/normal.h: Re-ordered and grouped function
29771 prototypes by file that the function is defined in.
29772 (grub_menu_execute_callback): Removed; moved to menu.h.
29773 (grub_menu_get_entry): Likewise.
29774 (grub_menu_get_timeout): Likewise.
29775 (grub_menu_set_timeout): Likewise.
29776 (grub_menu_execute_entry): Likewise.
29777 (grub_menu_execute_with_fallback): Likewise.
29778 (grub_menu_entry_run): Likewise.
29779 (grub_menu_addentry): Renamed from this ...
29780 (grub_normal_add_menu_entry): ... to this.
29781
29782 * normal/main.c (grub_menu_addentry): Renamed from this ...
29783 (grub_normal_add_menu_entry): ... to this.
29784
29785 * script/sh/execute.c (grub_script_execute_menuentry): Update
29786 reference to renamed grub_menu_addentry function.
29787
29788 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
29789
29790 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
29791
29792 2009-05-22 Pavel Roskin <proski@gnu.org>
29793
29794 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
29795 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
29796 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
29797 compiling for the i386 targets, but not for the utilities.
29798
29799 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
29800 to grub_uint8_t.
29801 (grub_root_drive): Likewise.
29802 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
29803 remove alignment.
29804 (grub_root_drive): Change size to byte.
29805 (grub_start_addr): Remove.
29806 (grub_end_addr): Likewise.
29807 (grub_apm_bios_info): Likewise.
29808
29809 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
29810
29811 * normal/i386: Remove.
29812 * normal/powerpc: Likewise.
29813 * normal/sparc64: Likewise.
29814 * normal/x86_64: Likewise.
29815
29816 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
29817
29818 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
29819 * loader/i386/linux_trampoline.S: Fix indentation
29820 * loader/i386/xnu_helper.S: Likewise
29821
29822 2009-05-18 Colin D Bennett <colin@gibibit.com>
29823
29824 Display error messages when parsing a Lua statement fails.
29825 Previously, executing a syntactically invalid statement like
29826 ")foo" or "bar;" would silently fail.
29827
29828 * script/lua/grub_main.c (handle_lua_error): New function.
29829 (grub_lua_parse_line): Improved reporting of Lua parser and
29830 execution errors.
29831
29832 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
29833
29834 Remove -Werror which causes build to fail on some systems
29835
29836 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
29837 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
29838 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
29839
29840 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
29841
29842 trampoline for linux on 64-bit platform
29843
29844 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
29845 loader/i386/efi/linux_trampoline.S
29846 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
29847 declaration
29848 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
29849 here
29850 * loader/i386/linux_trampoline.S: moved here
29851 * loader/i386/efi/linux.c (allocate_pages): reserve space for
29852 trampoline
29853 (jumpvector): removed
29854 (grub_linux_trampoline_start): new declaration
29855 (grub_linux_trampoline_end): likewise
29856 (grub_linux_boot): use trampoline when on 64-bit platform
29857 * loader/i386/linux.c: likewise
29858
29859 2009-05-16 Pavel Roskin <proski@gnu.org>
29860
29861 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
29862 const to avoid a warning.
29863 (grub_lua_setenv): Likewise.
29864 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
29865 lmsg to fix a warning.
29866
29867 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
29868
29869 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
29870 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
29871 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
29872 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
29873 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
29874 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
29875 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
29876 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
29877
29878 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
29879
29880 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
29881
29882 2009-05-16 Bean <bean123ch@gmail.com>
29883
29884 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
29885 (lua_mod_SOURCES): New variable.
29886 (lua_mod_CFLAGS): Likewise.
29887 (lua_mod_LDFLAGS): Likewise.
29888
29889 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
29890 (setjmp_mod_SOURCES): New variable.
29891 (setjmp_mod_CFLAGS): Likewise.
29892 (setjmp_LDFLAGS): Likewise.
29893
29894 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
29895 (setjmp_mod_SOURCES): New variable.
29896 (setjmp_mod_CFLAGS): Likewise.
29897 (setjmp_LDFLAGS): Likewise.
29898
29899 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
29900 (setjmp_mod_SOURCES): New variable.
29901 (setjmp_mod_CFLAGS): Likewise.
29902 (setjmp_LDFLAGS): Likewise.
29903
29904 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
29905 (setjmp_mod_SOURCES): New variable.
29906 (setjmp_mod_CFLAGS): Likewise.
29907 (setjmp_LDFLAGS): Likewise.
29908
29909 * normal/i386/setjmp.S: Moved from here ...
29910 * lib/i386/setjmp.S: ... Moved here
29911 * normal/x86_64/setjmp.S: Moved from here ...
29912 * lib/x86_64/setjmp.S: ... Moved here
29913 * normal/powerpc/setjmp.S: Moved from here ...
29914 * lib/powerpc/setjmp.S: ... Moved here
29915 * normal/sparc64/setjmp.S: Moved from here ...
29916 * lib/sparc64/setjmp.S: ... Moved here
29917
29918 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
29919 returns_twice in mingw.
29920
29921 * script/lua/grub_lib.c: New file.
29922 * script/lua/grub_lib.h: Likewise.
29923 * script/lua/grub_lua.h: Likewise.
29924 * script/lua/grub_main.c: Likewise.
29925 * script/lua/lapi.c: Likewise.
29926 * script/lua/lapi.h: Likewise.
29927 * script/lua/lauxlib.c: Likewise.
29928 * script/lua/lauxlib.h: Likewise.
29929 * script/lua/lbaselib.c: Likewise.
29930 * script/lua/lcode.c: Likewise.
29931 * script/lua/lcode.h: Likewise.
29932 * script/lua/ldblib.c: Likewise.
29933 * script/lua/ldebug.c: Likewise.
29934 * script/lua/ldebug.h: Likewise.
29935 * script/lua/ldo.c: Likewise.
29936 * script/lua/ldo.h: Likewise.
29937 * script/lua/ldump.c: Likewise.
29938 * script/lua/lfunc.c: Likewise.
29939 * script/lua/lfunc.h: Likewise.
29940 * script/lua/lgc.c: Likewise.
29941 * script/lua/lgc.h: Likewise.
29942 * script/lua/linit.c: Likewise.
29943 * script/lua/liolib.c: Likewise.
29944 * script/lua/llex.c: Likewise.
29945 * script/lua/llex.h: Likewise.
29946 * script/lua/llimits.h: Likewise.
29947 * script/lua/lmathlib.c: Likewise.
29948 * script/lua/lmem.c: Likewise.
29949 * script/lua/lmem.h: Likewise.
29950 * script/lua/loadlib.c: Likewise.
29951 * script/lua/lobject.c: Likewise.
29952 * script/lua/lobject.h: Likewise.
29953 * script/lua/lopcodes.c: Likewise.
29954 * script/lua/lopcodes.h: Likewise.
29955 * script/lua/loslib.c: Likewise.
29956 * script/lua/lparser.c: Likewise.
29957 * script/lua/lparser.h: Likewise.
29958 * script/lua/lstate.c: Likewise.
29959 * script/lua/lstate.h: Likewise.
29960 * script/lua/lstring.c: Likewise.
29961 * script/lua/lstring.h: Likewise.
29962 * script/lua/lstrlib.c: Likewise.
29963 * script/lua/ltable.c: Likewise.
29964 * script/lua/ltable.h: Likewise.
29965 * script/lua/ltablib.c: Likewise.
29966 * script/lua/ltm.c: Likewise.
29967 * script/lua/ltm.h: Likewise.
29968 * script/lua/lua.h: Likewise.
29969 * script/lua/luaconf.h: Likewise.
29970 * script/lua/lualib.h: Likewise.
29971 * script/lua/lundump.c: Likewise.
29972 * script/lua/lundump.h: Likewise.
29973 * script/lua/lvm.c: Likewise.
29974 * script/lua/lvm.h: Likewise.
29975 * script/lua/lzio.c: Likewise.
29976 * script/lua/lzio.h: Likewise.
29977
29978 2009-05-16 Bean <bean123ch@gmail.com>
29979
29980 * include/grub/kernel.h (grub_module_header_types): Add type
29981 OBJ_TYPE_CONFIG.
29982
29983 * kern/main.c (grub_load_config): New function.
29984 (grub_main): Call grub_load_config to read boot config.
29985
29986 * grub-mkimage (generate_image): New parameter config_path.
29987 (options): New option --config.
29988 (main): Parse --config option, and pass it to generate_image.
29989
29990 2009-05-14 Christian Franke <franke@computer.org>
29991
29992 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
29993 This fixes build on Cygwin.
29994
29995 2009-05-14 Pavel Roskin <proski@gnu.org>
29996
29997 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
29998 jump. This saves two bytes, so the typical case of 2 swapped
29999 drives would fit 32 bytes.
30000
30001 2009-05-13 Pavel Roskin <proski@gnu.org>
30002
30003 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
30004 grub_uint32_t to avoid a warning.
30005
30006 * loader/i386/linux.c (allocate_pages): When assigning
30007 real_mode_mem, cast through grub_size_t to fix a warning. The
30008 code already makes sure that the value would fit a pointer.
30009 (grub_linux_setup_video): Cast render_target->data to
30010 grub_size_t to fix a warning.
30011
30012 2009-05-13 Javier Martín <lordhabbit@gmail.com>
30013
30014 * commands/i386/pc/drivemap.c: New file - implement drivemap
30015 command.
30016 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
30017 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
30018
30019 2009-05-13 Pavel Roskin <proski@gnu.org>
30020
30021 * util/i386/pc/grub-setup.c (setup): Remove unused variable
30022 embedding_area_exists.
30023
30024 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
30025
30026 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
30027 it easier to understand / work with.
30028 Improve warning messages for cases where there's no embedding area,
30029 or when it is too small (or core.img too large).
30030
30031 2009-05-13 Pavel Roskin <proski@gnu.org>
30032
30033 * loader/i386/pc/multiboot2.c: Add necessary includes for
30034 grub_multiboot2_real_boot().
30035
30036 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
30037 PX record is always little-endian. We only need the lower 2
30038 bytes of the mode.
30039
30040 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
30041 facilitate code reuse.
30042 (grub_cpio_mount): Use "struct head", not a char buffer. This
30043 fixes a warning reported by gcc 4.4.
30044
30045 * kernel/disk.c (grub_disk_read): Use void pointer for the
30046 buffer.
30047 (grub_disk_write): Use const void pointer for the buffer.
30048 Adjust all callers. Remove unnecessary casts.
30049
30050 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
30051
30052 * util/i386/pc/grub-install.in: Update copyright year.
30053
30054 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
30055
30056 gptsync
30057
30058 * commands/gptsync.c: new file
30059 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
30060 (gptsync_mod_SOURCES): new variable
30061 (gptsync_mod_CFLAGS): likewise
30062 (gptsync_mod_LDFLAGS): likewise
30063 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
30064 new definition
30065 (GRUB_PC_PARTITION_TYPE_HFS): likewise
30066 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
30067 * conf/i386-ieee1275.rmk: likewise
30068 * conf/i386-pc.rmk: likewise
30069 * conf/powerpc-ieee1275.rmk: likewise
30070
30071 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
30072
30073 Fixed grub-emu
30074
30075 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
30076 (grub_dl_ref): likewise
30077
30078 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
30079
30080 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
30081 split in two functions (one for msdos and one for gpt).
30082
30083 2009-05-08 Pavel Roskin <proski@gnu.org>
30084
30085 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
30086 not modified.
30087
30088 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
30089 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
30090 Initialize them with -1. Add sanity check for bad1. Eliminate
30091 nerr variable.
30092
30093 2009-05-08 David S. Miller <davem@davemloft.net>
30094
30095 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
30096
30097 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
30098
30099 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
30100 existence.
30101
30102 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
30103
30104 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
30105 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
30106
30107 2009-05-05 David S. Miller <davem@davemloft.net>
30108
30109 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
30110
30111 2009-05-05 Pavel Roskin <proski@gnu.org>
30112
30113 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
30114 of grub_dl_ref() and grub_dl_unref().
30115 * commands/parttool.c: Remove preprocessor conditionals around
30116 grub_dl_ref() and grub_dl_unref().
30117 * fs/affs.c: Likewise.
30118 * fs/afs.c: Likewise.
30119 * fs/cpio.c: Likewise.
30120 * fs/ext2.c: Likewise.
30121 * fs/fat.c: Likewise.
30122 * fs/hfs.c: Likewise.
30123 * fs/hfsplus.c: Likewise.
30124 * fs/iso9660.c: Likewise.
30125 * fs/jfs.c: Likewise.
30126 * fs/minix.c: Likewise.
30127 * fs/ntfs.c: Likewise.
30128 * fs/reiserfs.c: Likewise.
30129 * fs/sfs.c: Likewise.
30130 * fs/udf.c: Likewise.
30131 * fs/ufs.c: Likewise.
30132 * fs/xfs.c: Likewise.
30133 * include/grub/dl.h: Likewise.
30134 * loader/xnu.c: Likewise.
30135
30136 2009-05-04 Pavel Roskin <proski@gnu.org>
30137
30138 * commands/acpi.c: Remove unused variable my_mod.
30139 * partmap/amiga.c: Likewise.
30140 * partmap/apple.c: Likewise.
30141 * partmap/gpt.c: Likewise.
30142 * partmap/pc.c: Likewise.
30143 * partmap/sun.c: Likewise.
30144 * term/gfxterm.c: Likewise.
30145 * term/i386/pc/vesafb.c: Likewise.
30146 * term/i386/pc/vga.c: Likewise.
30147
30148 2009-05-04 David S. Miller <davem@davemloft.net>
30149
30150 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
30151 pointer args to grub_ieee1275_get_property().
30152
30153 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
30154
30155 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
30156 devices, and do not traverse down under controller nodes.
30157
30158 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
30159 (grub_ofdisk_open): Use it to un-escape "," characters.
30160 * kern/disk.c (find_part_sep): New.
30161 (grub_disk_open): Use it to find the first non-escaped ','
30162 character in the disk name.
30163 * util/ieee1275/devicemap.c (escape_of_path): New.
30164 (grub_util_emit_devicemap_entry): Use it.
30165 * util/sparc64/ieee1275/grub-install.in: Update script to
30166 strip partition specifiers properly by not triggering on
30167 '\' escaped ',' characters.
30168
30169 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30170
30171 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
30172 to 0x300.
30173 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
30174 resolutions.
30175 (linux_vesafb_modes): Add a lot of additional modes to the list (based
30176 on documentation from Wikipedia).
30177
30178 2009-05-04 Pavel Roskin <proski@gnu.org>
30179
30180 * disk/ata.c: Spelling fixes.
30181 * disk/raid.c: Likewise.
30182 * disk/usbms.c: Likewise.
30183 * disk/dmraid_nvidia.c: Likewise.
30184 * kern/ieee1275/openfw.c: Likewise.
30185 * kern/ieee1275/init.c: Likewise.
30186 * kern/ieee1275/cmain.c: Likewise.
30187 * boot/i386/pc/cdboot.S: Likewise.
30188 * video/readers/png.c: Likewise.
30189 * video/i386/pc/vbe.c: Likewise.
30190 * fs/udf.c: Likewise.
30191 * fs/hfs.c: Likewise.
30192 * fs/reiserfs.c: Likewise.
30193 * efiemu/runtime/efiemu.c: Likewise.
30194 * efiemu/main.c: Likewise.
30195 * efiemu/mm.c: Likewise.
30196 * include/grub/elf.h: Likewise.
30197 * include/grub/xnu.h: Likewise.
30198 * include/grub/usbdesc.h: Likewise.
30199 * include/grub/usb.h: Likewise.
30200 * include/grub/script_sh.h: Likewise.
30201 * include/grub/lib/LzmaEnc.h: Likewise.
30202 * include/grub/efiemu/efiemu.h: Likewise.
30203 * include/grub/command.h: Likewise.
30204 * normal/menu.c: Likewise.
30205 * normal/main.c: Likewise.
30206 * normal/datetime.c: Likewise.
30207 * bus/usb/uhci.c: Likewise.
30208 * mmap/i386/uppermem.c: Likewise.
30209 * mmap/mmap.c: Likewise.
30210 * commands/acpi.c: Likewise.
30211 * commands/test.c: Likewise.
30212 * partmap/apple.c: Likewise.
30213 * font/font.c: Likewise.
30214 * loader/sparc64/ieee1275/linux.c: Likewise.
30215 * loader/macho.c: Likewise.
30216 * loader/i386/bsd_trampoline.S: Likewise.
30217 * loader/i386/bsd.c: Likewise.
30218 * loader/xnu.c: Likewise.
30219 * term/i386/pc/vesafb.c: Likewise.
30220 * term/usb_keyboard.c: Likewise.
30221 * util/resolve.c: Likewise.
30222 * util/getroot.c: Likewise.
30223
30224 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
30225
30226 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
30227
30228 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30229
30230 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
30231 build error.
30232
30233 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30234
30235 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
30236 parameter only available on BIOS.
30237
30238 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
30239
30240 Removed wrong semicolon in declaration
30241
30242 * grub/misc.h (grub_dprintf): remove semicolon
30243
30244 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30245
30246 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
30247 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
30248 is done by grub_cmd_linux() now).
30249 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
30250 restore video to text mode.
30251 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
30252 indicates lack of "vga=" parameter. "vga=0" is mapped to
30253 `GRUB_LINUX_VID_MODE_NORMAL'.
30254
30255 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
30256
30257 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
30258 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
30259 and `normal/script.c'. Add `kern/rescue_reader.c',
30260 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
30261 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
30262 `grub_script.tab.c'.
30263
30264 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30265 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30266 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30267 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
30268 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30269
30270 * Makefile.in: Remove duplicated 2008 in Copyright line.
30271
30272 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30273
30274 * util/misc.c (grub_util_warn): New function. Emits a warning
30275 unconditionally.
30276 * include/grub/util/misc.h (grub_util_warn): New declaration.
30277
30278 * util/i386/pc/grub-install.in: Understand --force and pass it down
30279 to grub-setup.
30280
30281 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
30282 down to setup().
30283 (setup): Improve error messages and add warnings when requested to
30284 install in odd layouts. Refuse to install using blocklists unless
30285 --force was set.
30286
30287 2009-05-04 martin f. krafft <madduck@madduck.net>
30288
30289 * disk/raid.c (grub_raid_scan_device): Improve debug message.
30290
30291 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
30292
30293 Updated copyright year
30294
30295 * fs/hfsplus.c: updated copyright year
30296
30297 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
30298
30299 HFS+ UUID
30300
30301 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
30302 in the space previously used by unused3
30303 (grub_hfsplus_uuid): new function
30304 (grub_hfsplus_fs): added uuid field
30305
30306 2009-05-03 Pavel Roskin <proski@gnu.org>
30307
30308 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
30309 suppress warnings. It's no longer needed.
30310 * disk/host.c: Likewise.
30311 * disk/ata_pthru.c: Likewise.
30312 * disk/loopback.c: Likewise.
30313 * hook/datehook.c: Likewise.
30314 * parttool/pcpart.c: Likewise.
30315 * fs/i386/pc/pxe.c: Likewise.
30316 * fs/ntfscomp.c: Likewise.
30317 * efiemu/main.c: Likewise.
30318 * mmap/mmap.c: Likewise.
30319 * commands/crc.c: Likewise.
30320 * commands/hexdump.c: Likewise.
30321 * commands/hdparm.c: Likewise.
30322 * commands/acpi.c: Likewise.
30323 * commands/echo.c: Likewise.
30324 * commands/minicmd.c: Likewise.
30325 * commands/blocklist.c: Likewise.
30326 * commands/memrw.c: Likewise.
30327 * commands/loadenv.c: Likewise.
30328 * commands/usbtest.c: Likewise.
30329 * commands/lsmmap.c: Likewise.
30330 * commands/boot.c: Likewise.
30331 * commands/parttool.c: Likewise.
30332 * commands/configfile.c: Likewise.
30333 * commands/search.c: Likewise.
30334 * commands/ieee1275/suspend.c: Likewise.
30335 * commands/cat.c: Likewise.
30336 * commands/i386/pc/pxecmd.c: Likewise.
30337 * commands/i386/pc/play.c: Likewise.
30338 * commands/i386/pc/halt.c: Likewise.
30339 * commands/i386/pc/vbeinfo.c: Likewise.
30340 * commands/i386/pc/vbetest.c: Likewise.
30341 * commands/lspci.c: Likewise.
30342 * commands/date.c: Likewise.
30343 * commands/handler.c: Likewise.
30344 * commands/ls.c: Likewise.
30345 * commands/test.c: Likewise.
30346 * commands/cmp.c: Likewise.
30347 * commands/efi/loadbios.c: Likewise.
30348 * commands/efi/fixvideo.c: Likewise.
30349 * commands/halt.c: Likewise.
30350 * commands/help.c: Likewise.
30351 * commands/reboot.c: Likewise.
30352 * hello/hello.c: Likewise.
30353 * script/sh/main.c: Likewise.
30354 * loader/xnu.c: Likewise.
30355 * term/terminfo.c: Likewise.
30356 * term/i386/pc/serial.c: Likewise.
30357 * term/usb_keyboard.c: Likewise.
30358
30359 2009-05-03 David S. Miller <davem@davemloft.net>
30360
30361 * normal/menu.c: Include grub/parser.h
30362
30363 2009-05-03 Pavel Roskin <proski@gnu.org>
30364
30365 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
30366 not char*.
30367 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
30368 Suggested by Javier Martín <lordhabbit@gmail.com>
30369
30370 * util/i386/pc/grub-mkrescue.in: Allow for the case when
30371 efiemu??.o doesn't exist.
30372 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
30373 copying.
30374
30375 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
30376
30377 FreeBSD 64-bit support
30378
30379 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
30380 and loader/i386/bsd_trampoline.S
30381 (bsd_mod_ASFLAGS): new variable
30382 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
30383 (FREEBSD_MODTYPE_KERNEL64): likewise
30384 (grub_bsd64_trampoline_start): likewise
30385 (grub_bsd64_trampoline_end): likewise
30386 (grub_bsd64_trampoline_selfjump): likewise
30387 (grub_bsd64_trampoline_gdt): likewise
30388 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
30389 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
30390 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
30391 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
30392 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
30393 of "attrib" member
30394 * loader/i386/bsd_pagetable.c: new file
30395 * loader/i386/bsd_trampoline.S: likewise
30396 * loader/i386/bsd.c (ALIGN_QWORD): new macro
30397 (ALIGN_VAR): likewise
30398 (entry_hi): new variable
30399 (kern_end_mdofs): likewise
30400 (is_64bit): likewise
30401 (grub_freebsd_add_meta): use ALIGN_VAR
30402 (grub_e820_mmap): new declaration
30403 (grub_freebsd_add_mmap): new function
30404 (grub_freebsd_add_meta_module): support 64 bit kernels
30405 (grub_freebsd_list_modules): use ALIGN_VAR
30406 (gdt_descriptor): new declaration
30407 (grub_freebsd_boot): support 64 bit kernels
30408 (grub_bsd_elf64_hook): new function
30409 (grub_bsd_load_elf): support elf64
30410
30411 2009-05-03 Bean <bean123ch@gmail.com>
30412
30413 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
30414 after we get the result of if statement.
30415
30416 2009-05-03 Bean <bean123ch@gmail.com>
30417
30418 * Makefile.in (enable_efiemu): New variable.
30419
30420 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
30421 set.
30422 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
30423 path.
30424 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
30425 path, add -mno-red-zone option.
30426 (efiemu64_s.o): Likewise.
30427 (efiemu64.o): Use macro $^ for source file.
30428
30429 * configure.ac (--enable-efiemu): New option.
30430
30431 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
30432
30433 xnu support
30434
30435 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
30436 (pkglib_MODULES): add xnu.mod
30437 (xnu_mod_SOURCES): new variable
30438 (xnu_mod_CFLAGS): likewise
30439 (xnu_mod_LDFLAGS): likewise
30440 (xnu_mod_ASFLAGS): likewise
30441 * conf/i386-pc.rmk: likewise
30442 * conf/x86_64-efi.rmk: likewise
30443 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
30444 new declaration
30445 * include/grub/i386/macho.h: new file
30446 * include/grub/i386/xnu.h: likewise
30447 * include/grub/macho.h: likewise
30448 * include/grub/machoload.h: likewise
30449 * include/grub/x86_64/macho.h: likewise
30450 * include/grub/x86_64/xnu.h: likewise
30451 * include/grub/xnu.h: likewise
30452 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
30453 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
30454 * loader/i386/efi/xnu.c: new file
30455 * loader/i386/pc/xnu.c: likewise
30456 * loader/i386/xnu.c: likewise
30457 * loader/i386/xnu_helper.S: likewise
30458 * loader/macho.c: likewise
30459 * loader/xnu.c: likewise
30460 * loader/xnu_resume.c: likewise
30461 * util/grub-dumpdevtree: likewise
30462 * include/grub/i386/pit.h: include grub/err.h
30463 (grub_pit_wait): export
30464 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
30465
30466 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
30467
30468 Efiemu
30469
30470 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
30471 _linux_efi, linux_efi.
30472 new files in grub-emu
30473 new targets efiemu32.o and efiemu64.o
30474 * loader/linux_normal_efiemu.c: likewise
30475 * loader/i386/efi/linux.c: added preliminary efiemu support
30476 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
30477 files to copy
30478 * include/grub/autoefi.h: new file
30479 * include/grub/i386/efiemu.h: likewise
30480 * include/grub/i386/pc/efiemu.h: likewise
30481 * include/grub/efi/api.h: add LL suffix when necessary
30482 new definitions relating to tables
30483 * include/grub/efiemu/efiemu.h: new file
30484 * include/grub/efiemu/runtime.h: likewise
30485 * efiemu/prepare.c: likewise
30486 * efiemu/loadcore_common.c: likewise
30487 * efiemu/loadcore64.c: likewise
30488 * efiemu/runtime/efiemu.sh: likewise
30489 * efiemu/runtime/efiemu.S: likewise
30490 * efiemu/runtime/efiemu.c: likewise
30491 * efiemu/runtime/config.h: likewise
30492 * efiemu/prepare32.c: likewise
30493 * efiemu/main.c: likewise
30494 * efiemu/modules/pnvram.c: likewise
30495 * efiemu/modules/i386: likewise
30496 * efiemu/modules/i386/pc: likewise
30497 * efiemu/modules/acpi.c: likewise
30498 * efiemu/i386/pc/cfgtables.c: likewise
30499 * efiemu/i386/loadcore64.c: likewise
30500 * efiemu/i386/loadcore32.c: likewise
30501 * efiemu/prepare64.c: likewise
30502 * efiemu/loadcore.c: likewise
30503 * efiemu/symbols.c: likewise
30504 * efiemu/mm.c: likewise
30505 * efiemu/loadcore32.c: likewise
30506
30507 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
30508
30509 ACPI spoofing
30510
30511 * commands/acpi.c: new file
30512 * commands/i386/pc/acpi.c: likewise
30513 * commands/efi/acpi.c: likewise
30514 * include/grub/acpi.h: likewise
30515 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
30516 (acpi_mod_SOURCES): new variable
30517 (acpi_mod_CFLAGS): likewise
30518 (acpi_mod_LDFLAGS): likewise
30519 * conf/i386-efi.rmk: likewise
30520 * conf/x86_64-efi.rmk: likewise
30521
30522 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
30523
30524 Missing part from mmap patch
30525
30526 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
30527 (grub_mmap_unregister)
30528 (grub_mmap_free_and_unregister): use grub_mmap_register
30529
30530 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
30531
30532 Mmap services
30533
30534 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
30535 * loader/i386/linux.c (find_mmap_size): likewise
30536 (allocate_pages): likewise
30537 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
30538 (grub_fill_multiboot_mmap): likewise
30539 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
30540 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
30541 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
30542 (OPENBSD_MMAP_RESERVED): likewise
30543 * include/grub/i386/pc/memory.h: include grub/memory.h
30544 (grub_lower_mem): removed
30545 (grub_upper_mem): likewise
30546 (GRUB_MACHINE_MEMORY_ACPI): new definition
30547 (GRUB_MACHINE_MEMORY_NVS): likewise
30548 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
30549 (GRUB_MACHINE_MEMORY_HOLE): likewise
30550 (grub_machine_mmap_register): likewise
30551 (grub_machine_mmap_unregister): likewise
30552 (grub_machine_get_upper): likewise
30553 (grub_machine_get_lower): likewise
30554 (grub_machine_get_post64): likewise
30555 * include/grub/i386/efi/memory.h: new file
30556 * include/grub/x86_64/efi/memory.h: likewise
30557 * include/grub/efi/memory.h: likewise
30558 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
30559 (mmap_mod_SOURCES): new variable
30560 (mmap_mod_LDFLAGS): likewise
30561 (mmap_mod_ASFLAGS): likewise
30562 * conf/i386-coreboot.rmk: likewise
30563 * conf/i386-ieee1275.rmk: likewise
30564 * conf/i386-efi.rmk: likewise
30565 * conf/x86_64-efi.rmk: likewise
30566 * include/grub/types.h (UINT_TO_PTR): new macro
30567 (PTR_TO_UINT32): likewise
30568 (PTR_TO_UINT64): likewise
30569 * include/grub/memory.h: new file
30570 * mmap/i386/pc/mmap.c: likewise
30571 * mmap/i386/pc/mmap_helper.S: likewise
30572 * mmap/i386/uppermem.c: likewise
30573 * mmap/mmap.c: likewise
30574 * mmap/efi/mmap.c: likewise
30575 * kern/i386/coreboot/init.c (grub_machine_init): don't use
30576 grub_upper_mem
30577 * kern/i386/pc/init.c (grub_lower_mem): removed variable
30578 (grub_upper_mem): likewise
30579 (grub_machine_init): don't use grub_upper_mem,
30580 make grub_lower_mem local
30581 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
30582 grub_mmap_iterate and grub_mmap_get_upper
30583 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
30584
30585 2009-05-02 Bean <bean123ch@gmail.com>
30586
30587 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
30588 script/sh/parser.y.
30589 (pkglib_MODULES): Add normal.mod and sh.mod.
30590 (normal_SOURCES): New variable.
30591 (normal_mod_CFLAGS): Likewise.
30592 (normal_mod_LDFLAGS): Likewise.
30593 (sh_mod_SOURCES): Likewise.
30594 (sh_mod_CFLAGS): Likewise.
30595 (sh_mod_LDFLAGS): Likewise.
30596
30597 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
30598 script/sh/lexer.c_DEPENDENCIES.
30599 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
30600 kern/rescue_reader.c and kern/rescue_parser.c.
30601 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
30602 (grub_emu_SOURCES): Change source files.
30603 (pkglib_MODULES): Remove normal.mod.
30604 (normal_SOURCES): Removed.
30605 (normal_mod_CFLAGS): Likewise.
30606 (normal_mod_LDFLAGS): Likewise.
30607 * conf/i386-coreboot.rmk: Likewise.
30608 * conf/i386-efi.rmk: Likewise.
30609 * conf/i386-ieee1276.rmk: Likewise.
30610 * conf/powerpc-ieee1275.rmk: Likewise.
30611 * conf/sparc64-ieee1275.rmk: Likewise.
30612 * conf/x86_64-efi.rmk: Likewise.
30613
30614 * include/grub/command.h (grub_command_execute): New inline function.
30615
30616 * include/grub/menu.h (grub_menu_entry): Removed commands field.
30617
30618 * include/grub/normal.h: Remove <grub/setjmp.h>.
30619 (grub_fs_module_list): Moved to normal/autofs.c.
30620 (grub_exit_env): Removed.
30621 (grub_command_execute): Likewise.
30622 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
30623 parameter script.
30624 (read_command_list): New function declaration.
30625 (read_fs_list): Likewise.
30626
30627 * include/parser.h: Include <grub/reader.h>.
30628 (grub_parser_split_cmdline): Change type of getline parameter.
30629 (grub_parser): New structure.
30630 (grub_parser_class): New variable.
30631 (grub_parser_execute): New function declaration.
30632 (grub_register_rescue_parser): Likewise.
30633 (grub_parser_register): New inline function.
30634 (grub_parser_unregister): Likewise.
30635 (grub_parser_get_current): Likewise.
30636 (grub_parser_set_current): Likewise.
30637
30638 * include/grub/reader.h: New file.
30639 * kern/reader.c: Likewise.
30640 * kern/rescue_parser.c: Likewise.
30641 * kern/rescue_reader.c: Likewise.
30642 * normal/autofs.c: Likewise.
30643 * normal/dyncmd.c: Likewise.
30644
30645 * include/grub/rescue.h: Removed.
30646 * normal/command.h: Likewise.
30647
30648 * include/grub/script.h: Moved to ...
30649 * include/grub/script_sh.h: ... Moved here.
30650 * normal/execute.c: Moved to ...
30651 * script/sh/execute.c: ... Moved here.
30652 * normal/function.c: Moved to ...
30653 * script/sh/function.c: ... Moved here.
30654 * normal/lexer.c: Moved to ...
30655 * script/sh/lexer.c: ... Moved here.
30656 * normal/parser.y: Moved to ...
30657 * script/sh/parser.y: ... Moved here.
30658 * normal/script.c: Moved to ...
30659 * script/sh/script.c: ... Moved here.
30660
30661 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
30662 <grub/reader.h>.
30663 (grub_exit_env): Removed.
30664 (fs_module_list): Moved to normal/autofs.c.
30665 (grub_file_getline): Don't handle comment here.
30666 (free_menu): Skip removed field entry->commands.
30667 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
30668 script parameter.
30669 (read_config_file): Removed nested parameter, change getline function.
30670 (grub_enter_normal_mode): Removed.
30671 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
30672 (read_command_list): Likewise.
30673 (autoload_fs_module): Moved to normal/autofs.c.
30674 (read_fs_list): Likewise.
30675 (reader_nested): New variable.
30676 (grub_normal_execute): Run parser.sh to switch to sh parser.
30677 (grub_cmd_rescue): Removed.
30678 (cmd_normal): Removed.
30679 (grub_cmd_normal): Unregister itself at the beginning. Don't register
30680 rescue command.
30681 (grub_cmdline_run): New function.
30682 (grub_normal_reader_init): Likewise.
30683 (grub_normal_read_line): Likewise.
30684 (grub_env_write_pager): Likewise.
30685 (cmdline): New variable.
30686 (grub_normal_reader): Likewise.
30687 (GRUB_MOD_INIT): Register normal reader and set as current, register
30688 pager hook, register normal command with grub_register_command_prio,
30689 so that it won't show up in command.lst.
30690 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
30691 grub_fs_autoload_hook.
30692
30693 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
30694 (grub_menu_execute_entry): Replace grub_script_execute with
30695 grub_parser_execute, change parameter to grub_command_execute.
30696
30697 * normal/menu_text.c: Remove <grub/script.h>.
30698
30699 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
30700 and <grub/parser.h>.
30701 (run): Change editor_getline to use new parser interface. Change
30702 parameter to grub_command_execute.
30703
30704 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
30705 <grub/reader.h> and <grub/parser.h>.
30706 (grub_load_normal_mode): Execute normal command.
30707 (grub_main): Call grub_register_core_commands,
30708 grub_register_rescue_parser and grub_register_rescue_reader, use
30709 grub_reader_loop to enter input loop.
30710
30711 * kern/parser.c (grub_parser_split_cmdline): Change type of
30712 getline parameter.
30713 (grub_parser_class): New variable.
30714 (grub_parser_execute): New function.
30715
30716 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
30717 * loader/multiboot2.c: Likewise.
30718 * loader/sparc64/ieee1275/linux.c: Likewise.
30719
30720 * util/grub-emu.c (read_command_list): New dummy function.
30721
30722 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
30723
30724 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
30725 count to 16 for CCISS and IDA.
30726
30727 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
30728
30729 * normal/menu_text.c (grub_wait_after_message): Print a newline
30730 after waiting for user input.
30731
30732 * loader/i386/linux.c: Include `<grub/normal.h>'.
30733 (grub_cmd_linux): Improve the error message about `ask' mode, by
30734 waiting for user input so it's not missed (we can do this, since
30735 user requested interaction).
30736
30737 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
30738
30739 Added missing lst to grub-mkrescue
30740
30741 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
30742 and ${input_dir}/parttool.lst
30743
30744 2009-04-30 David S. Miller <davem@davemloft.net>
30745
30746 * util/hostdisk.c (device_is_wholedisk): New function.
30747 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
30748 zero only if device_is_wholedisk() returns true.
30749
30750 * util/hostdisk.c (convert_system_partition_to_system_disk):
30751 Handle virtual disk devices named /dev/vdiskX as found on sparc
30752 and powerpc.
30753
30754 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
30755 lettered partition specifier is found, convert to numbered.
30756
30757 2009-04-29 David S. Miller <davem@davemloft.net>
30758
30759 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
30760 * include/grub/sparc64/ieee1275/memory.h: Likewise.
30761
30762 * normal/command.c: Add missing newline at end of file.
30763
30764 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
30765 warnings.
30766 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
30767 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
30768 grub_ofdisk_read): Likewise, and deal similarly with the fact that
30769 ihandles have a 32-bit type but need to be stored in a "void *".
30770
30771 2009-04-28 Pavel Roskin <proski@gnu.org>
30772
30773 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
30774 not disk. Adjust all dependencies.
30775 (grub_fs_uuid_close): Use grub_device_close(), not
30776 grub_disk_close().
30777
30778 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
30779 parent's partition, don't copy it by reference, as it gets freed
30780 on close.
30781
30782 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
30783
30784 Preboot hooks support
30785
30786 * commands/boot.c (struct grub_preboot_t): new declaration
30787 (preboots_head): new variable
30788 (preboots_tail): likewise
30789 (grub_loader_register_preboot_hook): new function
30790 (grub_loader_unregister_preboot_hook): likewise
30791 (grub_loader_set): launch preboot hooks
30792 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
30793 (grub_loader_register_preboot_hook): new declaration
30794 (grub_loader_unregister_preboot_hook): likewise
30795
30796 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
30797
30798 Warning fix
30799
30800 * disk/scsi.c (grub_scsi_open): added missing cast when
30801 calling grub_dprintf
30802
30803 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
30804
30805 Bug and warning fixes
30806
30807 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
30808 declaration
30809 * commands/test.c (test_parse): fixed bug with file tests and corrected
30810 declaration of find_file
30811
30812 2009-04-26 Pavel Roskin <proski@gnu.org>
30813
30814 * Makefile.in: Don't install empty manual pages if help2man is
30815 missing. Use help2man option for output, not shell redirection.
30816
30817 2009-04-26 David S. Miller <davem@davemloft.net>
30818
30819 * util/grub-mkdevicemap.c (make_device_map): Add missing
30820 NESTED_FUNC_ATTR to process_device().
30821
30822 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
30823
30824 Test command
30825
30826 * commands/test.c: rewritten to use bash-like test
30827
30828 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
30829
30830 Parttool autoloading and improvements
30831
30832 * Makefile.in (pkglib_DATA): add parttool.lst
30833 (parttool.lst): new target
30834 * genmk.rb: generate parttool-*
30835 (CLEANFILES): add #{parttool}
30836 (PARTTOOLFILES): new variable
30837 * genparttoollist.sh: new file
30838 * parttool/pcpart.c (grub_pcpart_boot): more feedback
30839 (grub_pcpart_type): likewise
30840 * commands/parttool.c (helpmsg): new variable
30841 (grub_cmd_parttool): output help if not enough arguments are supplied
30842 autoload modules
30843 (GRUB_MOD_INIT(parttool)): use helpmsg
30844
30845 2009-04-24 David S. Miller <davem@davemloft.net>
30846
30847 Avoiding opening same device multiple times in device iterator.
30848
30849 * kern/device.c: (grub_device_iterate): Define struct part_ent,
30850 and use it to build a list of partitions in iterate_disk() and
30851 iterate_partition().
30852
30853 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
30854 on disk->data.
30855
30856 * disk/ieee1275/nand.c (grub_nand_iterate): Return
30857 grub_devalias_iterate() result instead of unconditional 0.
30858 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
30859 Also, capture hook return value, either directly or via
30860 grub_children_iterate(), and propagate to caller.
30861 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
30862 grub_children_iterate): Return value is now 'int' instead of
30863 'grub_err_t'.
30864 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
30865 like a proper iterator, stopping when hooks return non-zero.
30866 (grub_devalias_iterate): Likewise.
30867
30868 2009-04-23 David S. Miller <davem@davemloft.net>
30869
30870 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
30871
30872 2009-04-22 David S. Miller <davem@davemloft.net>
30873
30874 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
30875 is larger than address_cells, use that value for address_cells too.
30876
30877 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
30878 IEEE1275_MAX_PATH_LEN): Define.
30879 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
30880 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
30881 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
30882 'devtype'. Explicitly NULL terminate devalias expansion.
30883
30884 * util/sparc64/ieee1275/misc.c: New file.
30885 * util/sparc64/ieee1275/grub-setup.c: New file.
30886 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
30887 * util/sparc64/ieee1275/grub-mkimage.c: New file.
30888 * util/sparc64/ieee1275/grub-install.in: New file.
30889 * util/ieee1275/ofpath.c: New file.
30890 * util/ieee1275/devicemap.c: New file.
30891 * util/devicemap.c: New file.
30892 * util/deviceiter.c: New file.
30893 * kern/sparc64/ieee1275/init.c: New file.
30894 * include/grub/util/ofpath.h: New file.
30895 * include/grub/util/deviceiter.h: New file.
30896 * util/grub-mkdevicemap.c: Include deviceiter.h.
30897 Implement using grub_util_emit_devicemap_entry and
30898 grub_util_iterate_devices.
30899 * conf/i386-corebook.rmk: Build util/deviceiter.c and
30900 util/devicemap.c into grub-mkdevicemap
30901 * conf/i386-efi.rmk: Likewise.
30902 * conf/i386-ieee1275.rmk: Likewise.
30903 * conf/i386-pc.rmk: Likewise.
30904 * conf/powerpc-ieee1275.rmk: Likewise.
30905 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
30906 images and installation utilities. Build kernel as image
30907 instead of as elf binary. Use common rules as much as possible.
30908
30909 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
30910
30911 Correct GPT definition
30912
30913 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
30914 of "attrib" member
30915
30916 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
30917
30918 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
30919
30920 2009-04-19 David S. Miller <davem@davemloft.net>
30921
30922 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
30923 (grub_rescue_cmd_linux): Rename to...
30924 (grub_cmd_linux): and fix prototype.
30925 (grub_rescue_cmd_initrd): Rename to...
30926 (grub_cmd_initrd): and fix prototype.
30927 (cmd_linux, cmd_initrd): New.
30928 (GRUB_MOD_INIT(linux)): Use grub_register_command().
30929 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
30930
30931 2009-04-17 Pavel Roskin <proski@gnu.org>
30932
30933 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
30934 format.
30935 (grub_ohci_transfer): Likewise.
30936
30937 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
30938
30939 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
30940 return without a value. Fix inconsistent indentation.
30941
30942 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
30943 match struct grub_fs.
30944
30945 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
30946 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
30947 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
30948 * commands/lspci.c (grub_lspci_iter): Likewise.
30949
30950 2009-04-16 Bean <bean123ch@gmail.com>
30951
30952 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
30953 value.
30954
30955 2009-04-15 Pavel Roskin <proski@gnu.org>
30956
30957 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
30958 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
30959 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
30960 definitions.
30961
30962 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
30963
30964 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
30965 that no multiple data or metadata areas are supported and `Unknown
30966 metadata header'.
30967
30968 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
30969
30970 Move loader out of the kernel
30971
30972 * kern/loader.c: moved to ...
30973 * commands/boot.c: ... moved here
30974 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
30975 * commands/boot.c (grub_cmd_boot): moved here. All users updated
30976 * include/grub/kernel.h (grub_machine_fini): export
30977 * include/grub/loader.h (grub_loader_is_loaded): update declaration
30978 (grub_loader_set): likewise
30979 (grub_loader_unset): likewise
30980 (grub_loader_boot): likewise
30981 * conf/common.rmk: new module boot.mod
30982 (pkglib_MODULES): add boot.mod
30983 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
30984 (grub_emu_SOURCES): likewise
30985 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
30986 (grub_emu_SOURCES): likewise
30987 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
30988 (grub_emu_SOURCES): likewise
30989 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
30990 (grub_emu_SOURCES): likewise
30991 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
30992 (grub_emu_SOURCES): likewise
30993 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
30994 (grub_emu_SOURCES): likewise
30995 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
30996 (grub_emu_SOURCES): likewise
30997
30998 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
30999
31000 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
31001
31002 * kern/misc.c (grub_itoa): Removed function
31003 (grub_ltoa): likewise
31004 (grub_vsprintf): use grub_lltoa
31005
31006 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
31007
31008 Restore grub-emu
31009
31010 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
31011 * conf/i386-coreboot.rmk: likewise
31012 * conf/i386-ieee1275.rmk: likewise
31013 * conf/powerpc-ieee1275.rmk: likewise
31014
31015 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
31016
31017 * INSTALL: Add that `./autogen.sh' needs to be run before
31018 `./configure.'.
31019
31020 2009-04-14 Bean <bean123ch@gmail.com>
31021
31022 * Makefile.in (pkglib_DATA): Add handler.lst.
31023 (handler.lst): New rule.
31024
31025 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
31026 * conf/i386-coreboot.rmk: Likewise.
31027 * conf/i386-ieee1275.rmk: Likewise.
31028 * conf/i386-efi.rmk: Likewise.
31029 * conf/x86_64-efi.rmk: Likewise.
31030 * conf/powerpc-ieee1275.rmk: Likewise.
31031 * conf/sparc64-ieee1275.rmk: Likewise.
31032
31033 * genhandlerlist.sh: New file.
31034
31035 * genmk.rb: Add rules to generate handler.lst.
31036
31037 * include/grub/normal.h (grub_file_getline): New function definition.
31038 (read_handler_list): Likewise.
31039 (free_handler_list): Likewise.
31040
31041 * include/grub/term.h (grub_term_register_input): Add name parameter
31042 for auto generation of handler.lst.
31043 (grub_term_register_output): Likewise.
31044
31045 * normal/handler.c: New file.
31046
31047 * normal/main.c (get_line): Renamed to grub_file_getline.
31048 (read_config_file): Use the newly renamed grub_file_getline.
31049 (read_command_list): Likewise.
31050 (read_fs_list): Likewise.
31051 (grub_normal_execute): Call read_handler_list to parse handler.lst.
31052 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
31053
31054 * term/efi/console.c (grub_console_init): Add name parameter for auto
31055 generation of handler.lst.
31056 * term/gfxterm.c: Likewise.
31057 * term/i386/pc/at_keyboard.c: Likewise.
31058 * term/i386/pc/console.c: Likewise.
31059 * term/i386/pc/serial.c: Likewise.
31060 * term/i386/pc/vesafb.c: Likewise.
31061 * term/i386/pc/vga.c: Likewise.
31062 * term/i386/pc/vga_text.c: Likewise.
31063 * term/ieee1275/ofconsole.c: Likewise.
31064 * term/usb_keyboard.c: Likewise.
31065
31066 2009-04-14 Bean <bean123ch@gmail.com>
31067
31068 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
31069 properly with null character.
31070
31071 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
31072
31073 * configure: Remove.
31074 * config.h.in: Likewise.
31075 * stamp-h.in: Likewise.
31076 * DISTLIST: Likewise.
31077 * conf/common.mk: Likewise.
31078 * conf/i386-coreboot.mk: Likewise.
31079 * conf/i386-efi.mk: Likewise.
31080 * conf/i386-ieee1275.mk: Likewise.
31081 * conf/i386.mk: Likewise.
31082 * conf/i386-pc.mk: Likewise.
31083 * conf/powerpc-ieee1275.mk: Likewise.
31084 * conf/sparc64-ieee1275.mk: Likewise.
31085 * conf/x86_64-efi.mk: Likewise.
31086
31087 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
31088 develop on GRUB.
31089
31090 2009-04-14 John Stanley <jpsinthemix@verizon.net>
31091 David S. Miller <davem@davemloft.net>
31092
31093 * util/hostdisk.c (make_device_name): Fix buffer length
31094 calculations.
31095
31096 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
31097
31098 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
31099 <sys/param.h> and <sys/sysctl.h>.
31100 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
31101 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
31102 opening the device and reset them afterwards.
31103
31104 2009-04-13 Pavel Roskin <proski@gnu.org>
31105
31106 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
31107 Reported by John Stanley <jpsinthemix@verizon.net>
31108
31109 2009-04-13 Robert Millan <rmh@aybabtu.com>
31110
31111 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
31112 that name for menuentries when appropriate.
31113
31114 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
31115
31116 * util/grub.d/10_freebsd.in: Add a missing `fi'.
31117
31118 2009-04-13 Robert Millan <rmh@aybabtu.com>
31119
31120 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
31121 to Linux, simply abort telling the user it's no longer supported.
31122
31123 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
31124
31125 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
31126 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
31127 `freebsd_loadenv' only when devices.hints exist.
31128
31129 2009-04-13 Pavel Roskin <proski@gnu.org>
31130
31131 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
31132
31133 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
31134
31135 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
31136 partition number.
31137 (grub_drive): Likewise.
31138
31139 2009-04-13 David S. Miller <davem@davemloft.net>
31140
31141 * kern/sparc64/ieee1275/ieee1275.c: New file.
31142 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
31143 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
31144 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
31145 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
31146 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
31147 grub_ieee1275_alloc_physmem): Declare new exported functions.
31148
31149 * include/grub/sparc64/ieee1275/loader.h: New file.
31150 * include/grub/sparc64/ieee1275/memory.h: Likewise.
31151 * include/grub/sparc64/kernel.h: Likewise.
31152 * loader/sparc64/ieee1275/linux.c: Likewise.
31153
31154 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
31155 (grub_fstest_SOURCES): Likewise.
31156
31157 * util/hostdisk.c (make_device_name): Do not make any assumptions
31158 about the length of drive names.
31159
31160 * kern/dl.c (grub_dl_load_file): Close file immediately when
31161 we are done using it.
31162
31163 2009-04-12 David S. Miller <davem@davemloft.net>
31164
31165 * kern/misc.c (grub_ltoa): Fix cast when handling negative
31166 values. Noticed by Pavel Roskin.
31167
31168 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
31169 target compiler.
31170
31171 * genmk.rb: Add more flexible image type specification, also
31172 pass --strip-unneeded to objcopy.
31173 * conf/i386-pc.rmk: Use *_FORMAT.
31174 * conf/i386-pc.mk: Rebuilt.
31175
31176 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
31177 (OFDISK_HASH_SZ): Define.
31178 (ofdisk_hash): New hash table.
31179 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
31180 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
31181 instead of device phandle which is not unique.
31182
31183 * kern/sparc64/ieee1275/init.c: Delete, replace with...
31184 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
31185 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
31186 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
31187 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
31188 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
31189 GRUB_KERNEL_MACHINE_DATA_END): Define.
31190 (grub_kernel_image_size, grub_total_module_size): Declare.
31191
31192 2009-04-12 Pavel Roskin <proski@gnu.org>
31193
31194 * configure.ac: Change the logic when we check for target tools.
31195 Do it when the target is specified and it's different from the
31196 specified value of the host.
31197
31198 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
31199
31200 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
31201 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
31202 GNU/kFreeBSD. Check if a device is a character device. Use
31203 DIOCGMEDIASIZE to get the size.
31204 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
31205 support for GNU/kFreeBSD.
31206 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
31207 is a character device instead of a block device. Add support for
31208 FreeBSD device names.
31209
31210 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
31211 is a character device instead of a block device.
31212
31213 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
31214 is a character device instead of a block device.
31215
31216 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
31217
31218 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
31219 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
31220 FreeBSD. Check if a device is a character device. Use
31221 DIOCGMEDIASIZE to get the size.
31222 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
31223 support for FreeBSD.
31224 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
31225 is a character device instead of a block device. Add support for
31226 FreeBSD device names.
31227
31228 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
31229 a character device instead of a block device.
31230 (grub_util_check_char_device): New function.
31231
31232 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
31233 a character device instead of a block device.
31234
31235 * include/grub/util/getroot.h (grub_util_check_char_device): New
31236 prototype.
31237
31238 2009-04-11 David S. Miller <davem@davemloft.net>
31239
31240 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
31241 static libgcc.
31242 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
31243 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
31244 function, if present.
31245 (__bswapdi2): Likewise.
31246
31247 * include/grub/sparc64/ieee1275/boot.h: New file.
31248 * boot/sparc64/ieee1275/boot.S: Likewise.
31249 * boot/sparc64/ieee1275/diskboot.S: Likewise.
31250
31251 * kern/misc.c (grub_ltoa): New function.
31252 (grub_vsprintf): Use it to format 'long' integers.
31253
31254 2009-04-10 David S. Miller <davem@davemloft.net>
31255
31256 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
31257 slots are of type grub_ieee1275_cell_t.
31258 (grub_nand_read): Likewise.
31259 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
31260 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
31261 macros are used to compare values in arg/ret block of the call.
31262 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
31263 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
31264 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
31265 grub_ieee1275_instance_to_path, grub_ieee1275_write,
31266 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
31267 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
31268 grub_ieee1275_close, grub_ieee1275_set_property,
31269 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
31270 grub_ieee1275_cell_t.
31271 * kern/ieee1275/openfw.c (grub_map): Likewise.
31272 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
31273 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
31274
31275 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
31276 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
31277 (grub_devalias_iterate): Likewise.
31278
31279 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
31280
31281 UFS improvements
31282
31283 * fs/ufs.c (INODE_NBLOCKS): new definition
31284 (struct grub_ufs_dirent): added fields for non-BSD dirents
31285 (grub_ufs_get_file_block): fixed double indirect handling
31286 (grub_ufs_lookup_symlink): use more robust way to determine whether
31287 symlink is inline
31288 (grub_ufs_find_file): support for non-BSD dirents
31289 (grub_ufs_dir): support for non-BSD dirents
31290
31291 2009-04-10 Bean <bean123ch@gnail.com>
31292
31293 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
31294 attribute, otherwise the size would be wrong for i386 platform.
31295
31296 * include/grub/pci.h (grub_pci_read_word): New inline function.
31297 (grub_pci_read_byte): Likewise.
31298 (grub_pci_write): Likewise.
31299 (grub_pci_write_word): Likewise.
31300 (grub_pci_write_byte): Likewise.
31301
31302 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
31303
31304 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
31305 (find_framebuf): Scan pci to locate the frame buffer address.
31306
31307 * commands/efi/fixvideo.c: New file.
31308
31309 * commands/efi/loadbios.c: Likewise.
31310
31311 * commands/memrw.c: Likewise.
31312
31313 * util/grub-dumpbios.in: Likewise.
31314
31315 * conf/common.rmk (grub-dumpbios): New utility.
31316 (pkglib_MODULES): New module memrw.mod.
31317 (memrw_mod_SOURCE): New macro.
31318 (memrw_mod_CFLAGS): Likewise.
31319 (memrw_mod_LDFLAGS): Likewise.
31320
31321 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
31322 fixvideo.mod.
31323 (loadbios_mod_SOURCE): New macro.
31324 (loadbios_mod_CFLAGS): Likewise.
31325 (loadbios_mod_LDFLAGS): Likewise.
31326 (fixvideo_mod_SOURCE): Likewise.
31327 (fixvideo_mod_CFLAGS): Likewise.
31328 (fixvideo_mod_LDFLAGS): Likewise.
31329
31330 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
31331 fixvideo.mod.
31332 (loadbios_mod_SOURCE): New macro.
31333 (loadbios_mod_CFLAGS): Likewise.
31334 (loadbios_mod_LDFLAGS): Likewise.
31335 (fixvideo_mod_SOURCE): Likewise.
31336 (fixvideo_mod_CFLAGS): Likewise.
31337 (fixvideo_mod_LDFLAGS): Likewise.
31338
31339 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
31340
31341 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
31342
31343 2009-04-07 David S. Miller <davem@davemloft.net>
31344
31345 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
31346 support for R_SPARC_OLO10 relocations. Fix compile warning for
31347 R_SPARC_WDISP30 case.
31348 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
31349
31350 2009-04-06 Pavel Roskin <proski@gnu.org>
31351
31352 * include/grub/misc.h (ARRAY_SIZE): New macro.
31353 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
31354 New macro.
31355 * loader/i386/linux.c (allocate_pages): Use free_pages().
31356 (grub_linux_unload): Don't use free_pages().
31357 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
31358 wrong index. Treat all other modes as text modes.
31359 (grub_cmd_linux): Initialize vid_mode unconditionally to
31360 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
31361
31362 * commands/help.c (print_command_help): Use cmd->prio, not
31363 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
31364
31365 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
31366
31367 Parttool
31368
31369 * parttool/pcpart.c: new file
31370 * commands/parttool.c: likewise
31371 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
31372 (parttool_mod_SOURCES): new variable
31373 (parttool_mod_CFLAGS): likewise
31374 (parttool_mod_LDFLAGS): likewise
31375 (pcpart_mod_SOURCES): likewise
31376 (pcpart_mod_CFLAGS): likewise
31377 (pcpart_mod_LDFLAGS): likewise
31378 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
31379 and parttool/pcpart.c
31380 * conf/i386-efi.rmk: likewise
31381 * conf/i386-ieee1275.rmk: likewise
31382 * conf/i386-pc.rmk: likewise
31383 * conf/powerpc-ieee1275.rmk: likewise
31384 * conf/sparc64-ieee1275.rmk: likewise
31385 * conf/x86_64-ieee1275.rmk: likewise
31386
31387 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
31388
31389 Support for mtime and further expandability of dir command
31390
31391 * include/grub/lib/datetime.h: moved to ...
31392 * include/grub/datetime.h: ... moved here and added
31393 declaration of grub_unixtime2datetime. All users updated
31394 * include/grub/fs.h: new syntax for dir and mtime functions in
31395 struct grub_fs
31396 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
31397 and GRUB_FSHELP_FLAGS_MASK
31398 * commands/ls.c (grub_ls_list_files): Write mtime in long format
31399 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
31400 (grub_ext2_mtime): new function
31401 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
31402 (grub_hfsplus_mtime): new function
31403 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
31404 (GRUB_UFS_ATTR_FILE): likewise
31405 (GRUB_UFS_ATTR_LNK): likewise
31406 (struct grub_ufs_sblock): new fields mtime
31407 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
31408 all users updated
31409 (grub_ufs_dir): mtime support
31410 (grub_ufs_mtime): new function
31411 * fs/affs.c (grub_affs_dir): use new dir syntax
31412 * fs/afs.c (grub_afs_dir): likewise
31413 * fs/cpio.c (grub_cpio_dir): likewise
31414 * fs/fat.c (grub_fat_find_dir): likewise
31415 * fs/hfs.c (grub_hfs_dir): likewise
31416 * fs/iso9660.c (grub_iso9660_dir): likewise
31417 * fs/jfs.c (grub_jfs_dir): likewise
31418 * fs/minix.c (grub_minix_dir): likewise
31419 * fs/ntfs.c (grub_ntfs_dir): likewise
31420 * fs/reiserfs.c (grub_reiserfs_dir): likewise
31421 * fs/sfs.c (grub_sfs_dir): likewise
31422 * fs/xfs.c (grub_xfs_dir): likewise
31423 * util/hostfs.c (grub_hostfs_dir): likewise
31424 * lib/datetime.c: moved to ...
31425 * normal/datetime.c: ... moved here
31426 (grub_unixtime2datetime): new function
31427 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
31428 * normal/completion.c (iterate_dir): use new dir syntax
31429 * normal/misc.c (grub_normal_print_device_info): tell the
31430 last modification time of a volume
31431 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
31432 * conf/common.rmk: added lib/datetime.c to ls.mod
31433 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
31434 (normal_mod_SOURCES): likewise
31435 (datetime_mod_SOURCES): Removed lib/datetime.c
31436 * conf/i386-efi.rmk: likewise
31437 * conf/i386-ieee1275.rmk: likewise
31438 * conf/i386-pc.rmk: likewise
31439 * conf/powerpc-ieee1275.rmk: likewise
31440 * conf/sparc64-ieee1275.rmk: likewise
31441 * conf/x86_64-efi.rmk: likewise
31442
31443 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
31444
31445 Trim trailing spaces in FAT label and support mtools-like labels
31446
31447 * fs/fat.c (grub_fat_iterate_dir): New function based
31448 on grub_fat_find_dir
31449 (grub_fat_find_dir): use grub_fat_iterate_dir
31450 (grub_fat_label): likewise
31451
31452 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
31453
31454 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
31455 and command.h
31456 remove extraneous kernel_elf_HEADERS
31457
31458 2009-04-04 Bean <bean123ch@gnail.com>
31459
31460 * include/grub/util/misc.h: Add dummy function fsync for mingw.
31461
31462 * util/misc.c: Likewise.
31463
31464 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
31465
31466 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
31467 instead of grub_printf.
31468
31469 2009-04-03 Robert Millan <rmh@aybabtu.com>
31470
31471 * loader/i386/linux.c (grub_linux_setup_video): Fill
31472 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
31473 values from `mode info' structure instead of hardcoded
31474 values.
31475
31476 2009-04-01 Pavel Roskin <proski@gnu.org>
31477
31478 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
31479 unused now.
31480 * genmk.rb: Likewise.
31481 * configure.ac: Likewise.
31482
31483 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
31484
31485 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
31486 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
31487
31488 2009-04-01 David S. Miller <davem@davemloft.net>
31489
31490 * normal/sparc64/setjmp.S: Fix setjmp implementation.
31491 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
31492 (grub_setjmp): Mark with 'returns_twice' attribute.
31493 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
31494 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
31495 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
31496
31497 2009-04-01 Robert Millan <rmh@aybabtu.com>
31498
31499 Reapply fix from 2008-07-28 which was accidentally reverted; also
31500 perform the same fix to a similar check in same function.
31501
31502 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
31503 with the same number are found, just use issue a warning with
31504 grub_dprintf(), as this error has been reported to be non-fatal.
31505
31506 2009-03-31 Pavel Roskin <proski@gnu.org>
31507
31508 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
31509 for cross-compilation.
31510
31511 2009-03-30 Robert Millan <rmh@aybabtu.com>
31512
31513 Fix i386-ieee1275 build.
31514
31515 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
31516 Remove declaration.
31517
31518 2009-03-30 Pavel Roskin <proski@gnu.org>
31519
31520 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
31521 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
31522 zero-terminated, rely only on the strlen value. Fix comparison
31523 of strings differing in length.
31524
31525 2009-03-30 Robert Millan <rmh@aybabtu.com>
31526
31527 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
31528 checking for abi version. Improve error messages on BIOS to notify
31529 user about `linux16' command.
31530
31531 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
31532
31533 Leak fixes
31534
31535 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
31536 in case of collision
31537 * disk/scsi.c (grub_scsi_open): free scsi in case of error
31538
31539 2009-03-29 Robert Millan <rmh@aybabtu.com>
31540
31541 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
31542 set `vid_mode' accordingly.
31543 (grub_linux_boot): Process `vid_mode' and set video mode.
31544
31545 2009-03-29 Robert Millan <rmh@aybabtu.com>
31546
31547 * util/grub.d/10_linux.in (linux_entry): New function.
31548 Factorize generation of Linux boot entries.
31549
31550 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
31551
31552 Make the format of Environment Block plain text. The boot loader
31553 part is not tested well yet.
31554
31555 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
31556 (buffer): Removed.
31557 (envblk): Likewise.
31558 (usage): Remove "info" and "clear". Add "unset". Update the
31559 description of "set", as this does not delete variables any
31560 longer.
31561 (create_envblk_file): Complete rewrite.
31562 (open_envblk_file): Likewise.
31563 (cmd_info): Removed.
31564 (cmd_list): Likewise.
31565 (cmd_set): Likewise.
31566 (cmd_clear): Likewise.
31567 (list_variables): New function.
31568 (write_envblk): Likewise.
31569 (set_variables): Likewise.
31570 (unset_variables): Likewise.
31571 (main): Complete rewrite.
31572
31573 * commands/loadenv.c (buffer): Removed.
31574 (envblk): Likewise.
31575 (open_envblk_file): New function.
31576 (read_envblk_file): Complete rewrite.
31577 (grub_cmd_load_env): Likewise.
31578 (grub_cmd_list_env): Likewise.
31579 (struct blocklist): New struct.
31580 (free_blocklists): New function.
31581 (check_blocklists): Likewise.
31582 (write_blocklists): Likewise.
31583 (grub_cmd_save_env): Complete rewrite.
31584
31585 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
31586 a plain text signature.
31587 (GRUB_ENVBLK_MAXLEN): Removed.
31588 (struct grub_envblk): Complete rewrite.
31589 (grub_envblk_find): Removed.
31590 (grub_envblk_insert): Likewise.
31591 (grub_envblk_open): New prototype.
31592 (grub_envblk_set): Likewise.
31593 (grub_envblk_delete): Put const to VALUE.
31594 (grub_envblk_iterate): Put const to NAME and VALUE.
31595 (grub_envblk_close): New prototype.
31596 (grub_envblk_buffer): New inline function.
31597 (grub_envblk_size): Likewise.
31598
31599 * lib/envblk.c: Include grub/mm.h.
31600 (grub_env_find): Removed.
31601 (grub_envblk_open): New function.
31602 (grub_envblk_close): Likewise.
31603 (escaped_value_len): Likewise.
31604 (find_next_line): Likewise.
31605 (grub_envblk_insert): Removed.
31606 (grub_envblk_set): New function.
31607 (grub_envblk_delete): Complete rewrite.
31608 (grub_envblk_iterate): Likewise.
31609
31610 2009-03-28 Robert Millan <rmh@aybabtu.com>
31611
31612 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
31613 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
31614 variables. Use 16-bit loader.
31615 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
31616 loader.
31617 * kern/i386/loader.S (grub_linux_boot): Rename to ...
31618 (grub_linux16_boot): ... this. Update all users.
31619 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
31620 (grub_linux_boot): ... this. Update all users.
31621
31622 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
31623 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
31624 commands to `linux16' and `initrd16'.
31625 (GRUB_MOD_FINI(linux)): Rename to ...
31626 (GRUB_MOD_FINI(linux16)): ... this.
31627
31628 2009-03-24 Pavel Roskin <proski@gnu.org>
31629
31630 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
31631 not just for compilation.
31632
31633 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
31634
31635 Move multiboot helper out of kernel
31636
31637 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
31638 `loader/i386/multiboot_helper.S'.
31639 * conf/i386-coreboot.rmk: Likewise
31640 * conf/i386-ieee1275.rmk: Likewise
31641
31642 * kern/i386/loader.S: Move multiboot helpers from here...
31643 * loader/i386/multiboot_helper.S: ...moved here
31644 * include/grub/i386/loader.h: Move declarations of multiboot
31645 helpers from here...
31646 * include/grub/i386/multiboot.h: ...moved here
31647 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
31648
31649 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
31650
31651 * kern/env.c (grub_env_context_open): Added an argument to specify
31652 whether a new context inherits exported variables from current
31653 one. This is useful when making a sandbox to interpret a config
31654 file.
31655 All callers updated.
31656
31657 * include/grub/env.h (grub_env_context_open): Updated the prototype.
31658
31659 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
31660
31661 * kern/env.c (grub_env_context_close): Fix memory leaks.
31662
31663 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
31664
31665 * normal/main.c (grub_normal_execute): Added an argument
31666 BATCH to specify if an interactive interface should be provided
31667 after reading a config file.
31668 All callers updated.
31669 (read_command_list): Prevent being executed twice.
31670 (read_fs_list): Likewise.
31671
31672 * include/grub/normal.h (grub_normal_execute): Updated the
31673 prototype.
31674
31675 2009-03-22 Pavel Roskin <proski@gno.org>
31676
31677 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
31678 _start.
31679 * kern/i386/pc/startup.S: Likewise.
31680 * kern/i386/efi/startup.S: Likewise.
31681 * kern/i386/ieee1275/startup.S: Likewise.
31682 * kern/i386/coreboot/startup.S: Likewise.
31683 * kern/x86_64/efi/startup.S: Likewise.
31684
31685 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
31686 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
31687 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
31688
31689 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
31690
31691 Bugfixes in multiboot for bugs uncovered by solaris kernel.
31692
31693 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
31694 limit detection.
31695 Use vaddr of correct segment for entry_point.
31696
31697 2009-03-21 Bean <bean123ch@gmail.com>
31698
31699 * commands/blocklist.c: Add include file <grub/command.h>, remove
31700 <grub/normal.h> and <grub/arg.h>.
31701 (grub_cmd_blocklist): Use the new command interface.
31702 (GRUB_MOD_INIT): Likewise.
31703 (GRUB_MOD_FINI): Likewise.
31704 * commands/boot.c: Likewise.
31705 * commands/cat.c: Likewise.
31706 * commands/cmp.c: Likewise.
31707 * commands/configfile.c: Likewise.
31708 * commands/crc.c: Likewise.
31709 * commands/echo.c: Likewise.
31710 * commands/halt.c: Likewise.
31711 * commands/handler.c: Likewise.
31712 * commands/hdparm.c: Likewise.
31713 * commands/help.c: Likewise.
31714 * commands/hexdump.c: Likewise.
31715 * commands/loadenv.c: Likewise.
31716 * commands/ls.c: Likewise.
31717 * commands/lsmmap.c: Likewise.
31718 * commands/lspci.c: Likewise.
31719 * commands/loadenv.c: Likewise.
31720 * commands/read.c: Likewise.
31721 * commands/reboot.c: Likewise.
31722 * commands/search.c: Likewise.
31723 * commands/sleep.c: Likewise.
31724 * commands/test.c: Likewise.
31725 * commands/usbtest.c: Likewise.
31726 * commands/videotest.c: Likewise.
31727 * commands/i386/cpuid.c: Likewise.
31728 * commands/i386/pc/halt.c: Likewise.
31729 * commands/i386/pc/play.c: Likewise.
31730 * commands/i386/pc/pxecmd.c: Likewise.
31731 * commands/i386/pc/vbeinfo.c: Likewise.
31732 * commands/i386/pc/vbetest.c: Likewise.
31733 * commands/ieee1275/suspend.c: Likewise.
31734 * disk/loopback.c: Likewise.
31735 * font/font_cmd.c: Likewise.
31736 * hello/hello.c: Likewise.
31737 * loader/efi/appleloader.c: Likewise.
31738 * loader/efi/chainloader.c: Likewise.
31739 * loader/i386/bsd.c: Likewise.
31740 * loader/i386/efi/linux.c: Likewise.
31741 * loader/i386/ieee1275/linux.c: Likewise.
31742 * loader/i386/linux.c: Likewise.
31743 * loader/i386/pc/chainloader.c: Likewise.
31744 * loader/i386/pc/linux.c: Likewise.
31745 * loader/powerpc/ieee1275/linux.c: Likewise.
31746 * loader/multiboot_loader.c: Likewise.
31747 * term/gfxterm.c: Likewise.
31748 * term/i386/pc/serial.c: Likewise.
31749 * term/terminfo.c: Likewise.
31750
31751 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
31752 * term/i386/pc/vga.c: Likewise.
31753 * video/readers/jpeg.c: Likewise.
31754 * video/readers/png.c: Likewise.
31755 * video/readers/tga.c: Likewise.
31756
31757 * util/grub-fstest (cmd_loopback): Removed.
31758 (cmd_blocklist): Likewise.
31759 (cmd_ls): Likewise.
31760 (grub_register_command): Likewise.
31761 (grub_unregister_command): Likewise.
31762 (execute_command): Use grub_command_find to locate command and execute
31763 it.
31764
31765 * include/grub/efi/chainloader.h: Removed.
31766 * loader/efi/chainloader_normal.c: Likewise.
31767 * loader/i386/bsd_normal.c: Likewise.
31768 * loader/i386/pc/chainloader_normal.c: Likewise.
31769 * loader/i386/pc/multiboot_normal.c: Likewise.
31770 * loader/linux_normal.c: Likewise.
31771 * loader/multiboot_loader_normal.c: Likewise.
31772 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
31773
31774 * gencmdlist.sh: Scan new registration command grub_register_extcmd
31775 and grub_register_command_p1.
31776
31777 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
31778 kern/command.c, lib/arg.c and commands/extcmd.c.
31779 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
31780 (minicmd_mod_SOURCES): New variable.
31781 (minicmd_mod_CFLAGS): Likewise.
31782 (minicmd_mod_LDFLAGS): Likewise.
31783 (extcmd_mod_SOURCES): Likewise.
31784 (extcmd_mod_CFLAGS): Likewise.
31785 (extcmd_mod_LDFLAGS): Likewise.
31786 (boot_mod_SOURCES): Removed.
31787 (boot_mod_CFLAGS): Likewise.
31788 (boot_mod_LDFLAGS): Likewise.
31789
31790 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
31791 kern/corecmd.c.
31792 (kernel_img_HEADERS): Add command.h.
31793 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
31794 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
31795 and lib/arg.c.
31796 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
31797 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
31798 remove the corresponding normal mode command.
31799 (normal_mod_SOURCES): Remove normal/arg.c.
31800 * conf/i386-coreboot.rmk: Likewise.
31801 * conf/i386-efi.rmk: Likewise.
31802 * conf/i386-ieee1275.rmk: Likewise.
31803 * conf/powerpc-ieee1275.rmk: Likewise.
31804 * conf/x86_64-efi.rmk: Likewise.
31805
31806 * include/grub/arg.h: Move from here ...
31807 * include/grub/lib/arg.h: ... to here.
31808
31809 * normal/arg.c: Move from here ...
31810 * lib/arg.c: ... to here.
31811
31812 * commands/extcmd.c: New file.
31813 * commands/minicmd.c: Likewise.
31814 * include/grub/command.h: Likewise.
31815 * include/grub/extcmd.h: Likewise.
31816 * kern/command.c: Likewise.
31817 * kern/corecmd.c: Likewise.
31818
31819 * kern/list.c (grub_list_iterate): Return int instead of void.
31820 (grub_list_insert): New function.
31821 (grub_prio_list_insert): Likewise.
31822
31823 * kern/rescue.c (grub_rescue_command): Removed.
31824 (grub_rescue_command_list): Likewise.
31825 (grub_rescue_register_command): Likewise.
31826 (grub_rescue_unregister_command): Likewise.
31827 (grub_rescue_cmd_boot): Move to minicmd.c
31828 (grub_rescue_cmd_help): Likewise.
31829 (grub_rescue_cmd_info): Likewise.
31830 (grub_rescue_cmd_boot): Likewise.
31831 (grub_rescue_cmd_testload): Likewise.
31832 (grub_rescue_cmd_dump): Likewise.
31833 (grub_rescue_cmd_rmmod): Likewise.
31834 (grub_rescue_cmd_lsmod): Likewise.
31835 (grub_rescue_cmd_exit): Likewise.
31836 (grub_rescue_print_devices): Moved to corecmd.c.
31837 (grub_rescue_print_files): Likewise.
31838 (grub_rescue_cmd_ls): Likewise.
31839 (grub_rescue_cmd_insmod): Likewise.
31840 (grub_rescue_cmd_set): Likewise.
31841 (grub_rescue_cmd_unset): Likewise.
31842 (attempt_normal_mode): Use grub_command_find to get normal module.
31843 (grub_enter_rescue_mode): Use grub_register_core_commands to register
31844 commands, remove grub_rescue_register_command calls.
31845
31846 * normal/command.c (grub_register_command): Removed.
31847 (grub_unregister_command): Likewise.
31848 (grub_command_find): Likewise.
31849 (grub_iterate_commands): Likewise.
31850 (rescue_command): Likewise.
31851 (export_command): Moved to corecmd.c.
31852 (set_command): Removed.
31853 (unset_command): Likewise.
31854 (insmod_command): Likewise.
31855 (rmmod_command): Likewise.
31856 (lsmod_command): Likewise.
31857 (grub_command_init): Likewise.
31858
31859 * normal/completion.c (iterate_command): Use cmd->prio to check for
31860 active command.
31861 (complete_arguments): Use grub_extcmd_t structure to find options.
31862 (grub_normal_do_completion): Change function grub_iterate_commands to
31863 grub_command_iterate.
31864
31865 * normal/execute.c (grub_script_execute_cmd): No need to parse
31866 argument here.
31867
31868 * normal/main.c (grub_dyncmd_dispatcher): New function.
31869 (read_command_list): Register unload commands as dyncmd.
31870 (grub_cmd_normal): Use new command interface, register rescue,
31871 unregister normal at entry, register normal, unregister rescue at exit.
31872
31873 * include/grub/list.h (grub_list_test_t): New type.
31874 (grub_list_iterate): Return int instead of void.
31875 (grub_list_insert): New function.
31876 (GRUB_AS_NAMED_LIST_P): New macro.
31877 (GRUB_AS_PRIO_LIST): Likewise.
31878 (GRUB_AS_PRIO_LIST_P): Likewise.
31879 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
31880 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
31881 (grub_prio_list): New structure.
31882 (grub_prio_list_insert): New function.
31883 (grub_prio_list_remove): New inline function.
31884
31885 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
31886 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
31887 (GRUB_COMMAND_FLAG_MENU): Likewise.
31888 (GRUB_COMMAND_FLAG_BOTH): Likewise.
31889 (GRUB_COMMAND_FLAG_TITLE): Likewise.
31890 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
31891 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
31892 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
31893 (grub_command): Likewise.
31894 (grub_register_command): Likewise.
31895 (grub_command_find): Likewise.
31896 (grub_iterate_commands): Likewise.
31897 (grub_command_init): Likewise.
31898 (grub_arg_parse): Likewise.
31899 (grub_arg_show_help): Likewise.
31900
31901 * include/grub/rescue.h (grub_rescue_register_command): Removed.
31902 (grub_rescue_unregister_command): Likewise.
31903
31904 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
31905 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
31906 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
31907
31908 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
31909 grub_rescue_cmd_initrd.
31910 * include/grub/i386/loader.h: Likewise.
31911 * include/grub/x86_64/loader.h: Likewise.
31912
31913 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
31914
31915 2009-03-21 Bean <bean123ch@gmail.com>
31916
31917 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
31918 instead of stat in mingw environment.
31919
31920 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
31921
31922 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
31923
31924 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
31925 AC_CONFIG_LINKS.
31926
31927 2009-03-21 Bean <bean123ch@gmail.com>
31928
31929 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
31930 out of range error.
31931
31932 2009-03-18 Michel Dänzer <michel@daenzer.net>
31933
31934 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
31935 checking inode flags for EXT4_EXTENTS_FLAG.
31936
31937 2009-03-18 Robert Millan <rmh@aybabtu.com>
31938
31939 * loader/i386/linux.c: Include `<grub/video.h>' and
31940 `<grub/i386/pc/vbe.h>'..
31941 (grub_linux_setup_video): New function. Loosely based on the EFI one.
31942 (grub_linux32_boot): Attempt to configure video settings with
31943 grub_linux_setup_video().
31944 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
31945 to avoid grub_console_fini() which would step out of graphical mode
31946 unconditionally.
31947
31948 2009-03-14 Robert Millan <rmh@aybabtu.com>
31949
31950 Fix build on powerpc.
31951 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
31952
31953 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
31954
31955 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
31956 background image command.
31957
31958 2009-03-12 Colin D Bennett <colin@gibibit.com>
31959
31960 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
31961 (grub_gfxterm_putchar): Extract pairs of identical calls to
31962 draw_cursor out of conditional blocks.
31963
31964 2009-03-11 Pavel Roskin <proski@gnu.org>
31965
31966 * fs/hfs.c (grub_hfs_strncasecmp): New function.
31967 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
31968
31969 2009-03-11 Robert Millan <rmh@aybabtu.com>
31970
31971 * loader/i386/multiboot_elfxx.c
31972 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
31973
31974 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
31975
31976 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
31977 `kern/handler.c'.
31978
31979 2009-03-11 Robert Millan <rmh@aybabtu.com>
31980
31981 * loader/i386/multiboot.c (code_size): New variable.
31982 (grub_multiboot): Define offsets by adding to `code_size' rather
31983 than subtracting from `grub_multiboot_payload_size'. Provide
31984 4-byte alignment to MBI and others by increasing
31985 `boot_loader_name_length' appropriately.
31986
31987 * loader/i386/multiboot_elfxx.c
31988 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
31989
31990 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
31991
31992 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
31993 `fs/ext2.c'.
31994
31995 2009-03-08 Robert Millan <rmh@aybabtu.com>
31996
31997 Make loader/i386/linux.c usable on i386-pc again.
31998
31999 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
32000 memory to heap.
32001 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
32002 `#error' stanza.
32003
32004 2009-03-07 Bean <bean123ch@gmail.com>
32005
32006 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
32007 allocation.
32008
32009 2009-03-06 Robert Millan <rmh@aybabtu.com>
32010
32011 Fix display issue on terminals with screen size other than 80x25
32012 (e.g. gfxterm with resolution higher than 640x480).
32013
32014 * normal/main.c (grub_normal_init_page): Display title text in a
32015 position relative to the center of the terminal instead of relying
32016 on a hardcoded offset.
32017
32018 2009-03-04 Robert Millan <rmh@aybabtu.com>
32019
32020 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
32021 installed.
32022
32023 * Makefile.in (host_kernel): New variable.
32024 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
32025 scripts instead of just the windows one.
32026 * configure.ac: Initialize and AC_SUBST `host_kernel'.
32027
32028 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
32029
32030 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
32031 `kern/handler.c'.
32032 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32033 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32034 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32035 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32036 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32037 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32038
32039 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
32040
32041 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
32042 or if there's no space for the disk label and print the partition number on a
32043 invalid magic.
32044
32045 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
32046
32047 * util/misc.c: Include <time.h>.
32048 (grub_millisleep): New function.
32049
32050 2009-03-04 Bean <bean123ch@gmail.com>
32051
32052 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
32053 another option -mno-red-zone.
32054
32055 * commands/handler.c: Change module description.
32056
32057 * kern/handler.c: Add missing space at the end of description line.
32058
32059 * kern/list.c: Likewise.
32060
32061 2009-03-03 Robert Millan <rmh@aybabtu.com>
32062
32063 Move more components to the relocation area, and fix mbi pointer
32064 handling to use the destination rather than the origin (thanks to
32065 Vladimir Serbinenko for spotting).
32066
32067 * loader/i386/multiboot.c (mbi_dest): New variable.
32068 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
32069 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
32070 relocation area.
32071
32072 2009-03-01 Bean <bean123ch@gmail.com>
32073
32074 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
32075 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
32076 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
32077 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
32078
32079 * loader/i386/efi/linux.c (acpi_guid): New variable.
32080 (acpi_guid): Likewise.
32081 (EBDA_SEG_ADDR): New constant.
32082 (LOW_MEM_ADDR): Likewise.
32083 (FAKE_EBDA_SEG): Likewise.
32084 (fake_bios_data): New function.
32085 (grub_linux_boot): Call fake_bios_data.
32086
32087 2009-03-01 Bean <bean123ch@gmail.com>
32088
32089 * commands/terminal.c: Removed.
32090
32091 * commands/handler.c: New file.
32092
32093 * include/grub/list.h: Likewise.
32094
32095 * include/grub/handler.h: Likewise.
32096
32097 * kern/list.c: Likewise.
32098
32099 * kern/handler.c: Likewise.
32100
32101 * kern/term.h: Include header file <grub/handler.h>.
32102 (grub_term_input): Move next field to the beginning.
32103 (grub_term_output): Likewise.
32104 (grub_term_input_class): New variable.
32105 (grub_term_output_class): Likewise.
32106 (grub_term_register_input): Changed to inline function.
32107 (grub_term_register_output): Likewise.
32108 (grub_term_unregister_input): Likewise.
32109 (grub_term_unregister_output): Likewise.
32110 (grub_term_set_current_input): Likewise.
32111 (grub_term_set_current_output): Likewise.
32112 (grub_term_get_current_input): Likewise.
32113 (grub_term_get_current_output): Likewise.
32114 (grub_term_iterate_input): Removed.
32115 (grub_term_iterate_output): Likewise.
32116
32117 * kern/term.c (grub_term_list_input): Removed.
32118 (grub_term_list_output): Likewise.
32119 (grub_term_input_class): New variable.
32120 (grub_term_output_class): Likewise.
32121 (grub_cur_term_input): Change variable as macro.
32122 (grub_cur_term_output): Likewise.
32123 (grub_term_register_input): Removed.
32124 (grub_term_register_output): Likewise.
32125 (grub_term_unregister_input): Likewise.
32126 (grub_term_unregister_output): Likewise.
32127 (grub_term_set_current_input): Likewise.
32128 (grub_term_set_current_output): Likewise.
32129 (grub_term_iterate_input): Likewise.
32130 (grub_term_iterate_output): Likewise.
32131 (grub_term_get_current_input): Likewise.
32132 (grub_term_get_current_output): Likewise.
32133
32134 * util/grub-editenv.c: Include header file <grub/handler.h>.
32135 (grub_term_get_current_input): Removed.
32136 (grub_term_get_current_output): Likewise.
32137 (grub_term_input_class): New variable.
32138 (grub_term_output_class): Likewise.
32139
32140 * util/grub-fstest.c (grub_term_get_current_input): Removed.
32141 (grub_term_get_current_output): Likewise.
32142 (grub_term_input_class): New variable.
32143 (grub_term_output_class): Likewise.
32144
32145 * util/grub-probe.c (grub_term_get_current_input): Removed.
32146 (grub_term_get_current_output): Likewise.
32147 (grub_term_input_class): New variable.
32148 (grub_term_output_class): Likewise.
32149
32150 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
32151 (grub_term_get_current_output): Likewise.
32152 (grub_term_input_class): New variable.
32153 (grub_term_output_class): Likewise.
32154
32155 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
32156 (terminal_mod_SOURCES): Likewise.
32157 (terminal_mod_CFLAGS): Likewise.
32158 (terminal_mod_LDFLAGS): Likewise.
32159
32160 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
32161 handler.c.
32162 (kernel_img_SOURCES): Add list.c and handler.c.
32163 (kernel_img_HEADERS): Add list.h and handler.h.
32164
32165 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
32166 handler.c.
32167 (kernel_mod_SOURCES): Add list.c and handler.c.
32168 (kernel_mod_HEADERS): Add list.h and handler.h.
32169
32170 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
32171 handler.c.
32172 (kernel_elf_SOURCES): Add list.c and handler.c.
32173 (kernel_elf_HEADERS): Add list.h and handler.h.
32174
32175 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
32176 handler.c.
32177 (kernel_elf_SOURCES): Add list.c and handler.c.
32178 (kernel_elf_HEADERS): Add list.h and handler.h.
32179
32180 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
32181 handler.c.
32182 (kernel_mod_SOURCES): Add list.c and handler.c.
32183 (kernel_mod_HEADERS): Add list.h and handler.h.
32184
32185 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
32186 handler.c.
32187 (kernel_elf_SOURCES): Add list.c and handler.c.
32188 (kernel_elf_HEADERS): Add list.h and handler.h.
32189
32190 2009-02-27 Robert Millan <rmh@aybabtu.com>
32191
32192 Factorize elf32 / elf64 code in Multiboot loader. This will
32193 prevent it from getting out of sync again.
32194
32195 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
32196 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
32197 grub_multiboot_load_elf64): Move from here ...
32198 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
32199 grub_multiboot_load_elf): ... to here (new file).
32200
32201 2009-02-27 Robert Millan <rmh@aybabtu.com>
32202
32203 * util/grub.d/10_linux.in: Rename "single-user mode" to
32204 "recovery mode".
32205
32206 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
32207
32208 Don't leak in SCSI code.
32209 * disk/scsi.c (grub_scsi_close): free `scsi'.
32210
32211 2009-02-27 Robert Millan <rmh@aybabtu.com>
32212
32213 * loader/i386/pc/multiboot.c: Move from here ...
32214 * loader/i386/multiboot.c: ... to here. Update all users.
32215
32216 2009-02-27 Robert Millan <rmh@aybabtu.com>
32217
32218 Patch from Alexandre Bique <bique.alexandre@gmail.com>
32219 * util/i386/pc/grub-setup.c (setup): Fix directory path.
32220
32221 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
32222
32223 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
32224 b-tree.
32225
32226 2009-02-27 Robert Millan <rmh@aybabtu.com>
32227
32228 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
32229 `0x' qualifier as 0 when base is specified as parameter).
32230
32231 2009-02-24 Bean <bean123ch@gmail.com>
32232
32233 * configure.ac: Check for -mcmodel=large in x86_64 target.
32234
32235 * include/grub/efi/api.h (efi_call_10): New macro.
32236 (efi_wrap_10): New function.
32237
32238 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
32239 (GRUB_PE32_REL_BASED_HIGH): Likewise.
32240 (GRUB_PE32_REL_BASED_LOW): Likewise.
32241 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
32242 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
32243 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
32244 (GRUB_PE32_REL_BASED_SECTION): Likewise.
32245 (GRUB_PE32_REL_BASED_REL): Likewise.
32246 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
32247 (GRUB_PE32_REL_BASED_DIR64): Likewise.
32248 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
32249
32250 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
32251 issue.
32252
32253 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
32254 (efi_wrap_10): New function.
32255
32256 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
32257
32258 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
32259 MB/MBP model (NV chipset).
32260 (devdata_devs): Add devpath_5 to the list.
32261
32262 * load/i386/efi/linux.c (video_base): Remove variable.
32263 (RGB_MASK): New macro.
32264 (RGB_MAGIC): Likewise.
32265 (LINE_MIN): Likewise.
32266 (LINE_MAX): Likewise.
32267 (FBTEST_STEP): Likewise.
32268 (FBTEST_COUNT): Likewise.
32269 (fb_list): New variable.
32270 (grub_find_video_card): Remove function.
32271 (find_framebuf): New function.
32272 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
32273 line length.
32274
32275 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
32276 problem for x86_64.
32277
32278 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
32279
32280 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
32281
32282 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
32283 coding tool name.
32284
32285 2009-02-22 Robert Millan <rmh@aybabtu.com>
32286
32287 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
32288 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
32289 in our relocation, instead of using it directly from heap. Also
32290 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
32291
32292 2009-02-21 Robert Millan <rmh@aybabtu.com>
32293
32294 Implement USB keyboard support (based on patch by Marco Gerards)
32295
32296 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
32297 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
32298 (usb_keyboard_mod_LDFLAGS): New variables.
32299
32300 * term/usb_keyboard.c: New file.
32301
32302 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
32303
32304 Corrected wrong declaration
32305
32306 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
32307
32308 2009-02-14 Christian Franke <franke@computer.org>
32309
32310 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
32311 (grub_lspci_iter): Print class code and programming interface byte.
32312
32313 2009-02-14 Christian Franke <franke@computer.org>
32314
32315 * gendistlist.sh: Ignore `.svn' directories.
32316
32317 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
32318
32319 * fs/fat.c: Add 2009 to Copyright line.
32320
32321 2009-02-14 Christian Franke <franke@computer.org>
32322
32323 * commands/hdparm.c: New file. Provides `hdparm' command
32324 which sends ATA commands via grub_disk_ata_pass_through ().
32325
32326 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
32327
32328 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
32329 and <grub/cpu/io.h> to include/grub/ata.h.
32330 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
32331 (GRUB_CDROM_SECTOR_SIZE): Remove.
32332 (GRUB_ATA_*): Move to include/grub/ata.h.
32333 (GRUB_ATAPI_*): Likewise.
32334 (enum grub_ata_commands): Likewise.
32335 (enum grub_ata_timeout_milliseconds): Likewise.
32336 (struct grub_ata_device): Likewise.
32337 (grub_ata_regset): Likewise.
32338 (grub_ata_regget): Likewise.
32339 (grub_ata_regset2): Likewise.
32340 (grub_ata_regget2): Likewise.
32341 (grub_ata_check_ready): Likewise.
32342 (grub_ata_wait_not_busy): Remove static, exported in
32343 include/grub/ata.h.
32344 (grub_ata_wait_drq): Likewise.
32345 (grub_ata_pio_read): Likewise.
32346
32347 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
32348 function for hdparm.mod.
32349
32350 * include/grub/ata.h: New file, contains declarations from
32351 disk/ata.c.
32352 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
32353
32354 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
32355 (grub_disk_ata_pass_through): New exported variable.
32356
32357 * kern/disk.c (grub_disk_ata_pass_through): New variable.
32358
32359 2009-02-13 Colin D Bennett <colin@gibibit.com>
32360
32361 Support multiple fallback entries, and provide an API to support
32362 executing default+fallback menu entries. Renamed the `terminal' menu
32363 viewer to `text'.
32364
32365 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
32366 variable declaration.
32367 (grub_menu_execute_callback): New structure declaration.
32368 (grub_menu_execute_callback_t): New typedef.
32369 (grub_menu_execute_with_fallback): New function declaration.
32370 (grub_menu_get_entry): Likewise.
32371 (grub_menu_get_timeout): Likewise.
32372 (grub_menu_set_timeout): Likewise.
32373
32374 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
32375
32376 * normal/menu.c (grub_wait_after_message): Moved to
32377 `normal/menu_text.c'.
32378 (draw_border): Likewise.
32379 (print_message): Likewise.
32380 (print_entry): Likewise.
32381 (print_entries): Likewise.
32382 (grub_menu_init_page): Likewise.
32383 (get_entry_number): Likewise.
32384 (print_timeout): Likewise.
32385 (run_menu): Likewise.
32386 (grub_menu_execute_entry): Likewise.
32387 (show_text_menu): Likewise.
32388 (get_and_remove_first_entry_number): New function.
32389 (grub_menu_execute_with_fallback): Likewise.
32390 (get_entry): Renamed to ...
32391 (grub_menu_get_entry): .. this and made it global.
32392 (get_timeout): Renamed to ...
32393 (grub_menu_get_timeout): ... this and made it global.
32394 (set_timeout): Renamed to ...
32395 (grub_menu_set_timeout): ... this and made it global.
32396 (grub_normal_terminal_menu_viewer): Renamed to ...
32397 (grub_normal_text_menu_viewer): ... this.
32398
32399 * normal/menu_text.c: New file. Extracted text-menu-specific code
32400 from normal/menu.c.
32401
32402 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
32403 (normal_mod_SOURCES): Likewise.
32404
32405 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32406 (normal_mod_SOURCES): Likewise.
32407
32408 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32409 (normal_mod_SOURCES): Likewise.
32410
32411 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
32412 (normal_mod_SOURCES): Likewise.
32413
32414 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32415 (normal_mod_SOURCES): Likewise.
32416
32417 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32418 (normal_mod_SOURCES): Likewise.
32419
32420 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32421 (normal_mod_SOURCES): Likewise.
32422
32423 2009-02-11 Robert Millan <rmh@aybabtu.com>
32424
32425 * util/grub.d/00_header.in: Update old reference to `font' command.
32426
32427 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
32428
32429 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
32430
32431 Based on patch from Javier Martín.
32432
32433 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
32434
32435 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
32436 to avoid false positives with FAT.
32437 (grub_fstest_SOURCES): Likewise.
32438 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32439 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32440 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32441 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32442 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32443 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32444
32445 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
32446
32447 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
32448 bpb.version_specific.fat12_or_fat16.fstype and
32449 bpb.version_specific.fat32.fstype.
32450
32451 2009-02-08 Robert Millan <rmh@aybabtu.com>
32452
32453 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
32454
32455 2009-02-08 Robert Millan <rmh@aybabtu.com>
32456
32457 * Makefile.in (host_os, host_cpu): New variables.
32458 (target_os): Remove. Update all users.
32459
32460 2009-02-08 Marco Gerards <marco@gnu.org>
32461
32462 * Makefile.in (enable_grub_emu_usb): New variable.
32463 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
32464 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
32465 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
32466 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
32467 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
32468 `usbtest.mod' and `usbms.mod'.
32469 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
32470 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
32471 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
32472 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
32473 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
32474 variables.
32475
32476 * disk/usbms.c: New file.
32477
32478 * include/grub/usb.h: Likewise.
32479
32480 * include/grub/usbtrans.h: Likewise.
32481
32482 * include/grub/usbdesc.h: Likewise.
32483
32484 * bus/usb/usbtrans.c: Likewise.
32485
32486 * bus/usb/ohci.c: Likewise.
32487
32488 * bus/usb/uhci.c: Likewise.
32489
32490 * bus/usb/usbhub.c: Likewise.
32491
32492 * bus/usb/usb.c: Likewise.
32493
32494 * commands/usbtest.c: Likewise.
32495
32496 * util/usb.c: Likewise.
32497
32498 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
32499
32500 * configure.ac: Test for libusb presence.
32501
32502 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
32503
32504 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
32505
32506 * kern/mm.c: Add more comments.
32507
32508 2009-02-08 Robert Millan <rmh@aybabtu.com>
32509
32510 Patch from Javier Martín.
32511 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
32512 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
32513
32514 2009-02-08 Robert Millan <rmh@aybabtu.com>
32515
32516 * fs/cpio.c: Split tar functionality to ...
32517 * fs/tar.c: ... here (new file). Update all users.
32518
32519 2009-02-07 Robert Millan <rmh@aybabtu.com>
32520
32521 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
32522 backward-incompatible features.
32523
32524 Based on patch from Javier Martín, with some adjustments.
32525
32526 2009-02-07 Michael Scherer <misc@mandriva.org>
32527
32528 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
32529
32530 2009-02-07 Robert Millan <rmh@aybabtu.com>
32531
32532 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
32533 position of `disk/lvm.c' to ensure grub_init_all() always picks it
32534 after the RAID stuff.
32535
32536 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
32537
32538 Fixes problem when running vbetest command as reported by
32539 Vladimir Serbinenko <phcoder@gmail.com>.
32540
32541 * (grub_vbe_set_video_mode): Fixed problem with text modes.
32542
32543 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
32544
32545 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
32546 /dev/md/NpN style mdraid devices.
32547
32548 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
32549
32550 * util/unifont2pff.rb: Remove.
32551
32552 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
32553
32554 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
32555 `#'.
32556
32557 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
32558
32559 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
32560 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32561 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32562 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32563 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32564 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32565 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32566
32567 2009-02-02 Christian Franke <franke@computer.org>
32568
32569 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
32570
32571 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
32572
32573 * INSTALL: Note that we now require at least autoconf 2.59 and
32574 that LZO is optional.
32575
32576 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
32577
32578 Base on patch on bug #24154 created by Tomas Tintera
32579 <trosos@seznam.cz>.
32580
32581 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
32582
32583 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
32584
32585 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
32586 <bero@arklinux.org>.
32587
32588 * normal/parser.y (script_init): Add missing semicolon.
32589
32590 2009-01-31 Colin D Bennett <colin@gibibit.com>
32591
32592 * normal/main.c: Add include to grub/menu_viewer.h.
32593 (free_menu_entry_classes): Added.
32594 (grub_normal_menu_addentry): Added class property handling.
32595 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
32596 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
32597
32598 * normal/menu_viewer.c: New file.
32599
32600 * normal/menu.c (run_menu_entry): Renamed to ...
32601 (grub_menu_execute_entry): ... this and made it as global.
32602 (grub_menu_run): Renamed to ...
32603 (show_text_menu): ... this and made it local.
32604 (show_text_menu): Adapt to new function names.
32605 (grub_normal_terminal_menu_viewer): New global variable.
32606
32607 * include/grub/menu.h: New file.
32608
32609 * include/grub/menu_viewer.h: New file.
32610
32611 * include/grub/normal.h: Added include to grub/menu.h.
32612 (grub_menu_entry): Moved to include/grub/menu.h.
32613 (grub_menu_entry_t): Likewise.
32614 (grub_menu): Likewise.
32615 (grub_menu_t): Likewise.
32616 (grub_normal_terminal_menu_viewer): Added.
32617 (grub_menu_execute_entry): Likewise.
32618 (grub_menu_run): Removed.
32619
32620 * DISTLIST: Added include/grub/menu.h.
32621 Added include/grub/menu_viewer.h.
32622 Added normal/menu_viewer.c.
32623
32624 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
32625
32626 * normal/execute.c (grub_script_execute_menuentry): Changed to use
32627 arglist for menutitle arguments.
32628
32629 * normal/main.c (grub_normal_menu_addentry): Likewise.
32630
32631 * normal/parser.y (menuentry): Likewise.
32632
32633 * normal/script.c (grub_script_create_cmdmenu): Likewise.
32634
32635 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
32636 (grub_script_create_cmdmenu): Likewise.
32637
32638 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
32639
32640 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
32641 changes.
32642
32643 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
32644
32645 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
32646
32647 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
32648
32649 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
32650
32651 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
32652
32653 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
32654
32655 2009-01-30 Christian Franke <franke@computer.org>
32656
32657 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
32658 in option help text.
32659
32660 2009-01-27 Pavel Roskin <proski@gnu.org>
32661
32662 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
32663
32664 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
32665
32666 * commands/lsmmap.c: Add include to grub/machine/memory.h.
32667
32668 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
32669
32670 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
32671 unregister function.
32672
32673 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
32674
32675 * disk/scsi.c (grub_scsi_read): Fix sign problem.
32676
32677 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
32678
32679 * util/grub-mkfont.c (usage): Fix typo.
32680
32681 * util/elf/grub-mkimage.c (load_modules): Fix warning.
32682
32683 2009-01-26 Daniel Mierswa <impulze@impulze.org>
32684
32685 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
32686
32687 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
32688
32689 * kern/misc.c (grub_strcasecmp): New function.
32690 (grub_strcasecmp): Use grub_size_t instead of int for length.
32691 Fix return value.
32692 * include/grub/misc.h: Update function prototypes.
32693
32694 2009-01-26 Robert Millan <rmh@aybabtu.com>
32695
32696 * configure.ac: Fix cross-compilation check.
32697
32698 2009-01-22 Christian Franke <franke@computer.org>
32699
32700 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
32701 (precision) digit string. Allow `.format2' without `format1' (width).
32702 Limit input chars for `%s' output to `format2' if specified. This is
32703 compatible with standard printf ().
32704
32705 2009-01-22 Christian Franke <franke@computer.org>
32706
32707 * disk/ata.c (grub_ata_wait_status): Replace by ...
32708 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
32709 other status bits may be invalid while BSY is asserted.
32710 (grub_ata_check_ready): New function.
32711 (grub_ata_cmd): Removed.
32712 (grub_ata_wait_drq): New function.
32713 (grub_ata_strncpy): Remove inline.
32714 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
32715 and error check now done by grub_ata_wait_drq ().
32716 (grub_ata_pio_write): Likewise.
32717 (grub_atapi_identify): Set DEV before check for !BSY. Use
32718 grub_ata_wait_drq () to wait for data.
32719 (grub_ata_device_initialize): Add status register check to
32720 detect missing SATA slave devices. Add debug messages.
32721 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
32722 (grub_atapi_packet): Set DEV before check for !BSY. Replace
32723 transfer loop by grub_ata_pio_write ().
32724 (grub_ata_identify): Set DEV before check for !BSY. Use
32725 grub_ata_wait_drq () to wait for data.
32726 (grub_ata_setaddress): Set DEV before check for !BSY.
32727 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
32728 read/write in one loop. Fix invalid command on write. Fix incomplete
32729 command on (size % batch) == 0. Add missing error check after write of
32730 last block. Add debug messages.
32731 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
32732
32733 2009-01-19 Christian Franke <franke@computer.org>
32734
32735 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
32736 (GRUB_ATAPI_IREASON_*): Likewise.
32737 (grub_ata_pio_write): Fix timeout error return.
32738 (grub_atapi_identify): Add grub_ata_wait () after cmd.
32739 (grub_atapi_wait_drq): New function.
32740 (grub_atapi_packet): New parameter `size'.
32741 Use grub_atapi_wait_drq () and direct write instead of
32742 grub_ata_pio_write ().
32743 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
32744 reads the number of bytes requested by the device for each DRQ
32745 assertion.
32746 (grub_atapi_write): Remove old implementation, return not
32747 implemented instead.
32748
32749 2009-01-19 Christian Franke <franke@computer.org>
32750
32751 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
32752 of 512 to calculate data size.
32753 (grub_scsi_read12): Likewise.
32754 (grub_scsi_write10): Likewise.
32755 (grub_scsi_write12): Likewise.
32756 (grub_scsi_read): Adjust size according to blocksize.
32757 Add checks for invalid blocksize and unaligned transfer.
32758
32759 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
32760
32761 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
32762
32763 * term/gfxterm.c (write_char): Fix background rendering for wide
32764 width glyphs.
32765
32766 2009-01-19 Robert Millan <rmh@aybabtu.com>
32767
32768 * config.guess: Update to latest version from config git.
32769 * config.sub: Likewise.
32770
32771 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
32772
32773 * Makefile.in: Change font compilation to use new grub-mkfont instead
32774 of java version.
32775
32776 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
32777 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
32778 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
32779 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
32780 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
32781 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
32782 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
32783 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
32784 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
32785
32786 2009-01-16 Christian Franke <franke@computer.org>
32787
32788 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
32789 (enum grub_ata_timeout_milliseconds): New enum.
32790 (grub_ata_wait_status): Add parameter milliseconds.
32791 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
32792 recovery from timed-out commands.
32793 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
32794 return grub_errno instead of REG_ERROR.
32795 (grub_ata_pio_write): Add parameter milliseconds.
32796 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
32797 Pass milliseconds to grub_ata_wait_status () and
32798 grub_ata_pio_read ().
32799 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
32800 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
32801 grub_ata_wait_status (). Fix IDENTIFY timeout check.
32802 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
32803 It is not suitable for device detection, because DEV bit is ignored,
32804 the command may run too long, and not all devices set the signature
32805 properly.
32806 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
32807 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
32808 Fix device selection, DEV bit must be set first to address the registers
32809 of the correct device.
32810 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
32811 grub_ata_pio_read/write ().
32812 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
32813 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
32814
32815 2009-01-13 Carles Pina i Estany <carles@pina.cat>
32816
32817 * util/grub-editenv.c (main): Use fseeko(), not fseek().
32818
32819 2009-01-13 Bean <bean123ch@gmail.com>
32820
32821 * util/grub-mkfont.c (write_font): forget to remove some debug code.
32822
32823 2009-01-13 Bean <bean123ch@gmail.com>
32824
32825 * Makefile.in: (enable_grub_mkfont): New variable.
32826 (freetype_cflags): Likewise.
32827 (freetype_libs): Likewise.
32828
32829 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
32830 (grub_mkfont_SOURCES): New variable.
32831 (grub_mkfont_CFLAGS): Likewise.
32832 (grub_mkfont_LDFLAGS): Likewise.
32833
32834 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
32835 library if `--enable-grub-mkfont' is requested.
32836 (enable_grub_mkfont): New variable.
32837 (freetype_cflags): Likewise.
32838 (freetype_libs): Likewise.
32839
32840 * util/grub-mkfont.c: New file.
32841
32842 2009-01-12 Christian Franke <franke@computer.org>
32843
32844 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
32845 mode check. Fix setting of compat_use[].
32846
32847 2009-01-10 Robert Millan <rmh@aybabtu.com>
32848
32849 Update a few copyright years which we forgot to do in 2008 (only for
32850 files whose changes made in 2008 were copyright-significant)
32851
32852 * Makefile.in: Add 2008 to Copyright line.
32853 * disk/ieee1275/ofdisk.c: Likewise.
32854 * disk/efi/efidisk.c: Likewise.
32855 * kern/dl.c: Likewise.
32856 * kern/sparc64/ieee1275/init.c: Likewise.
32857 * kern/mm.c: Likewise.
32858 * kern/efi/mm.c: Likewise.
32859 * boot/i386/pc/boot.S: Likewise.
32860 * genfslist.sh: Likewise.
32861 * fs/iso9660.c: Likewise.
32862 * fs/hfs.c: Likewise.
32863 * fs/jfs.c: Likewise.
32864 * fs/minix.c: Likewise.
32865 * fs/ufs.c: Likewise.
32866 * gensymlist.sh.in: Likewise.
32867 * genkernsyms.sh.in: Likewise.
32868 * include/grub/misc.h: Likewise.
32869 * include/grub/types.h: Likewise.
32870 * include/grub/symbol.h: Likewise.
32871 * include/grub/elf.h: Likewise.
32872 * include/grub/kernel.h: Likewise.
32873 * include/grub/disk.h: Likewise.
32874 * include/grub/dl.h: Likewise.
32875 * include/grub/i386/linux.h: Likewise.
32876 * include/grub/i386/pc/biosdisk.h: Likewise.
32877 * include/grub/efi/api.h: Likewise.
32878 * include/grub/efi/pe32.h: Likewise.
32879 * include/grub/util/misc.h: Likewise.
32880 * normal/execute.c: Likewise.
32881 * normal/arg.c: Likewise.
32882 * normal/completion.c: Likewise.
32883 * normal/lexer.c: Likewise.
32884 * normal/parser.y: Likewise.
32885 * normal/misc.c: Likewise.
32886 * commands/i386/pc/vbeinfo.c: Likewise.
32887 * commands/hexdump.c: Likewise.
32888 * commands/terminal.c: Likewise.
32889 * commands/ls.c: Likewise.
32890 * commands/help.c: Likewise.
32891 * partmap/pc.c: Likewise.
32892 * loader/efi/chainloader.c: Likewise.
32893 * loader/multiboot_loader.c: Likewise.
32894 * loader/i386/pc/multiboot2.c: Likewise.
32895 * term/efi/console.c: Likewise.
32896 * term/i386/pc/serial.c: Likewise.
32897 * util/lvm.c: Likewise.
32898 * util/console.c: Likewise.
32899 * util/i386/efi/grub-mkimage.c: Likewise.
32900 * util/raid.c: Likewise.
32901
32902 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
32903
32904 * commands/videotest.c: Removed include to grub/machine/memory.h.
32905
32906 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
32907 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
32908 (video_mod_SOURCES): Removed.
32909 (video_mod_CFLAGS): Likewise.
32910 (video_mod_LDFLAGS): Likewise.
32911 (gfxterm_mod_SOURCES): Likewise.
32912 (gfxterm_mod_CFLAGS): Likewise.
32913 (gfxterm_mod_LDFLAGS): Likewise.
32914 (videotest_mod_SOURCES): Likewise.
32915 (videotest_mod_CFLAGS): Likewise.
32916 (videotest_mod_LDFLAGS): Likewise.
32917 (bitmap_mod_SOURCES): Likewise.
32918 (bitmap_mod_CFLAGS): Likewise.
32919 (bitmap_mod_LDFLAGS): Likewise.
32920 (tga_mod_SOURCES): Likewise.
32921 (tga_mod_CFLAGS): Likewise.
32922 (tga_mod_LDFLAGS): Likewise.
32923 (jpeg_mod_SOURCES): Likewise.
32924 (jpeg_mod_CFLAGS): Likewise.
32925 (jpeg_mod_LDFLAGS): Likewise.
32926 (png_mod_SOURCES): Likewise.
32927 (png_mod_CFLAGS): Likewise.
32928 (png_mod_LDFLAGS): Likewise.
32929
32930 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
32931 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
32932 (video_mod_SOURCES): Added.
32933 (video_mod_CFLAGS): Likewise.
32934 (video_mod_LDFLAGS): Likewise.
32935 (videotest_mod_SOURCES): Likewise.
32936 (videotest_mod_CFLAGS): Likewise.
32937 (videotest_mod_LDFLAGS): Likewise.
32938 (bitmap_mod_SOURCES): Likewise.
32939 (bitmap_mod_CFLAGS): Likewise.
32940 (bitmap_mod_LDFLAGS): Likewise.
32941 (tga_mod_SOURCES): Likewise.
32942 (tga_mod_CFLAGS): Likewise.
32943 (tga_mod_LDFLAGS): Likewise.
32944 (jpeg_mod_SOURCES): Likewise.
32945 (jpeg_mod_CFLAGS): Likewise.
32946 (jpeg_mod_LDFLAGS): Likewise.
32947 (png_mod_SOURCES): Likewise.
32948 (png_mod_CFLAGS): Likewise.
32949 (png_mod_LDFLAGS): Likewise.
32950 (gfxterm_mod_SOURCES): Likewise.
32951 (gfxterm_mod_CFLAGS): Likewise.
32952 (gfxterm_mod_LDFLAGS): Likewise.
32953
32954 * term/gfxterm.c: Removed include to grub/machine/memory.h,
32955 grub/machine/console.h.
32956
32957 2009-01-04 Jerone Young <jerone@gmail.com>
32958
32959 Make on screen instructions clearer
32960
32961 Based on patch created by Jidanni <jidanni@jidanni.org>
32962
32963 * normal/menu.c: print clearer instructions on the screen
32964
32965 2009-01-02 Colin D Bennett <colin@gibibit.com>
32966
32967 New font engine.
32968
32969 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
32970 build system and fixed gfxterm.c to work with different sized fonts.
32971
32972 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
32973
32974 * configure: Re-generated.
32975
32976 * DISTLIST: Removed font/manager.c.
32977 Added font/font.c.
32978 Added font/font_cmd.c.
32979
32980 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
32981 compilation.
32982
32983 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
32984
32985 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
32986
32987 * kern/term.c: Changed users of grub_utf8_to_ucs4.
32988
32989 * normal/menu.c: Likewise.
32990
32991 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
32992 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
32993
32994 * include/grub/font.h: Replaced with new file.
32995
32996 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
32997 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
32998 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
32999 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
33000 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
33001 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
33002 fg_red, fg_green, fg_blue, fg_alpha.
33003 (grub_video_adapter): Removed blit_glyph.
33004 (grub_video_blit_glyph): Removed.
33005
33006 * font/manager.c: Removed file.
33007
33008 * font/font.c: New file.
33009
33010 * font/font_cmd.c: Likewise.
33011
33012 * video/video.c (grub_video_blit_glyph): Removed.
33013
33014 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
33015 (grub_video_vbe_map_rgba): Likewise.
33016 (grub_video_vbe_unmap_color_int): Likewise.
33017 (grub_video_vbe_blit_glyph): Removed.
33018 (grub_video_vbe_adapter): Removed blit_glyph.
33019
33020 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
33021 (get_pixel): Likewise.
33022 (set_pixel): Likewise.
33023
33024 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
33025
33026 * term/gfxterm.c: Adapted to new font engine.
33027
33028 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
33029
33030 * term/i386/pc/vga.c: Likewise.
33031
33032 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
33033
33034 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
33035
33036 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
33037
33038 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
33039
33040 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
33041
33042 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
33043
33044 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
33045
33046 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
33047
33048 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
33049
33050 * util/grub.d/00_header.in: Changed to use new loadfont command.
33051
33052 * util/grub-mkconfig_lib.in: Changed font extension.
33053
33054 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
33055
33056 * util/getroot.c (grub_util_get_grub_dev): Add support for
33057 /dev/md/dNNpNN style partitionable mdraid devices.
33058
33059 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
33060
33061 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
33062 at a time limit of the PXE TFTP API correctly.
33063 (grub_pxefs_close): Likewise.
33064
33065 2008-11-29 Robert Millan <rmh@aybabtu.com>
33066
33067 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
33068 grub_ata_device_initialize() calls.
33069
33070 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
33071
33072 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
33073 iteration failed.
33074 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
33075
33076 2008-11-28 Robert Millan <rmh@aybabtu.com>
33077
33078 Fix build on powerpc-ieee1275. Based on patch created by
33079 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
33080 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
33081 `kern/ieee1275/mmap.c'.
33082 * include/grub/powerpc/ieee1275/memory.h: New file.
33083
33084 Provide grub-install on coreboot.
33085 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
33086 (grub_install_SOURCES): New variable.
33087 * util/i386/pc/grub-install.in: Add a few condition checks to make it
33088 usable on coreboot.
33089
33090 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
33091
33092 * util/grub-fstest.c (grub_term_get_current_input): Change return type
33093 to `grub_term_input_t'.
33094 (grub_term_get_current_output): Change return type to
33095 `grub_term_output_t'.
33096
33097 2008-11-22 Robert Millan <rmh@aybabtu.com>
33098
33099 Fix breakage on coreboot due to declaration mismatch.
33100 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
33101 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
33102 grub_vga_text_cls().
33103
33104 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
33105 comments. Avoid copying one more byte than necessary (just in case).
33106
33107 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
33108 to 0x200000 (avoids trouble with some OFW implementations, and matches
33109 with the one in Yaboot).
33110 Reported by Manoel Abranches
33111
33112 2008-11-20 Robert Millan <rmh@aybabtu.com>
33113
33114 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
33115 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
33116
33117 * util/grub-mkconfig_lib.in (grub_warn): New function.
33118 (convert_system_path_to_grub_path): Use grub_warn() when issuing
33119 warnings, to obtain consistent formatting.
33120 * util/grub.d/00_header.in: Likewise.
33121 * util/update-grub_lib.in: Likewise.
33122
33123 * loader/i386/linux.c (allocate_pages): Fix a warning.
33124 Move comment text to `#error' stanza.
33125
33126 Harmonize ieee1275's grub_available_iterate() with the generic
33127 grub_machine_mmap_iterate() interface (fixes a recently-introduced
33128 build problem on i386-ieee1275):
33129 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
33130 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
33131 parameter `type'. Update all users of this function.
33132 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
33133 `kern/ieee1275/mmap.c'.
33134 * kern/ieee1275/init.c
33135 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
33136 with ...
33137 (grub_machine_mmap_iterate): ... this.
33138 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
33139 return type to `grub_err_t'. Update all implementations of this
33140 function prototype.
33141 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
33142 Likewise.
33143
33144 Add `lsmmap' command (lists firmware-provided memory map):
33145 * commands/lsmmap.c: New file.
33146 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
33147 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
33148 variables.
33149 * conf/powerpc-ieee1275.rmk: Likewise.
33150 * conf/i386-coreboot.rmk: Likewise.
33151 * conf/i386-ieee1275.rmk: Likewise.
33152
33153 2008-11-19 Robert Millan <rmh@aybabtu.com>
33154
33155 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
33156 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
33157 constraints to initrd allocation (based on code from
33158 loader/i386/pc/linux.c). Without them, initrd was allocated too high
33159 for Linux to find it.
33160
33161 2008-11-14 Robert Millan <rmh@aybabtu.com>
33162
33163 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
33164 order to cope with duplicate slashes.
33165
33166 2008-11-14 Robert Millan <rmh@aybabtu.com>
33167
33168 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
33169 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
33170 don't want to mess with lower memory, because it is used in the Linux
33171 loader.
33172
33173 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
33174 an appropriate place in lower memory, between 0x10000 and 0x90000,
33175 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
33176 is in our heap (probably as a result of it being corrupted during
33177 decompression). Add #error instance with comment to explain why this
33178 loader isn't currently usable on PC/BIOS.
33179
33180 2008-11-14 Robert Millan <rmh@aybabtu.com>
33181
33182 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
33183 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
33184
33185 2008-11-12 Robert Millan <rmh@aybabtu.com>
33186
33187 Make loader/i386/linux.c buildable on i386-pc (although disabled).
33188
33189 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
33190 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
33191 from here ...
33192 * include/grub/i386/pc/memory.h: ... to here.
33193
33194 2008-11-12 Robert Millan <rmh@aybabtu.com>
33195
33196 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
33197 split).
33198
33199 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
33200 (grub_console_cur_color, grub_console_real_putchar)
33201 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
33202 (grub_console_setcolorstate, grub_console_setcolor)
33203 (grub_console_getcolor): Move from here ...
33204 * include/grub/i386/vga_common.h: ... to here (new file).
33205
33206 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
33207 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
33208 `<grub/i386/io.h>'.
33209 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
33210 `<grub/i386/vga_common.h>'.
33211
33212 2008-11-12 Robert Millan <rmh@aybabtu.com>
33213
33214 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
33215 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
33216 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
33217 variables.
33218 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
33219 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
33220
33221 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
33222 grub_console_init() with call to grub_vga_text_init().
33223 (grub_machine_fini): Replace call to
33224 grub_console_fini() with call to grub_vga_text_fini() and
33225 grub_at_keyboard_fini().
33226
33227 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
33228 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
33229 (grub_console_setcolorstate, grub_console_setcolor)
33230 (grub_console_getcolor): New function prototypes.
33231
33232 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
33233 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
33234 (grub_vga_text_setcursor): Static-ize.
33235 (grub_vga_text_term): New structure.
33236 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
33237
33238 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
33239 (grub_console_cur_color, grub_console_standard_color)
33240 (grub_console_normal_color, grub_console_highlight_color)
33241 (map_char, grub_console_putchar, grub_console_getcharwidth)
33242 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
33243 (grub_console_getcolor): Move from here ...
33244 * term/i386/vga_common.c: ... to here (same function names).
33245
33246 2008-11-12 Robert Millan <rmh@aybabtu.com>
33247
33248 Use newly-added Multiboot support in coreboot.
33249
33250 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
33251 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
33252
33253 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
33254 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
33255 (codestart): Store the MBI in `startup_multiboot_info' when we're
33256 being loaded using Multiboot.
33257
33258 * kern/i386/coreboot/init.c (grub_machine_init): Move
33259 grub_at_keyboard_init() call to beginning of function (useful for
33260 debugging). Call grub_machine_mmap_init() before attempting to use
33261 grub_machine_mmap_iterate().
33262 (grub_lower_mem, grub_upper_mem): Move from here ...
33263 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
33264 here (new file).
33265
33266 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
33267 function prototype.
33268
33269 2008-11-12 Robert Millan <rmh@aybabtu.com>
33270
33271 Fix a regression introduced by the at_keyboard.mod split. Because
33272 some terminals are default on some platforms and non-default on
33273 others, the first terminal being registered determines which is
33274 going to be default.
33275
33276 * kern/term.c (grub_term_register_input): If this is the first
33277 terminal being registered, set it as the current one.
33278 (grub_term_register_output): Likewise.
33279
33280 * term/efi/console.c (grub_console_init): Do not call
33281 grub_term_set_current_output() or grub_term_set_current_input().
33282 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
33283 * term/i386/pc/console.c (grub_console_init): Likewise.
33284 (grub_console_fini): Do not call grub_term_set_current_input()
33285 (but leave grub_term_set_current_output() to restore text mode).
33286
33287 2008-11-10 Robert Millan <rmh@aybabtu.com>
33288
33289 * util/grub.d/00_header.in: Add backward compatibility check for
33290 versions of terminal.mod that don't understand `terminal_input' or
33291 `terminal_output'.
33292
33293 2008-11-09 Robert Millan <rmh@aybabtu.com>
33294
33295 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
33296 `terminal_input' / `terminal_output', not `terminal'.
33297
33298 2008-11-08 Robert Millan <rmh@aybabtu.com>
33299
33300 * Makefile.in (include_DATA): Fix srcdir=. assumption.
33301 (DISTCLEANFILES): Add `build_env.mk'.
33302
33303 2008-11-08 Robert Millan <rmh@aybabtu.com>
33304
33305 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
33306 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
33307 members. Update all users.
33308 * util/console.c (grub_ncurses_term): Split in ...
33309 (grub_ncurses_term_input): ... this, and ...
33310 (grub_ncurses_term_output): ... this. Update all users.
33311 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
33312
33313 2008-11-08 Robert Millan <rmh@aybabtu.com>
33314
33315 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
33316 (PKGDATA): Add $(pkgdata_SRCDIR).
33317 (pkglib_BUILDDIR): New variable.
33318 (pkgdata_SRCDIR): New variable.
33319 (build_env.mk): New target.
33320 (include_DATA): New variable.
33321 (install-local): Install $(include_DATA) files in $(includedir).
33322
33323 2008-11-07 Pavel Roskin <proski@gnu.org>
33324
33325 * gendistlist.sh: Use C locale for sorting to ensure consistent
33326 output on all systems.
33327
33328 * util/grub.d/00_header.in: Remove incorrect space before
33329 "serial".
33330
33331 2008-11-07 Robert Millan <rmh@aybabtu.com>
33332
33333 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
33334 per specification.
33335 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
33336 * loader/multiboot_loader.c (find_multi_boot2_header): New function
33337 (based on find_multi_boot1_header).
33338 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
33339 using find_multi_boot2_header(), and abort if neither Multiboot or
33340 Multiboot headers were found.
33341
33342 2008-11-07 Robert Millan <rmh@aybabtu.com>
33343
33344 Modularize at_keyboard.mod:
33345
33346 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
33347 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
33348 (at_keyboard_mod_LDFLAGS): New variables.
33349
33350 Actual terminal split:
33351
33352 * include/grub/term.h (struct grub_term): Split in ...
33353 (struct grub_term_input): ... this, and ...
33354 (struct grub_term_output): ... this. Update all users.
33355 (grub_term_set_current): Split in ...
33356 (grub_term_set_current_input): ... this, and ...
33357 (grub_term_set_current_output): ... this.
33358 (grub_term_get_current): Split in ...
33359 (grub_term_get_current_input): ... this, and ...
33360 (grub_term_get_current_output): ... this.
33361 (grub_term_register): Split in ...
33362 (grub_term_register_input): ... this, and ...
33363 (grub_term_register_output): ... this.
33364 (grub_term_unregister): Split in ...
33365 (grub_term_unregister_input): ... this, and ...
33366 (grub_term_unregister_output): ... this.
33367 (grub_term_iterate): Split in ...
33368 (grub_term_iterate_input): ... this, and ...
33369 (grub_term_iterate_output): ... this.
33370
33371 * kern/term.c (grub_term_list): Split in ...
33372 (grub_term_list_input): ... this, and ...
33373 (grub_term_list_output): ... this. Update all users.
33374 (grub_cur_term): Split in ...
33375 (grub_cur_term_input): ... this, and ...
33376 (grub_cur_term_output): ... this. Update all users.
33377 (grub_term_set_current): Split in ...
33378 (grub_term_set_current_input): ... this, and ...
33379 (grub_term_set_current_output): ... this.
33380 (grub_term_get_current): Split in ...
33381 (grub_term_get_current_input): ... this, and ...
33382 (grub_term_get_current_output): ... this.
33383 (grub_term_register): Split in ...
33384 (grub_term_register_input): ... this, and ...
33385 (grub_term_register_output): ... this.
33386 (grub_term_unregister): Split in ...
33387 (grub_term_unregister_input): ... this, and ...
33388 (grub_term_unregister_output): ... this.
33389 (grub_term_iterate): Split in ...
33390 (grub_term_iterate_input): ... this, and ...
33391 (grub_term_iterate_output): ... this.
33392
33393 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
33394 a check for input and one for output (and only attempt to get keys
33395 from user when input works).
33396
33397 * util/grub-probe.c (grub_term_get_current): Split in ...
33398 (grub_term_get_current_input): ... this, and ...
33399 (grub_term_get_current_output): ... this.
33400 * util/grub-fstest.c: Likewise.
33401 * util/i386/pc/grub-setup.c: Likewise.
33402 * util/grub-editenv.c: Likewise.
33403
33404 Portability adjustments:
33405
33406 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
33407 `term/i386/pc/at_keyboard.c'.
33408 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
33409 grub_keyboard_controller_init() (now handled by terminal .init).
33410 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
33411 grub_at_keyboard_init().
33412 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
33413 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
33414 at_keyboard.mod via input terminal interface).
33415 * include/grub/i386/coreboot/console.h: Convert into a stub for
33416 `<grub/i386/pc/console.h>'.
33417
33418 Migrate full terminals to new API:
33419
33420 * term/efi/console.c (grub_console_term): Split into ...
33421 (grub_console_term_input): ... this, and ...
33422 (grub_console_term_output): ... this. Update all users.
33423 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
33424 (grub_ofconsole_init): Split into ...
33425 (grub_ofconsole_init_input): ... this, and ...
33426 (grub_ofconsole_init_output): ... this.
33427 (grub_ofconsole_term): Split into ...
33428 (grub_ofconsole_term_input): ... this, and ...
33429 (grub_ofconsole_term_output): ... this. Update all users.
33430 * term/i386/pc/serial.c (grub_serial_term): Split into ...
33431 (grub_serial_term_input): ... this, and ...
33432 (grub_serial_term_output): ... this. Update all users.
33433 * term/i386/pc/console.c (grub_console_term): Split into ...
33434 (grub_console_term_input): ... this, and ...
33435 (grub_console_term_output): ... this. Update all users.
33436 (grub_console_term_input): Only enable it on PC/BIOS platform.
33437 (grub_console_init): Remove grub_keyboard_controller_init() call.
33438
33439 Migrate input terminals to new API:
33440
33441 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
33442 `i386' and `i386/pc' to enable build on x86_64 (this driver is
33443 i386-specific anyway).
33444 (grub_console_checkkey): Rename to ...
33445 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
33446 users.
33447 (grub_keyboard_controller_orig): New variable.
33448 (grub_console_getkey): Rename to ...
33449 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
33450 users.
33451 (grub_keyboard_controller_init): Static-ize. Save original
33452 controller value so that it can be restored ...
33453 (grub_keyboard_controller_fini): ... here (new function).
33454 (grub_at_keyboard_term): New structure.
33455 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
33456 functions.
33457
33458 Migrate output terminals to new API:
33459
33460 * term/i386/pc/vga.c (grub_vga_term): Change type to
33461 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
33462 members. Update all users.
33463 * term/gfxterm.c (grub_video_term): Change type to
33464 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
33465 members. Update all users.
33466 * include/grub/i386/pc/console.h (grub_console_checkkey)
33467 (grub_console_getkey): Do not export (no longer needed by gfxterm,
33468 etc).
33469
33470 Migrate `terminal' command and userland tools to new API:
33471
33472 * commands/terminal.c (grub_cmd_terminal): Split into ...
33473 (grub_cmd_terminal_input): ... this, and ...
33474 (grub_cmd_terminal_output): ... this.
33475 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
33476 `terminal_input' and `terminal_output'.
33477 * util/grub.d/00_header.in: Adjust `terminal' calls to new
33478 `terminal_input' / `terminal_output' API.
33479 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
33480 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
33481 provided ${GRUB_TERMINAL}, convert it).
33482
33483 2008-11-04 Robert Millan <rmh@aybabtu.com>
33484
33485 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
33486 for FreeBSD.
33487 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
33488
33489 2008-11-03 Bean <bean123ch@gmail.com>
33490
33491 * kern/elf.c (grub_elf32_load): Revert to previous code.
33492 (grub_elf64_load): Likewise.
33493
33494 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
33495
33496 2008-11-01 Robert Millan <rmh@aybabtu.com>
33497
33498 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
33499 (TARGET_CPPFLAGS): Likewise.
33500 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
33501
33502 2008-11-01 Carles Pina i Estany <carles@pina.cat>
33503
33504 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
33505
33506 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
33507
33508 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
33509 addition of objects until the code is not going to be able to fail.
33510
33511 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
33512
33513 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
33514 (add a missing NULL check, and correct them by moving the pointer
33515 operations after the actual check).
33516
33517 2008-10-29 Robert Millan <rmh@aybabtu.com>
33518
33519 * util/i386/pc/grub-install.in: Handle empty string as output from
33520 make_system_path_relative_to_its_root().
33521
33522 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
33523
33524 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
33525 circular metadata worst case scenario. If the metadata is circular
33526 then copy the wrap in place.
33527 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
33528 project lib/format_text/layout.h
33529 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
33530
33531 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
33532
33533 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
33534
33535 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
33536
33537 * util/update-grub_lib.in: Mention filename in warning message.
33538
33539 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
33540
33541 * NEWS: Update for rename of update-grub to grub-mkconfig.
33542
33543 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
33544
33545 * util/update-grub_lib.in: Copy to ...
33546 * util/grub-mkconfig_lib.in: ... this. Update all users.
33547 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
33548 * util/update-grub.in: Rename to ...
33549 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
33550 option. Add `--output' option to allow users to specify the generated
33551 configuration file. Default to stdout.
33552 (update_grub_dir): Rename to ...
33553 (grub_mkconfig_dir): ... this.
33554 (grub_cfg): Default to an empty string.
33555 * conf/common.rmk (update-grub): Rename to ...
33556 (grub-mkconfig): ... this.
33557 (update-grub_lib): Copy to ...
33558 (grub-mkconfig_lib): ... this.
33559 (update-grub_SCRIPTS): Copy to ...
33560 (grub-mkconfig_SCRIPTS): ... this. Update all users.
33561 (update-grub_DATA): Rename to ...
33562 (grub-mkconfig_DATA): ... this.
33563
33564 2008-09-28 Robert Millan <rmh@aybabtu.com>
33565
33566 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
33567 to `modified'. Add the real `created' field.
33568 (grub_iso9660_uuid): Use `modified' rather than `created' for
33569 constructing the UUID.
33570
33571 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
33572
33573 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
33574 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
33575
33576 2008-09-28 Bean <bean123ch@gmail.com>
33577
33578 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
33579 Thanks to Christian Franke for finding this bug.
33580
33581 2008-09-25 Robert Millan <rmh@aybabtu.com>
33582
33583 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
33584 instances of grub_util_get_disk_name() (see previous commit).
33585
33586 2008-09-25 Robert Millan <rmh@aybabtu.com>
33587
33588 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
33589 `util/i386/get_disk_name.c'.
33590 * conf/i386-efi.rmk: Likewise.
33591 * conf/x86_64-efi.rmk: Likewise.
33592 * conf/i386-coreboot.rmk: Likewise.
33593 * conf/i386-ieee1275.rmk: Likewise.
33594 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
33595 `util/ieee1275/get_disk_name.c'.
33596 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
33597 * util/ieee1275/get_disk_name.c: Remove file.
33598 * util/i386/get_disk_name.c: Remove file.
33599 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
33600 "hd%d" for device.map entries, rather than using
33601 grub_util_get_disk_name().
33602
33603 2008-09-24 Carles Pina i Estany <carles@pina.cat>
33604
33605 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
33606 warning.
33607 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
33608
33609 2008-09-24 Carles Pina i Estany <carles@pina.cat>
33610
33611 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
33612 Changed to 0x5100.
33613 (GRUB_TERM_PPAGE): Changed to 0x4900.
33614
33615 2008-09-24 Robert Millan <rmh@aybabtu.com>
33616
33617 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
33618 macros (they were i386-pc specific).
33619 * include/grub/sparc64/ieee1275/console.h: Likewise.
33620 * include/grub/efi/console.h: Likewise.
33621
33622 2008-09-22 Bean <bean123ch@gmail.com>
33623
33624 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
33625 resident and in attribute list.
33626
33627 * include/grub/ntfs.h (BMP_LEN): Removed.
33628
33629 2008-09-22 Bean <bean123ch@gmail.com>
33630
33631 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
33632 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
33633
33634 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
33635 error occurs, as grub_disk_open will call grub_disk_close, which will
33636 call p->close (scsi).
33637
33638 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
33639
33640 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
33641 (AC_PREREQ): Bumped to 2.59.
33642 (AC_TRY_COMPILE): Replace obsolete macro with ...
33643 (AC_COMPILE_IFELSE): ... this.
33644 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
33645 (AC_LINK_IFELSE): ... this.
33646
33647 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
33648
33649 * autogen.sh: Add a call to `gendistlist.sh'.
33650
33651 2008-09-19 Christian Franke <franke@computer.org>
33652
33653 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
33654 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
33655 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
33656 Export __enable_execute_stack() to modules.
33657 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
33658 New function.
33659
33660 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
33661
33662 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
33663 Sort the list.
33664
33665 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
33666
33667 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
33668 #include <grub/util/hostdisk.h>.
33669
33670 2008-09-08 Robert Millan <rmh@aybabtu.com>
33671
33672 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
33673 segments when their filesz is zero (grub_file_read() interprets
33674 zero-size as "read until EOF", which results in memory corruption).
33675 Use `lowest_segment' rather than 0 for calculating the current
33676 segment load address.
33677
33678 2008-09-08 Robert Millan <rmh@aybabtu.com>
33679
33680 * util/hostdisk.c (open_device): Replace a grub_util_info() call
33681 with grub_dprintf("hostdisk", ...), as it was so verbose that it
33682 clobbered useful information.
33683
33684 2008-09-08 Robert Millan <rmh@aybabtu.com>
33685
33686 * include/grub/util/biosdisk.h: Move to ...
33687 * include/grub/util/hostdisk.h: ... here. Update all users.
33688 * util/biosdisk.c: Move to ...
33689 * util/hostdisk.c: ... here. Update all users.
33690
33691 2008-09-07 Robert Millan <rmh@aybabtu.com>
33692
33693 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
33694 variables.
33695 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
33696 and length can be stored directly in the `mbi->mmap_addr' and
33697 `mbi->mmap_length' struct fields.
33698
33699 2008-09-07 Robert Millan <rmh@aybabtu.com>
33700
33701 * conf/i386.rmk: New file. Provides declaration for building
33702 `cpuid.mod'.
33703 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
33704 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
33705 variables.
33706 Include `conf/i386.mk'.
33707 * conf/i386-efi.rmk: Likewise.
33708 * conf/x86_64-efi.rmk: Likewise.
33709 * conf/i386-coreboot.rmk: Likewise.
33710 * conf/i386-ieee1275.rmk: Likewise.
33711
33712 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
33713
33714 Based on patch created by Colin D Bennett <colin@gibibit.com>.
33715 Adds optimization support for BGR based modes.
33716
33717 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
33718 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
33719 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
33720 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
33721 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
33722 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
33723 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
33724 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
33725 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
33726 (grub_video_i386_vbeblit_index_index): Likewise.
33727 (grub_video_i386_vbeblit_replace_directN): Added.
33728 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
33729 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
33730 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
33731 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
33732 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
33733 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
33734 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
33735 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
33736 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
33737 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
33738 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
33739 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
33740 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
33741
33742 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
33743 (grub_video_i386_vbefill_R8G8B8): Likewise.
33744 (grub_video_i386_vbefill_index): Likewise.
33745 (grub_video_i386_vbefill_direct32): Added.
33746 (grub_video_i386_vbefill_direct24): Likewise.
33747 (grub_video_i386_vbefill_direct16): Likewise.
33748 (grub_video_i386_vbefill_direct8): Likewise.
33749
33750 * include/grub/video.h (grub_video_blit_format): Removed
33751 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
33752 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
33753 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
33754 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
33755 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
33756
33757 * video/video.c (grub_video_get_blit_format): Updated to use new
33758 blit formats. Added handling for 16 bit color modes.
33759
33760 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
33761 fillers.
33762 (common_blitter): Updated to use new blitters.
33763
33764 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
33765 Removed.
33766 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
33767 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
33768 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
33769 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
33770 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
33771 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
33772 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
33773 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
33774 (grub_video_i386_vbeblit_index_index): Likewise.
33775 (grub_video_i386_vbeblit_replace_directN): Added.
33776 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
33777 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
33778 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
33779 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
33780 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
33781 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
33782 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
33783 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
33784 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
33785 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
33786 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
33787 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
33788 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
33789
33790 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
33791 (grub_video_i386_vbefill_R8G8B8): Likewise.
33792 (grub_video_i386_vbefill_index): Likewise.
33793 (grub_video_i386_vbefill_direct32): Added.
33794 (grub_video_i386_vbefill_direct24): Likewise.
33795 (grub_video_i386_vbefill_direct16): Likewise.
33796 (grub_video_i386_vbefill_direct8): Likewise.
33797
33798 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
33799 types.
33800
33801 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
33802 types.
33803
33804 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
33805 blitter types.
33806
33807 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
33808 types.
33809
33810 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
33811
33812 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
33813 RAID level 1.
33814
33815 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
33816
33817 * fs/iso9660.c (grub_iso9660_date): New structure.
33818 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
33819 (grub_iso9660_uuid): New function.
33820
33821 2008-09-05 Bean <bean123ch@gmail.com>
33822
33823 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
33824
33825 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
33826 insensitive bit for names in Win32 and Win32 & DOS namespace.
33827
33828 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
33829
33830 * include/grub/types.h (LONG_MAX): Likewise.
33831
33832 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
33833
33834 * util/getroot.c: Include <config.h>.
33835 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
33836 add support for /dev/md/N devices and handle LVM double dash escaping.
33837
33838 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
33839
33840 * config.guess: Update to latest version from config git.
33841 * config.sub: Likewise.
33842
33843 2008-09-03 Robert Millan <rmh@aybabtu.com>
33844
33845 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
33846 `disk->total_sectors'.
33847
33848 2008-09-01 Colin D Bennett <colin@gibibit.com>
33849
33850 * include/grub/normal.h: Fixed incorrect comment for
33851 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
33852
33853 2008-09-01 Colin D Bennett <colin@gibibit.com>
33854
33855 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
33856 values with defines.
33857
33858 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
33859 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
33860 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
33861 (GRUB_VBE_MODEATTR_COLOR): Likewise.
33862 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
33863 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
33864 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
33865 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
33866 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
33867 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
33868 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
33869 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
33870 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
33871 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
33872 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
33873 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
33874 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
33875 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
33876 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
33877
33878 2008-08-31 Robert Millan <rmh@aybabtu.com>
33879
33880 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
33881 declaration.
33882 (grub_multiboot): Fix a few warnings.
33883
33884 2008-08-31 Robert Millan <rmh@aybabtu.com>
33885
33886 * loader/i386/pc/multiboot.c: Update comment not to say that
33887 boot_device support is unimplemented.
33888
33889 2008-08-31 Robert Millan <rmh@aybabtu.com>
33890
33891 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
33892 or memory map support are unimplemented.
33893
33894 2008-08-31 Colin D Bennett <colin@gibibit.com>
33895
33896 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
33897
33898 2008-08-31 Colin D Bennett <colin@gibibit.com>
33899
33900 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
33901 total video memory in 'vbeinfo' output; show color format details for
33902 each video mode.
33903
33904 2008-08-30 Pavel Roskin <proski@gnu.org>
33905
33906 * util/genmoddep.c: Remove for real this time.
33907 * DISTLIST: Remove util/genmoddep.c.
33908
33909 2008-08-30 Robert Millan <rmh@aybabtu.com>
33910
33911 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
33912 as required by Multiboot spec (it was already 4-byte aligned, but
33913 only by chance).
33914
33915 2008-08-29 Pavel Roskin <proski@gnu.org>
33916
33917 * kern/powerpc/ieee1275/crt0.S: Rename to ...
33918 * kern/powerpc/ieee1275/startup.S: ... this.
33919 * conf/powerpc-ieee1275.rmk: Adjust for the above.
33920 * DISTLIST: Likewise.
33921
33922 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
33923 grub/cpu/kernel.h. Add start label for consistency with other
33924 platforms. Add grub_prefix immediately after start. Add jump
33925 to the code after grub_prefix.
33926 * include/grub/powerpc/kernel.h: Provide valid values for
33927 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
33928
33929 2008-08-29 Bean <bean123ch@gmail.com>
33930
33931 * configure.ac: Change host_os to cygwin for mingw.
33932 (asprintf): New check for function.
33933
33934 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
33935 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
33936
33937 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
33938 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
33939 sync, sleep and grub_util_get_disk_size for mingw.
33940
33941 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
33942 to get size in mingw.
33943 (open_device): Use flag O_BINARY if it's defined.
33944 (find_root_device): Add dummy code for mingw.
33945
33946 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
33947 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
33948 (get_scsi_disk_name): Return 0 for mingw.
33949
33950 * util/hostfs.c: #include <grub/util/misc.h>.
33951 (grub_hostfs_open): Use "rb" flag to open file, use
33952 grub_util_get_disk_size to get disk size for mingw.
33953
33954 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
33955 (asprintf): New function if HAVE_ASPRINTF is not set.
33956 (sync): New function for mingw.
33957 (sleep): Likewise.
33958 (grub_util_get_disk_size): Likewise.
33959
33960 2008-08-28 Pavel Roskin <proski@gnu.org>
33961
33962 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
33963 kern/time.c.
33964
33965 2008-08-28 Robert Millan <rmh@aybabtu.com>
33966
33967 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
33968
33969 2008-08-28 Robert Millan <rmh@aybabtu.com>
33970
33971 Change find_grub_drive() syntax so it doesn't prevent it from
33972 detecting NULL names as errors.
33973
33974 * util/biosdisk.c (find_grub_drive): Move free slot search code
33975 from here ...
33976 (find_free_slot): ... to here.
33977 (read_device_map): Use find_free_slot() to search for free slots.
33978
33979 2008-08-27 Marco Gerards <marco@gnu.org>
33980
33981 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
33982 (scsi_mod_SOURCES): New variable.
33983 (scsi_mod_CFLAGS): Likewise
33984 (scsi_mod_LDFLAGS): Likewise.
33985
33986 * disk/scsi.c: New file.
33987
33988 * include/grub/scsi.h: Likewise.
33989
33990 * include/grub/scsicmd.h: Likewise.
33991
33992 * disk/ata.c: Include <grub/scsi.h>.
33993 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
33994 instead.
33995 (grub_ata_iterate): Skip ATAPI devices.
33996 (grub_ata_open): Only handle ATAPI devices.
33997 (struct grub_atapi_read): Removed.
33998 (grub_atapi_readsector): Likewise.
33999 (grub_ata_read): No longer handle ATAPI devices.
34000 (grub_ata_write): Likewise.
34001 (grub_atapi_iterate): New function.
34002 (grub_atapi_read): Likewise.
34003 (grub_atapi_write): Likewise.
34004 (grub_atapi_open): Likewise.
34005 (grub_atapi_close): Likewise.
34006 (grub_atapi_dev): New variable.
34007 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
34008 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
34009
34010 * include/grub/disk.h (enum grub_disk_dev_id): Add
34011 `GRUB_DISK_DEVICE_SCSI_ID'.
34012
34013 2008-08-26 Robert Millan <rmh@aybabtu.com>
34014
34015 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
34016 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
34017 descriptive.
34018
34019 2008-08-23 Bean <bean123ch@gmail.com>
34020
34021 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
34022 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
34023 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
34024 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
34025 dm_nv.mod.
34026 (raid5rec_mod_SOURCES): New macro.
34027 (raid5rec_mod_CFLAGS): Likewise.
34028 (raid5rec_mod_LDFLAGS): Likewise.
34029 (raid6rec_mod_SOURCES): Likewise.
34030 (raid6rec_mod_CFLAGS): Likewise.
34031 (raid6rec_mod_LDFLAGS): Likewise.
34032 (mdraid_mod_SOURCES): Likewise.
34033 (mdraid_mod_CFLAGS): Likewise.
34034 (mdraid_mod_LDFLAGS): Likewise.
34035 (dm_nv_mod_SOURCES): Likewise.
34036 (dm_nv_mod_CFLAGS): Likewise.
34037 (dm_nv_mod_LDFLAGS): Likewise.
34038
34039 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
34040 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
34041 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
34042
34043 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
34044 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
34045
34046 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34047
34048 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34049
34050 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34051
34052 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34053
34054 * disk/raid5_recover.c: New file.
34055
34056 * disk/raid6_recover.c: Likewise.
34057
34058 * disk/mdraid_linux.c: Likewise.
34059
34060 * disk/dmraid_nvidia.c: Likewise.
34061
34062 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
34063 ULONG_MAX.
34064
34065 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
34066 calculate the size of raid device.
34067 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
34068 different layout of raid5.
34069 (grub_raid_scan_device): Remove code specific to mdraid.
34070 (grub_raid_list): New variable.
34071 (free_array): New function.
34072 (grub_raid_register): Likewise.
34073 (grub_raid_unregister): Likewise.
34074 (grub_raid_rescan): Likewise.
34075 (GRUB_MOD_INIT): Don't iterate device here.
34076 (GRUB_MOD_FINI): Use free_array to release resource.
34077
34078 * include/grub/raid.h: Remove macro and structure specific to mdraid.
34079 (grub_raid5_recover_func_t): New function variable type.
34080 (grub_raid6_recover_func_t): Likewise.
34081 (grub_raid5_recover_func): New variable.
34082 (grub_raid6_recover_func): Likewise.
34083 (grub_raid_register): New function.
34084 (grub_raid_unregister): Likewise.
34085 (grub_raid_rescan): Likewise.
34086 (grub_raid_block_xor): Likewise.
34087
34088 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
34089 (CMD_CRC): New macro.
34090 (part): Removed.
34091 (read_file): Handle device as well as file.
34092 (cmd_crc): New function.
34093 (fstest): Handle multiple disks.
34094 (options): Remove part, raw and long, add root and diskcount.
34095 (usage): Add crc, remove -p, -r, -l, add -r and -c.
34096 (main): Find the first non option entry and ignore subsequent options,
34097 add handling for the new options, support multiple disks.
34098
34099 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
34100
34101 2008-08-23 Bean <bean123ch@gmail.com>
34102
34103 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
34104
34105 * genfslist.sh: Ignore kernel.mod.
34106
34107 * genpartmaplist.sh: Likewise.
34108
34109 2008-08-23 Robert Millan <rmh@aybabtu.com>
34110
34111 * util/getroot.c (find_root_device): Skip anything that starts with
34112 a dot, not just directories. This avoids things like /dev/.tmp.md0.
34113
34114 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
34115
34116 * util/update-grub.in (GRUB_GFXMODE): Export variable.
34117 * util/grub.d/00_header.in: Allow the administrator to change default
34118 gfxmode via ${GRUB_GFXMODE}.
34119
34120 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
34121
34122 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
34123
34124 2008-08-21 Robert Millan <rmh@aybabtu.com>
34125
34126 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
34127 loader.
34128 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
34129 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
34130
34131 2008-08-20 Carles Pina i Estany <carles@pina.cat>
34132
34133 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
34134 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
34135
34136 2008-08-19 Robert Millan <rmh@aybabtu.com>
34137
34138 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
34139 (struct grub_virtual_screen): Remove `cursor_color'.
34140 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
34141 initialization.
34142 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
34143
34144 2008-08-18 Robert Millan <rmh@aybabtu.com>
34145
34146 Unify (identical) linux_normal.c files.
34147 * loader/i386/efi/linux_normal.c: Move from here ...
34148 * loader/linux_normal.c: ... to here. Update all users.
34149 * loader/i386/pc/linux_normal.c: Delete. Update all users.
34150 * loader/i386/ieee1275/linux_normal.c: Likewise.
34151
34152 2008-08-18 Robert Millan <rmh@aybabtu.com>
34153
34154 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
34155 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
34156 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
34157 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
34158 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
34159 New macros.
34160 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
34161 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
34162 (GRUB_LINUX_CL_END_OFFSET): ... to here.
34163 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
34164 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
34165 (GRUB_EFI_CL_END_OFFSET): Rename to ...
34166 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
34167 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
34168 Initialize `params->video_cursor_x' and `params->video_cursor_y'
34169 portably using grub_getxy().
34170 Replace `-EFI' with `-bzImage' in boot message.
34171
34172 2008-08-17 Robert Millan <rmh@aybabtu.com>
34173
34174 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
34175
34176 2008-08-17 Robert Millan <rmh@aybabtu.com>
34177
34178 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
34179
34180 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
34181 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
34182 (grub_machine_mmap_iterate): New function declaration.
34183 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
34184 structure.
34185 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
34186 macros.
34187
34188 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
34189 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
34190 Move e820 parsing from here ...
34191 * kern/i386/pc/mmap.c: New file.
34192 (grub_machine_mmap_iterate): ... to here.
34193
34194 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
34195 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
34196 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
34197 (grub_available_iterate): Redeclare to return `void', and redeclare
34198 its hook to use grub_uint64_t as addr and size parameters, and rename
34199 to ...
34200 (grub_machine_mmap_iterate): ... this. Update all users.
34201
34202 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
34203 to make it more readable. Rename to ...
34204 (grub_machine_mmap_iterate): ... this.
34205
34206 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
34207 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
34208 (grub_multiboot): Allocate an extra region after the payload, and fill
34209 it with a Multiboot memory map. Adjust a.out loader to calculate size
34210 with the extra space.
34211 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
34212 with the extra space.
34213
34214 2008-08-17 Carles Pina i Estany <carles@pina.cat>
34215
34216 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
34217
34218 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
34219
34220 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
34221 mdate-sh to the list `find' searches for.
34222 * DISTLIST: Regenerated.
34223
34224 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
34225
34226 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
34227 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
34228 genmoddep.awk, gensymlist.sh.in.
34229 (DISTDIRS): Add bus, docs, hook, lib.
34230 * DISTLIST: Regenerated.
34231 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
34232
34233 2008-08-16 Robert Millan <rmh@aybabtu.com>
34234
34235 * disk/raid.c (grub_raid_init): Handle/report errors set by
34236 grub_device_iterate().
34237 * disk/lvm.c (grub_lvm_init): Likewise.
34238
34239 2008-08-15 Bean <bean123ch@gmail.com>
34240
34241 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34242 and datehook.mod.
34243 (datetime_mod_SOURCES): New macro.
34244 (datetime_mod_CFLAGS): Likewise.
34245 (datetime_mod_LDFLAGS): Likewise.
34246 (date_mod_SOURCES): Likewise.
34247 (date_mod_CFLAGS): Likewise.
34248 (date_mod_LDFLAGS): Likewise.
34249 (datehook_mod_SOURCES): Likewise.
34250 (datehook_mod_CFLAGS): Likewise.
34251 (datehook_mod_LDFLAGS): Likewise.
34252
34253 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34254 and datehook.mod.
34255 (datetime_mod_SOURCES): New macro.
34256 (datetime_mod_CFLAGS): Likewise.
34257 (datetime_mod_LDFLAGS): Likewise.
34258 (date_mod_SOURCES): Likewise.
34259 (date_mod_CFLAGS): Likewise.
34260 (date_mod_LDFLAGS): Likewise.
34261 (datehook_mod_SOURCES): Likewise.
34262 (datehook_mod_CFLAGS): Likewise.
34263 (datehook_mod_LDFLAGS): Likewise.
34264
34265 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34266 and datehook.mod.
34267 (datetime_mod_SOURCES): New macro.
34268 (datetime_mod_CFLAGS): Likewise.
34269 (datetime_mod_LDFLAGS): Likewise.
34270 (date_mod_SOURCES): Likewise.
34271 (date_mod_CFLAGS): Likewise.
34272 (date_mod_LDFLAGS): Likewise.
34273 (datehook_mod_SOURCES): Likewise.
34274 (datehook_mod_CFLAGS): Likewise.
34275 (datehook_mod_LDFLAGS): Likewise.
34276
34277 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34278 and datehook.mod.
34279 (datetime_mod_SOURCES): New macro.
34280 (datetime_mod_CFLAGS): Likewise.
34281 (datetime_mod_LDFLAGS): Likewise.
34282 (date_mod_SOURCES): Likewise.
34283 (date_mod_CFLAGS): Likewise.
34284 (date_mod_LDFLAGS): Likewise.
34285 (datehook_mod_SOURCES): Likewise.
34286 (datehook_mod_CFLAGS): Likewise.
34287 (datehook_mod_LDFLAGS): Likewise.
34288
34289 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34290 and datehook.mod.
34291 (datetime_mod_SOURCES): New macro.
34292 (datetime_mod_CFLAGS): Likewise.
34293 (datetime_mod_LDFLAGS): Likewise.
34294 (date_mod_SOURCES): Likewise.
34295 (date_mod_CFLAGS): Likewise.
34296 (date_mod_LDFLAGS): Likewise.
34297 (datehook_mod_SOURCES): Likewise.
34298 (datehook_mod_CFLAGS): Likewise.
34299 (datehook_mod_LDFLAGS): Likewise.
34300
34301 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
34302
34303 * commands/date.c: New file.
34304
34305 * hook/datehook.c: Likewise.
34306
34307 * include/grub/lib/datetime.h: Likewise.
34308
34309 * include/grub/i386/cmos.h: Likewise.
34310
34311 * lib/datetime.c: Likewise.
34312
34313 * lib/i386/datetime.c: Likewise.
34314
34315 * lib/efi/datetime.c: Likewise.
34316
34317 2008-08-14 Robert Millan <rmh@aybabtu.com>
34318
34319 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
34320 (grub_mkelfimage_SOURCES): New variable.
34321 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
34322
34323 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
34324 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
34325 * conf/powerpc-ieee1275.rmk: Likewise.
34326 * conf/i386-ieee1275.rmk: Likewise.
34327
34328 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
34329 * kern/i386/coreboot/init.c: Likewise.
34330
34331 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
34332 with `<grub/cpu/kernel.h>'.
34333 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
34334 to ...
34335 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
34336 * kern/i386/coreboot/startup.S: Likewise.
34337
34338 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
34339 (GRUB_MOD_GAP): Remove.
34340 * include/grub/powerpc/kernel.h: New file.
34341 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
34342 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
34343 * include/grub/i386/kernel.h: New file.
34344 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
34345 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
34346 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
34347
34348 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
34349 `grub-mkelfimage'.
34350 Use --directory when invoking grub_mkimage.
34351
34352 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
34353 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
34354 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
34355 and GRUB_KERNEL_CPU_PREFIX.
34356
34357 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
34358
34359 * include/grub/err.h (grub_err_printf): New function prototype.
34360 * util/misc.c (grub_err_printf): New function.
34361 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
34362 grub_printf.
34363 * kern/err.c (grub_print_error): Use grub_err_printf.
34364
34365 2008-08-13 Robert Millan <rmh@aybabtu.com>
34366
34367 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
34368
34369 2008-08-13 Robert Millan <rmh@aybabtu.com>
34370
34371 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
34372 boot entry.
34373
34374 2008-08-12 Robert Millan <rmh@aybabtu.com>
34375
34376 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
34377 of the relocation code from here ...
34378 (grub_multiboot): ... to here.
34379 (forward_relocator, backward_relocator): Move from here ...
34380 * kern/i386/loader.S (grub_multiboot_forward_relocator)
34381 (grub_multiboot_backward_relocator): ... to here.
34382 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
34383 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
34384 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
34385 (grub_multiboot_forward_relocator_end)
34386 (grub_multiboot_backward_relocator)
34387 (grub_multiboot_backward_relocator_end): New variables.
34388
34389 2008-08-12 Bean <bean123ch@gmail.com>
34390
34391 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
34392
34393 2008-08-11 Robert Millan <rmh@aybabtu.com>
34394
34395 * kern/i386/linuxbios/startup.S: Move from here ...
34396 * kern/i386/coreboot/startup.S: ... to here.
34397
34398 * kern/i386/linuxbios/init.c: Move from here ...
34399 * kern/i386/coreboot/init.c: ... to here.
34400
34401 * kern/i386/linuxbios/table.c: Move from here ...
34402 * kern/i386/coreboot/mmap.c: ... to here.
34403
34404 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
34405
34406 2008-08-11 Robert Millan <rmh@aybabtu.com>
34407
34408 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
34409 errors. Leave it to the upper layer to handle them.
34410
34411 2008-08-09 Christian Franke <franke@computer.org>
34412
34413 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
34414 * conf/common.rmk: Install `grub-pe2elf' only if requested.
34415 Install `grub.d/10_windows' only on Cygwin.
34416 * configure.ac: Add subst of `target_os'.
34417 Check `target_os' also before setting TARGET_OBJ2ELF.
34418 Add `--enable-grub-pe2elf'.
34419
34420 2008-08-08 Robert Millan <rmh@aybabtu.com>
34421
34422 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
34423 (grub_last_time): Change type to grub_uint64_t.
34424 (grub_disk_open): Migrate code from to using grub_get_time_ms().
34425 (grub_disk_close): Likewise.
34426
34427 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
34428 (run_menu): Migrate code from to using grub_get_time_ms().
34429
34430 * util/misc.c (grub_get_time_ms): New function.
34431
34432 2008-08-08 Marco Gerards <marco@gnu.org>
34433
34434 * disk/ata.c (grub_ata_regget): Change return type to
34435 `grub_uint8_t'.
34436 (grub_ata_regget2): Likewise.
34437 (grub_ata_wait_status): New function.
34438 (grub_ata_wait_busy): Removed function, updated all users to use
34439 `grub_ata_wait_status'.
34440 (grub_ata_wait_drq): Likewise.
34441 (grub_ata_cmd): New function.
34442 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
34443 error handling.
34444 (grub_ata_pio_write): Add error handling.
34445 (grub_atapi_identify): Likewise.
34446 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
34447 handling.
34448 (grub_ata_identify): Use `grub_ata_cmd' and improve error
34449 handling. Actually use the detected registers. Reorder the
34450 detection logic such that it is easier to read.
34451 (grub_ata_pciinit): Do not assign the same ID to each controller.
34452 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
34453 handling.
34454 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
34455
34456 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
34457
34458 2008-08-08 Marco Gerards <marco@gnu.org>
34459
34460 * NEWS: Update.
34461
34462 2008-08-07 Bean <bean123ch@gmail.com>
34463
34464 * include/grub/x86_64/pci.h: New file.
34465
34466 2008-08-07 Christian Franke <franke@computer.org>
34467
34468 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
34469 (TIMER2_GATE): Likewise.
34470 (grub_pit_wait): Add enable/disable of the timer2 gate
34471 bit of port 0x61. This fixes a possible infinite loop.
34472
34473 2008-08-07 Bean <bean123ch@gmail.com>
34474
34475 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
34476 kern/i386/tsc.c and kern/i386/pit.c.
34477
34478 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
34479 x86_64 platform.
34480
34481 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
34482 <grub/i386/tsc.h>.
34483
34484 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
34485
34486 2008-08-07 Bean <bean123ch@gmail.com>
34487
34488 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
34489
34490 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
34491
34492 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
34493 multiple inclusion. Add #include <grub/types.h>.
34494
34495 2008-08-06 Christian Franke <franke@computer.org>
34496
34497 * conf/common.rmk: Build and install `10_windows'.
34498 * util/grub.d/10_windows.in: New script.
34499
34500 2008-08-06 Pavel Roskin <proski@gnu.org>
34501
34502 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
34503
34504 2008-08-06 Robert Millan <rmh@aybabtu.com>
34505
34506 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
34507 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
34508
34509 2008-08-06 Bean <bean123ch@gmail.com>
34510
34511 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
34512 (grub_pxefs_fs_int): Remove dummy definition.
34513 (grub_pxefs_open): Use data->block_size to store the current block
34514 size setting.
34515 (grub_pxefs_read): Use block size stored in data->block_size. As the
34516 value of grub_pxe_blksize can be changed after the file is opened.
34517
34518 2008-08-06 Bean <bean123ch@gmail.com>
34519
34520 * fs/i386/pc/pxe.c (curr_file): new variable.
34521 (grub_pxefs_open): Simply the handling of pxe file system. Don't
34522 require the dummy internal file system anymore.
34523 (grub_pxefs_read): Removed.
34524 (grub_pxefs_close): Likewise.
34525 (grub_pxefs_fs_int): Likewise.
34526 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
34527 connection when we switch file.
34528 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
34529
34530 2008-08-06 Robert Millan <rmh@aybabtu.com>
34531
34532 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
34533 `halt.mod'.
34534 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
34535 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
34536
34537 * kern/i386/halt.c: New file.
34538 * kern/i386/reboot.c: Likewise.
34539 * include/grub/i386/reboot.h: Likewise.
34540 * include/grub/i386/halt.h: Likewise.
34541
34542 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
34543 Include `<grub/cpu/halt.h>'.
34544 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
34545 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
34546
34547 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
34548 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
34549 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
34550 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
34551 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
34552 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
34553 from here ...
34554 * include/grub/i386/at_keyboard.h: ... to here.
34555
34556 2008-08-05 Robert Millan <rmh@aybabtu.com>
34557
34558 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
34559 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
34560 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
34561 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
34562 `kern/generic/millisleep.c'.
34563
34564 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
34565 instead of grub_get_rtc().
34566 (grub_tsc_init): Initialize `tsc_boot_time'.
34567
34568 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
34569 (grub_machine_init): Use grub_tsc_init() rather than
34570 installing an RTC-based handler via grub_install_get_time_ms().
34571
34572 * kern/i386/pit.c: New file.
34573 * include/grub/i386/pit.h: Likewise.
34574
34575 2008-08-05 Bean <bean123ch@gmail.com>
34576
34577 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
34578
34579 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
34580 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
34581 (pxe_mod_SOURCES): New macro.
34582 (pxe_mod_CFLAGS): Likewise.
34583 (pxe_mod_LDFLAGS): Likewise.
34584 (pxecmd_mod_SOURCES): Likewise.
34585 (pxecmd_mod_CFLAGS): Likewise.
34586 (pxecmd_mod_LDFLAGS): Likewise.
34587
34588 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
34589 (grub_pxe_call): Likewise.
34590
34591 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
34592
34593 * commands/i386/pc/pxecmd.c: New file.
34594
34595 * fs/i386/pc/pxe.c: Likewise.
34596
34597 * include/grub/i386/pc/pxe.h: Likewise.
34598
34599 2008-08-05 Bean <bean123ch@gmail.com>
34600
34601 * util/console.c (grub_console_cur_color): New variable.
34602 (grub_console_standard_color): Likewise.
34603 (grub_console_normal_color): Likewise.
34604 (grub_console_highlight_color): Likewise.
34605 (color_map): Likewise.
34606 (use_color): Likewise.
34607 (NUM_COLORS): New macro.
34608 (grub_ncurses_setcolorstate): Handle color properly.
34609 (grub_ncurses_setcolor): Don't change color here, just remember the
34610 settings, color will be set in grub_ncurses_setcolorstate.
34611 (grub_ncurses_getcolor): New function.
34612 (grub_ncurses_init): Initialize color pairs.
34613 (grub_ncurses_term): New member grub_ncurses_getcolor.
34614
34615 2008-08-05 Colin D Bennett <colin@gibibit.com>
34616
34617 High resolution timer support. Implemented for x86 CPUs using TSC.
34618 Extracted generic grub_millisleep() so it's linked in only as needed.
34619 This requires a Pentium compatible CPU; if the RDTSC instruction is
34620 not supported, then it falls back on the generic grub_get_time_ms()
34621 implementation that uses the machine's RTC.
34622
34623 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
34624 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
34625 `kern/generic/millisleep.c'.
34626
34627 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
34628 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
34629
34630 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
34631 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
34632
34633 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
34634
34635 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
34636 `kern/generic/millisleep.c'.
34637
34638 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
34639
34640 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
34641
34642 * kern/generic/rtc_get_time_ms.c: New file.
34643
34644 * kern/generic/millisleep.c: New file.
34645
34646 * kern/misc.c: Don't include
34647 <kern/time.h> anymore.
34648 (grub_millisleep_generic): Removed.
34649
34650 * commands/sleep.c (grub_interruptible_millisleep): Uses
34651 grub_get_time_ms() instead of grub_get_rtc().
34652
34653 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
34654 function.
34655 (grub_cpu_is_cpuid_supported): New inline function.
34656 (grub_cpu_is_tsc_supported): New inline function.
34657 (grub_tsc_init): New function prototype.
34658 (grub_tsc_get_time_ms): New function prototype.
34659
34660 * kern/i386/tsc.c (grub_get_time_ms): New file.
34661
34662 * include/grub/time.h: Include <grub/types.h.
34663 (grub_millisleep_generic): Removed.
34664 (grub_get_time_ms): New prototype.
34665 (grub_install_get_time_ms): New prototype.
34666 (grub_rtc_get_time_ms): New prototype.
34667
34668 * kern/time.c (grub_get_time_ms): New function.
34669 (grub_install_get_time_ms): New function.
34670
34671 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
34672 <grub/time.h> anymore.
34673 (grub_millisleep): Removed.
34674 (grub_machine_init): Call grub_tsc_init.
34675
34676 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
34677 get_time_ms() implementation.
34678
34679 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
34680 (ieee1275_get_time_ms): New function.
34681 (grub_machine_init): Install get_time_ms() implementation.
34682
34683 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
34684 (grub_machine_init): Call grub_tsc_init().
34685 (grub_millisleep): Removed.
34686
34687 * kern/ieee1275/init.c (grub_millisleep): Removed.
34688 (grub_machine_init): Install ieee1275_get_time_ms()
34689 implementation.
34690 (ieee1275_get_time_ms): New function.
34691 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
34692 real work.
34693
34694 2008-08-05 Marco Gerards <marco@gnu.org>
34695
34696 * disk/ata.c: Include <grub/pci.h>.
34697 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
34698 (grub_ata_initialize): Rewritten.
34699 (grub_ata_device_initialize): New function.
34700
34701 2008-08-04 Pavel Roskin <proski@gnu.org>
34702
34703 * kern/main.c: Include grub/mm.h.
34704
34705 2008-08-04 Robert Millan <rmh@aybabtu.com>
34706
34707 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
34708 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
34709 corruption problem).
34710
34711 2008-08-04 Robert Millan <rmh@aybabtu.com>
34712
34713 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
34714 warnings introduced in my last commit.
34715
34716 2008-08-03 Robert Millan <rmh@aybabtu.com>
34717
34718 Make PCI available on all i386 architectures.
34719
34720 * include/grub/i386/pc/pci.h: Move from here ...
34721 * include/grub/i386/pci.h: ... to here.
34722
34723 * include/grub/i386/pc/pci.h: Remove.
34724 * include/grub/i386/efi/pci.h: Remove.
34725 * include/grub/x86_64/efi/pci.h: Remove.
34726
34727 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
34728 `<grub/cpu/pci.h>'.
34729
34730 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
34731 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
34732 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
34733
34734 * conf/i386-ieee1275.rmk: Likewise.
34735
34736 2008-08-03 Robert Millan <rmh@aybabtu.com>
34737
34738 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
34739 (grub_console_setcursor): Make it possible to set cursor off.
34740
34741 2008-08-03 Robert Millan <rmh@aybabtu.com>
34742
34743 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
34744 of modules instead of assuming which platform provides what.
34745 * util/update-grub.in: Likewise.
34746
34747 2008-08-03 Robert Millan <rmh@aybabtu.com>
34748
34749 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
34750 instead of `grub_install_dos_part' to determine whether a drive needs
34751 to be prepended to prefix (`grub_install_dos_part' is not reliable,
34752 because it can be overridden when loading GRUB via Multiboot).
34753
34754 2008-08-02 Robert Millan <rmh@aybabtu.com>
34755
34756 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
34757
34758 2008-08-02 Robert Millan <rmh@aybabtu.com>
34759
34760 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
34761 of informational grub_dprintf() calls.
34762
34763 2008-08-02 Robert Millan <rmh@aybabtu.com>
34764
34765 * disk/memdisk.c (memdisk_size): Don't initialize.
34766 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
34767
34768 * include/grub/i386/pc/kernel.h
34769 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
34770 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
34771 (grub_memdisk_image_size, grub_arch_memdisk_addr)
34772 (grub_arch_memdisk_size): Remove.
34773
34774 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
34775 field (was only used to transfer a constant). Add `type' field to
34776 support multiple module types.
34777 (grub_module_iterate): New function.
34778
34779 * kern/device.c (grub_device_open): Do not hide error messages
34780 when grub_disk_open() fails. Use grub_print_error() instead.
34781
34782 * kern/i386/pc/init.c (grub_arch_modules_addr)
34783 (grub_arch_memdisk_size): Remove functions.
34784 (grub_arch_modules_addr): Return the module address in high memory
34785 (now that it isn't copied anymore).
34786
34787 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
34788 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
34789 decompression routine (grub_total_module_size already includes that
34790 now). Don't copy modules back to low memory.
34791
34792 * kern/main.c: Include `<grub/mm.h>'.
34793 (grub_load_modules): Split out (and use) ...
34794 (grub_module_iterate): ... this function, which iterates through
34795 module objects and runs a hook.
34796 Comment out grub_mm_init_region() call, as it would cause non-ELF
34797 modules to be overwritten.
34798
34799 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
34800 the memdisk image in its own region, make it part of the module list.
34801 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
34802 (main): Parse --memdisk|-m option, and pass user-provided path as
34803 parameter to generate_image().
34804 (add_segments): Pass `memdisk_path' down to load_modules().
34805 (load_modules): Embed memdisk image in module section when requested.
34806 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
34807 `header.type' instead of `header.offset'.
34808
34809 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
34810 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
34811 (memdisk_mod_LDFLAGS): New variables.
34812 * conf/i386-coreboot.rmk: Likewise.
34813 * conf/i386-ieee1275.rmk: Likewise.
34814
34815 2008-08-02 Robert Millan <rmh@aybabtu.com>
34816
34817 * loader/i386/pc/multiboot.c (playground, forward_relocator)
34818 (backward_relocator): New variables. Used to allocate and relocate
34819 the payload, respectively.
34820 (grub_multiboot_load_elf32): Load into heap instead of requested
34821 address, install the appropriate relocator code in each bound of
34822 the payload, and set the entry point such that
34823 grub_multiboot_real_boot() will jump to one of them.
34824
34825 * kern/i386/loader.S (grub_multiboot_payload_size)
34826 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
34827 (grub_multiboot_payload_entry_offset): New variables.
34828 (grub_multiboot_real_boot): Set cpu context to what the relocator
34829 expects, and jump to the relocator instead of the payload.
34830
34831 * include/grub/i386/loader.h (grub_multiboot_payload_size)
34832 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
34833 (grub_multiboot_payload_entry_offset): Export.
34834
34835 2008-08-01 Bean <bean123ch@gmail.com>
34836
34837 * normal/menu_entry.c (editor_getline): Don't return the original
34838 string as result, as it will be released by lexer once it has done
34839 using it.
34840
34841 2008-08-01 Robert Millan <rmh@aybabtu.com>
34842
34843 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
34844 within menuentries, not before them.
34845 util/grub.d/10_hurd.in: Likewise.
34846
34847 2008-08-01 Bean <bean123ch@gmail.com>
34848
34849 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
34850 (bufio_mod_SOURCES): New macro.
34851 (bufio_mod_CFLAGS): Likewise.
34852 (bufio_mod_LDFLAGS): Likewise.
34853
34854 * include/grub/bufio.h: New file.
34855
34856 * io/bufio.c: Likewise.
34857
34858 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
34859 (grub_video_reader_png): Use grub_buffile_open to open file.
34860
34861 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
34862 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
34863
34864 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
34865 (grub_video_reader_tga): Use grub_buffile_open to open file.
34866
34867 * font/manager.c: Include <grub/bufio.h>.
34868 (add_font): Use grub_buffile_open to open file.
34869
34870 2008-07-31 Robert Millan <rmh@aybabtu.com>
34871
34872 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
34873 ELF segments, use a macro for arbitrarily accessing any of them instead
34874 of preparing a pointer that allows access to one at a time.
34875 (grub_multiboot_load_elf64): Likewise.
34876
34877 2008-07-31 Bean <bean123ch@gmail.com>
34878
34879 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
34880 GRUB_KERNEL_MACHINE_DATA_END.
34881
34882 2008-07-30 Robert Millan <rmh@aybabtu.com>
34883
34884 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
34885 Increase from 0x50 to 0x60.
34886 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
34887 use UUIDs to identify the root drive for them. If that's not
34888 possible, abort.
34889 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
34890 check, for cross-disk installs.
34891
34892 2008-07-30 Robert Millan <rmh@aybabtu.com>
34893
34894 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
34895 is non-empty, use it to set the `prefix' environment variable instead
34896 of the usual approach.
34897 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
34898 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
34899 environment variable instead of dummy make_install_device().
34900
34901 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
34902 (start): Insert a data section, with `grub_prefix' variable.
34903 * kern/i386/linuxbios/startup.S: Likewise.
34904
34905 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
34906 New variable reference.
34907 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
34908 New macro. Defines offset of `grub_prefix' within startup.S (relative
34909 to `start').
34910 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
34911 section within startup.S (relative to `start').
34912 * include/grub/i386/coreboot/kernel.h: Likewise.
34913
34914 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
34915 Overwrite grub_prefix with its contents, at the beginning of the
34916 first segment.
34917 (main): Understand -p|--prefix.
34918
34919 2008-07-30 Robert Millan <rmh@aybabtu.com>
34920
34921 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
34922
34923 2008-07-30 Robert Millan <rmh@aybabtu.com>
34924
34925 * term/i386/pc/vga_text.c (grub_console_cls): Use
34926 grub_console_gotoxy() to go back to beginning of the screen.
34927 Found by Patrick Georgi <patrick.georgi@coresystems.de>
34928
34929 2008-07-29 Christian Franke <franke@computer.org>
34930
34931 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
34932 Add conversion of emulated mount points on Cygwin.
34933
34934 2008-07-29 Christian Franke <franke@computer.org>
34935
34936 * util/update-grub.in: Add a check for admin
34937 group on Cygwin.
34938 Remove old `grub.cfg.new' before creation.
34939 Add `-f' to `mv' to handle the different filesystem
34940 semantics of Windows.
34941
34942 2008-07-29 Bean <bean123ch@gmail.com>
34943
34944 * normal/main.c (get_line): Fix buffer overflow bug.
34945
34946 2008-07-28 Robert Millan <rmh@aybabtu.com>
34947
34948 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
34949 (struct grub_apple_header): New struct. Describes the layout of
34950 the partmap header.
34951 (apple_partition_map_iterate): Check the header magic as well as the
34952 partition magic (which was already being checked).
34953
34954 2008-07-28 Pavel Roskin <proski@gnu.org>
34955
34956 * genmk.rb: Add a warning to the beginning of the output that
34957 it's a generated file and should not be edited.
34958
34959 2008-07-28 Robert Millan <rmh@aybabtu.com>
34960
34961 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
34962 with the same number are found, just use issue a warning with
34963 grub_dprintf(), as this error has been reported to be non-fatal.
34964
34965 2008-07-27 Robert Millan <rmh@aybabtu.com>
34966
34967 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
34968 information.
34969
34970 2008-07-27 Bean <bean123ch@gmail.com>
34971
34972 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
34973 (grub_fat_find_dir): Ignore case when comparing filename.
34974
34975 2008-07-27 Bean <bean123ch@gmail.com>
34976
34977 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
34978 smallino, as it's more descriptive, and i8count can be confused with
34979 the other field count.
34980 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
34981 inode type.
34982
34983 2008-07-27 Bean <bean123ch@gmail.com>
34984
34985 * commands/crc.c: New file.
34986
34987 * lib/crc.c: Likewise.
34988
34989 * include/grub/lib/crc.h: Likewise.
34990
34991 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
34992
34993 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
34994 (hexdump): Move this function to ...
34995
34996 * lib/hexdump.c: ... here.
34997
34998 * include/grub/hexdump.h: Renamed to ...
34999
35000 * include/grub/lib/hexdump.h: ... this.
35001
35002 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
35003
35004 * util/grub-editenv.c: Likewise.
35005
35006 * include/envblk.h: Renamed to ...
35007
35008 * include/lib/envblk.h: ... this.
35009
35010 * util/envblk.c: Renamed to ...
35011
35012 * lib/envblk.c: ... this.
35013
35014 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
35015 lib/hexdump.c.
35016 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
35017 (pkglib_MODULES): Add crc.mod.
35018 (hexdump_mod_SOURCES): Add lib/hexdump.c.
35019 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
35020 (crc_mod_SOURCES): New macro.
35021 (crc_mod_CFLAGS): Likewise.
35022 (crc_mod_LDFLAGS): Likewise.
35023
35024 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
35025
35026 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35027
35028 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35029
35030 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35031
35032 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35033
35034 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
35035
35036 * commands/help.c: Include <grub/term.h>.
35037 (TERM_WIDTH): Removed. Updated all users.
35038
35039 2008-07-27 Pavel Roskin <proski@gnu.org>
35040
35041 * util/getroot.c (find_root_device): Rephrase a comment to avoid
35042 spurious warnings about a comment within a comment.
35043
35044 2008-07-25 Robert Millan <rmh@aybabtu.com>
35045
35046 * util/getroot.c (find_root_device): Skip devices that match
35047 /dev/dm-[0-9]. This lets the real device be found for any type of
35048 abstraction (LVM, EVMS, RAID..).
35049 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
35050 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
35051 device is found first, find_root_device() will now skip it.
35052
35053 2008-07-24 Pavel Roskin <proski@gnu.org>
35054
35055 * include/grub/types.h: Use __builtin_bswap32() and
35056 __builtin_bswap64() with gcc 4.3 and newer.
35057
35058 2008-07-24 Christian Franke <franke@computer.org>
35059
35060 * util/i386/pc/grub-install.in: If `--debug' is specified,
35061 pass `--verbose' to grub-setup.
35062 Abort script if make_system_path_relative_to_its_root() fails.
35063
35064 2008-07-24 Bean <bean123ch@gmail.com>
35065
35066 * configure.ac: Fixed a bug caused by the previous cygwin patch,
35067 variable `target_platform' should be `platform'.
35068
35069 2008-07-24 Bean <bean123ch@gmail.com>
35070
35071 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
35072 (grub_png_init_fixed_block): New function.
35073 (grub_png_decode_image_data): Handle fixed huffman code compression.
35074
35075 2008-07-24 Bean <bean123ch@gmail.com>
35076
35077 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
35078 (grub_pe2elf_SOURCES): New macro.
35079 (CLEANFILES): Add grub-pe2elf.
35080
35081 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
35082 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
35083 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
35084 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
35085 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
35086 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
35087 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
35088 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
35089 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
35090 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
35091 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
35092 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
35093 (GRUB_PE32_DT_FUNCTION): Likewise.
35094 (GRUB_PE32_REL_I386_DIR32): Likewise.
35095 (GRUB_PE32_REL_I386_REL32): Likewise.
35096 (grub_pe32_symbol): New structure.
35097 (grub_pe32_reloc): Likewise.
35098
35099 * util/grub-pe2elf.c: New file.
35100
35101 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
35102 start symbol in non pc platform.
35103
35104 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
35105
35106 The following patches are from Christian Franke.
35107
35108 * include/grub/dl.h: Remove .previous, gas supports this only
35109 for ELF format.
35110
35111 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
35112 Remove .type, gas supports this only for ELF format.
35113
35114 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
35115 nullbytes in symbol table. This fixes an infinite loop if table is
35116 zero filled.
35117
35118 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
35119 TARGET_IMG_LDFLAGS and EXEEXT.
35120
35121 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
35122 TARGET_IMG_LDFLAGS_AC.
35123 (grub_CHECK_STACK_ARG_PROBE): New function.
35124
35125 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
35126
35127 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
35128
35129 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
35130 to set TARGET_IMG_LD* accordingly.
35131 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
35132 Add call to grub_CHECK_STACK_ARG_PROBE.
35133 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
35134
35135 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
35136
35137 * genmk.rb: Add EXEEXT to CLEANFILES.
35138
35139 2008-07-23 Robert Millan <rmh@aybabtu.com>
35140
35141 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
35142 define the codes for arrows and lines used for the menu).
35143 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
35144 as well.
35145
35146 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
35147 fonts, because the latter are too slow.
35148
35149 2008-07-21 Bean <bean123ch@gmail.com>
35150
35151 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
35152 a20. Run keyboard test last, as it will cause macbook to halt.
35153
35154 2008-07-18 Pavel Roskin <proski@gnu.org>
35155
35156 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
35157 load foreign architecture modules correctly anyway. Keep
35158 support for loading host architecture modules, whether we
35159 compile them or not.
35160
35161 2008-07-17 Pavel Roskin <proski@gnu.org>
35162
35163 * configure.ac: Use -m32 or -m64 regardless of whether we had to
35164 change target_cpu. The compiler default can mismatch target_cpu
35165 in any case.
35166
35167 * disk/efi/efidisk.c: Fix format warnings on x86_64.
35168 * kern/efi/efi.c: Likewise.
35169
35170 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
35171 target compiler is functional.
35172 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
35173 are set up.
35174
35175 * configure.ac: Default to efi platform for x86_64-apple. Allow
35176 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
35177 adjustments from the rest, only do them if target is not
35178 explicitly given. Merge other adjustments with the final sanity
35179 check. Remove an extraneous check for supported CPU. Be
35180 specific which CPU and which platform is not supported.
35181
35182 * configure.ac: Default to pc platform for x86_64.
35183
35184 2008-07-17 Robert Millan <rmh@aybabtu.com>
35185
35186 Partial LinuxBIOS -> Coreboot rename.
35187
35188 * conf/i386-linuxbios.rmk: Renamed to ...
35189 * conf/i386-coreboot.rmk: ... this.
35190 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
35191 * configure.ac: Accept "coreboot" as input platform (but maintain
35192 compatibility with "linuxbios").
35193 * include/grub/i386/linuxbios: Renamed to ...
35194 * include/grub/i386/coreboot: ... this.
35195
35196 2008-07-17 Bean <bean123ch@gmail.com>
35197
35198 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
35199 (appleldr_mod_SOURCE): New variable.
35200 (appleldr_mod_CFLAGS): Likewise.
35201 (appleldr_mod_LDFLAGS): Likewise.
35202 (pci_mod_SOURCES): Likewise.
35203 (pci_mod_CFLAGS): Likewise.
35204 (pci_mod_LDFLAGS): Likewise.
35205 (lspci_mod_SOURCES): Likewise.
35206 (lspci_mod_CFLAGS): Likewise.
35207 (lspci_mod_LDFLAGS): Likewise.
35208
35209 * conf/x86_64-efi.rmk: New file.
35210
35211 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
35212 macro.
35213 (grub_efidisk_write): Likewise.
35214
35215 * include/efi/api.h (efi_call_0): New macro.
35216 (efi_call_1): Likewise.
35217 (efi_call_2): Likewise.
35218 (efi_call_3): Likewise.
35219 (efi_call_4): Likewise.
35220 (efi_call_5): Likewise.
35221 (efi_call_6): Likewise.
35222
35223 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
35224 grub_rescue_cmd_chainloader.
35225
35226 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
35227 (grub_pe32_optional_header): Change some fields based on i386 or
35228 x86_64 platform.
35229 (GRUB_PE32_PE32_MAGIC): Likewise.
35230
35231 * include/grub/efi/uga_draw.h: New file.
35232
35233 * include/grub/elf.h (STN_ABS): New constant.
35234 (R_X86_64_NONE): Relocation constant for x86_64.
35235 (R_X86_64_64): Likewise.
35236 (R_X86_64_PC32): Likewise.
35237 (R_X86_64_GOT32): Likewise.
35238 (R_X86_64_PLT32): Likewise.
35239 (R_X86_64_COPY): Likewise.
35240 (R_X86_64_GLOB_DAT): Likewise.
35241 (R_X86_64_JUMP_SLOT): Likewise.
35242 (R_X86_64_RELATIVE): Likewise.
35243 (R_X86_64_GOTPCREL): Likewise.
35244 (R_X86_64_32): Likewise.
35245 (R_X86_64_32S): Likewise.
35246 (R_X86_64_16): Likewise.
35247 (R_X86_64_PC16): Likewise.
35248 (R_X86_64_8): Likewise.
35249 (R_X86_64_PC8): Likewise.
35250
35251 * include/grub/i386/efi/pci.h: New file.
35252
35253 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
35254 Change it value based on platform.
35255 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
35256 (GRUB_E820_RAM): Likewise.
35257 (GRUB_E820_RESERVED): Likewise.
35258 (GRUB_E820_ACPI): Likewise.
35259 (GRUB_E820_NVS): Likewise.
35260 (GRUB_E820_EXEC_CODE): Likewise.
35261 (GRUB_E820_MAX_ENTRY): Likewise.
35262 (grub_e820_mmap): New structure.
35263 (linux_kernel_header): Change the efi field according to different
35264 kernel version, also field from linux_kernel_header.
35265
35266 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
35267
35268 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
35269 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
35270 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
35271 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
35272 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
35273 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
35274 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
35275 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
35276 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
35277 (GRUB_PCI_ADDR_IO_MASK): Likewise.
35278
35279 * include/grub/x86_64/efi/kernel.h: New file.
35280
35281 * include/grub/x86_64/efi/loader.h: Likewise.
35282
35283 * include/grub/x86_64/efi/machine.h: Likewise.
35284
35285 * include/grub/x86_64/efi/pci.h: Likewise.
35286
35287 * include/grub/x86_64/efi/time.h: Likewise.
35288
35289 * include/grub/x86_64/linux.h: Likewise.
35290
35291 * include/grub/x86_64/setjmp.h: Likewise.
35292
35293 * include/grub/x86_64/time.h: Likewise.
35294
35295 * include/grub/x86_64/types.h: Likewise.
35296
35297 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
35298 GRUB_TARGET_SIZEOF_VOID_P.
35299
35300 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
35301 (grub_efi_locate_handle): Likewise.
35302 (grub_efi_open_protocol): Likewise.
35303 (grub_efi_set_text_mode): Likewise.
35304 (grub_efi_stall): Likewise.
35305 (grub_exit): Likewise.
35306 (grub_reboot): Likewise.
35307 (grub_halt): Likewise.
35308 (grub_efi_exit_boot_services): Likewise.
35309 (grub_get_rtc): Likewise.
35310
35311 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
35312 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
35313 (grub_efi_allocate_pages): Wrap efi calls.
35314 (grub_efi_free_pages): Wrap efi calls.
35315 (grub_efi_get_memory_map): Wrap efi calls.
35316
35317 * kern/x86_64/dl.c: New file.
35318
35319 * kern/x86_64/efi/callwrap.S: Likewise.
35320
35321 * kern/x86_64/efi/startup.S: Likewise.
35322
35323 * loader/efi/appleloader.c: Likewise.
35324
35325 * loader/efi/chainloader.c (cmdline): New variable.
35326 (grub_chainloader_unload): Wrap efi calls.
35327 (grub_chainloader_boot): Likewise.
35328 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
35329 command line.
35330
35331 * loader/efi/chainloader_normal.c (chainloader_command):
35332 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
35333 command line.
35334
35335 * loader/i386/efi/linux.c (allocate_pages): Change allocation
35336 method.
35337 (grub_e820_add_region): New function.
35338 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
35339 booting.
35340 (grub_find_video_card): New function.
35341 (grub_linux_setup_video): New function.
35342 (grub_rescue_cmd_linux): Probe for video information.
35343
35344 * normal/x86_64/setjmp.S: New file.
35345
35346 * term/efi/console.c (map_char): New function.
35347 (grub_console_putchar): Map unicode char.
35348 (grub_console_checkkey): Wrap efi calls.
35349 (grub_console_getkey): Likewise.
35350 (grub_console_getwh): Likewise.
35351 (grub_console_gotoxy): Likewise.
35352 (grub_console_cls): Likewise.
35353 (grub_console_setcolorstate): Likewise.
35354 (grub_console_setcursor): Likewise.
35355
35356 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
35357
35358 2008-07-16 Pavel Roskin <proski@gnu.org>
35359
35360 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
35361 format strings.
35362
35363 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
35364 pointer, not an integer. This fixes a warning and prevents
35365 precision loss on 64-bit systems.
35366 (relocate_addresses): Remove unneeded cast.
35367
35368 2008-07-15 Pavel Roskin <proski@gnu.org>
35369
35370 * kern/i386/ieee1275/init.c: Include grub/cache.h.
35371
35372 * term/ieee1275/ofconsole.c: Disable code unused on i386.
35373
35374 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
35375 Fix comparison between signed and unsigned.
35376
35377 * include/grub/i386/ieee1275/console.h: Declare
35378 grub_console_init() and grub_console_fini().
35379
35380 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
35381 It's empty and unused.
35382
35383 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
35384 beginning to avoid warnings with some compilers.
35385
35386 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
35387 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
35388
35389 2008-07-14 Pavel Roskin <proski@gnu.org>
35390
35391 * kern/env.c (grub_register_variable_hook): Don't copy empty
35392 string, it leaks memory. Pass "" to grub_env_set(), it should
35393 handle constant strings.
35394
35395 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
35396 * commands/cmp.c (grub_cmd_cmp): Likewise.
35397 * kern/dl.c (grub_dl_flush_cache): Likewise.
35398 (grub_dl_load_core): Likewise.
35399 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
35400 (grub_elf64_load_phdrs): Likewise.
35401
35402 2008-07-13 Pavel Roskin <proski@gnu.org>
35403
35404 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
35405 between signed and unsigned.
35406 (LzmaEnc_Finish): Fix warning about an unused parameter.
35407
35408 2008-07-13 Bean <bean123ch@gmail.com>
35409
35410 * Makefile.in (enable_lzo): New rule.
35411
35412 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
35413
35414 * configure.ac (ENABLE_LZO): New option --enable-lzo.
35415
35416 * boot/i386/pc/lnxboot.S: #include <config.h>.
35417
35418 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
35419 its value according to the compression algorithm used, lzo or lzma.
35420
35421 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
35422 compression algorithm according to configure macro.
35423
35424 * kern/i386/pc/startup.S (codestart): Likewise.
35425
35426 * kern/i386/pc/lzma_decode.S: New file.
35427
35428 * include/grub/lib/LzFind.h: Likewise.
35429
35430 * include/grub/lib/LzHash.h: Likewise.
35431
35432 * include/grub/lib/LzmaDec.h: Likewise.
35433
35434 * include/grub/lib/LzmaEnc.h: Likewise.
35435
35436 * include/grub/lib/LzmaTypes.h: Likewise.
35437
35438 * lib/LzFind.c: Likewise.
35439
35440 * lib/LzmaDec.c: Likewise.
35441
35442 * lib/LzmaEnc.c: Likewise.
35443
35444 2008-07-13 Bean <bean123ch@gmail.com>
35445
35446 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
35447 (grub_ext4_extent_header): New structure.
35448 (grub_ext4_extent): Likewise.
35449 (grub_ext4_extent_idx): Likewise.
35450 (grub_ext4_find_leaf): New function.
35451 (grub_ext2_read_block): Handle extents.
35452
35453 2008-07-12 Robert Millan <rmh@aybabtu.com>
35454
35455 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
35456
35457 2008-07-11 Robert Millan <rmh@aybabtu.com>
35458
35459 * util/grub.d/40_custom.in: New file. Example on how to add custom
35460 entries to /etc/grub.d.
35461 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
35462 40_custom (implicitly, by merging all the grub.d rules).
35463
35464 2008-07-11 Pavel Roskin <proski@gnu.org>
35465
35466 * commands/read.c (grub_getline): Fix invalid memory access.
35467 Don't add newline to the variable value.
35468
35469 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
35470 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
35471 (serial_hw_get_port): Check validity of the port number.
35472 (grub_cmd_serial): Check return value of serial_hw_get_port().
35473
35474 2008-07-07 Pavel Roskin <proski@gnu.org>
35475
35476 * boot/i386/pc/diskboot.S (notification_string): Replace
35477 "Loading kernel" with just "loading". This is shorter, less
35478 confusing and saves a few bytes for possible future changes.
35479
35480 2008-07-05 Pavel Roskin <proski@gnu.org>
35481
35482 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
35483 size for ATAPI devices, they are undefined. Output sector
35484 number in decimal form.
35485
35486 * disk/ata.c: Use named constants for status bits.
35487
35488 2008-07-04 Pavel Roskin <proski@gnu.org>
35489
35490 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
35491 grub_addr_t before casting it to the void pointer to fix a
35492 warning. Non-addressable regions are discarded earlier.
35493 (grub_arch_modules_addr): Cast _end to grub_addr_t.
35494 * kern/i386/linuxbios/table.c: Include grub/misc.h.
35495 (check_signature): Don't shadow table_header.
35496 (grub_linuxbios_table_iterate): Cast numeric constants to
35497 grub_linuxbios_table_header_t.
35498 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
35499 grub_stop().
35500
35501 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
35502 prevent warnings.
35503
35504 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
35505 pointer, which can cause warnings. Support 64-bit addresses.
35506
35507 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
35508 of sizeof(long). This fixes PowerPC image generation on x86_64.
35509
35510 2008-07-04 Robert Millan <rmh@aybabtu.com>
35511
35512 This fixes a performance issue when pc & gpt partmap iterators
35513 didn't abort iteration even after our hook found what it was
35514 looking for (often causing expensive probes of non-existent drives).
35515
35516 Some callers relied on previous buggy behaviour, since they would
35517 raise an error when their own hooks caused early abortion of its
35518 iteration.
35519
35520 * kern/device.c (grub_device_open): Improve error message.
35521 * disk/lvm.c (grub_lvm_open): Likewise.
35522 * disk/raid.c (grub_raid_open): Likewise.
35523
35524 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
35525 when hook requests it, independently of grub_errno.
35526 (pc_partition_map_probe): Do not fail when find_func() caused
35527 early abortion of pc_partition_map_iterate().
35528
35529 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
35530 when hook requests it, independently of grub_errno.
35531 (gpt_partition_map_probe): Do not fail when find_func() caused
35532 early abortion of gpt_partition_map_iterate().
35533
35534 * kern/partition.c (grub_partition_iterate): Abort parent iteration
35535 when hook requests it, independently of grub_errno. Do not fail when
35536 part_map_iterate_hook() caused early abortion of p->iterate().
35537
35538 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
35539 when grub_partition_iterate() returned with non-zero.
35540
35541 2008-07-03 Pavel Roskin <proski@gnu.org>
35542
35543 * disk/ata.c (grub_ata_pio_write): Check status before writing,
35544 like we do in grub_ata_pio_read().
35545 (grub_ata_readwrite): Always write individual sectors. Fix the
35546 sector count for the remainder.
35547 (grub_ata_write): Enable writing to ATA devices. Correctly
35548 report error for ATAPI devices.
35549
35550 2008-07-02 Pavel Roskin <proski@gnu.org>
35551
35552 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
35553 warning.
35554
35555 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
35556 for every read sector, we already increment it for the whole
35557 batch. This fixes reading more than 256 sectors at once.
35558
35559 * util/grub-editenv.c (cmd_info): Cast argument to long
35560 explicitly. ptrdiff_t reduces to int on i386.
35561
35562 * util/grub-editenv.c (main): Be specific which parameter is
35563 missing.
35564
35565 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
35566 (memdisk): Make memdisk_orig_addr a pointer.
35567
35568 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
35569 for file offsets, use grub_off_t instead. Fix printf format
35570 warnings.
35571
35572 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
35573 there. Real unexpected warnings should not drown in the noise
35574 about known problems.
35575
35576 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
35577 grub_disk_addr_t for memory addresses.
35578
35579 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
35580 explicitly to fix a warning.
35581
35582 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
35583
35584 * Makefile.in (MODULE_LDFLAGS): New variable.
35585 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
35586 the linker accepts --build-id=none.
35587 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
35588 MODULE_LDFLAGS.
35589 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
35590
35591 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
35592 those in Linux XFS code. Provide a way to access 64-bit parent
35593 inode.
35594 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
35595 the end of struct grub_xfs_dir_header.
35596
35597 2008-07-02 Bean <bean123ch@gmail.com>
35598
35599 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
35600 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
35601 and GRUB_IEEE1275_FLAG_NO_ANSI.
35602
35603 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
35604 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
35605 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
35606
35607 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
35608 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
35609
35610 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
35611 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
35612
35613 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
35614 esc sequence on non ANSI terminal.
35615 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
35616
35617 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
35618 beginning of file.
35619
35620 2008-07-02 Bean <bean123ch@gmail.com>
35621
35622 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
35623 (grub_editenv_SOURCES): New variable.
35624 (pkglib_MODULES): Add loadenv.mod.
35625 (loadenv_mod_SOURCES): New variable.
35626 (loadenv_mod_CFLAGS): Likewise.
35627 (loadenv_mod_LDFLAGS): Likewise.
35628
35629 * include/grub/envblk.h: New file.
35630
35631 * util/envblk.c: New file.
35632
35633 * util/grub-editenv.c: New file.
35634
35635 * commands/loadenv.c: New file.
35636
35637 2008-07-01 Pavel Roskin <proski@gnu.org>
35638
35639 * include/multiboot2.h (struct multiboot_tag_module): Use char,
35640 not unsigned char. This fixes warnings and is consistent with
35641 other tags.
35642
35643 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
35644
35645 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
35646
35647 * term/tparm.c (analyze): Always set *popcount.
35648
35649 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
35650 cast to fix a warning.
35651
35652 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
35653 cast to suppress a warning.
35654
35655 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
35656 grub_fshelp_read_file() expects.
35657
35658 * fs/fat.c: Fix UUID calculation on big-endian systems. We
35659 write uuid as a 32-bit value in CPU byte order, so declare and
35660 use it as such.
35661
35662 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
35663 long if the format specifier expects it.
35664 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
35665 * partmap/pc.c (pc_partition_map_iterate): Likewise.
35666 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
35667 long to fix a warning.
35668 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
35669 grub_dprintf() arguments to fix warnings.
35670
35671 2008-06-30 Pavel Roskin <proski@gnu.org>
35672
35673 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
35674 install_bsd_part immediately before core.img is embedded or
35675 modified on disk. This fixes core.img verification if core.img
35676 cannot be embedded.
35677
35678 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
35679 core_path to calculate the blocklist.
35680 Patch from Javier Martín <lordhabbit@gmail.com>
35681
35682 2008-06-29 Robert Millan <rmh@aybabtu.com>
35683
35684 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
35685 block to disk block.
35686 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
35687 Patch from Niels Böhm <bitbucket@arcor.de>
35688
35689 2008-06-29 Robert Millan <rmh@aybabtu.com>
35690
35691 * util/update-grub_lib.in (font_path): Search for fonts in
35692 /boot/grub first, which is more likely to be readable (we aren't
35693 deciding where fonts live, just looking for them).
35694
35695 2008-06-26 Pavel Roskin <proski@gnu.org>
35696
35697 * util/biosdisk.c (read_device_map): Don't leave dead map
35698 entries for devices failing stat() check.
35699
35700 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
35701 core_path_dev for the core.img path on the target device.
35702
35703 2008-06-26 Robert Millan <rmh@aybabtu.com>
35704
35705 * disk/fs_uuid.c: New file.
35706 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
35707 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
35708 (fs_uuid_mod_LDFLAGS): New variables.
35709 * include/grub/disk.h (grub_disk_dev_id): Add
35710 `GRUB_DISK_DEVICE_UUID_ID'.
35711 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
35712 implement iterate().
35713
35714 2008-06-26 Robert Millan <rmh@aybabtu.com>
35715
35716 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
35717 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
35718 Linux image includes no initrd.
35719
35720 2008-06-21 Javier Martín <lordhabbit@gmail.com>
35721
35722 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
35723 call to resolve the core image location that effectively appended the
35724 name twice.
35725
35726 2008-06-21 Robert Millan <rmh@aybabtu.com>
35727
35728 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
35729 call from here ...
35730
35731 * util/grub.d/10_hurd.in: ... to here ...
35732 * util/grub.d/10_linux.in: ... and here.
35733
35734 2008-06-19 Robert Millan <rmh@aybabtu.com>
35735
35736 * kern/main.c (grub_main): Export `prefix' variable immediately
35737 after it has been set by grub_machine_set_prefix().
35738
35739 2008-06-19 Robert Millan <rmh@aybabtu.com>
35740
35741 * commands/search.c (search_label, search_fs_uuid, search_file): Print
35742 search result when not saving to variable, not the other way around.
35743 When saving to variable, abort iteration as soon as a match is found.
35744
35745 2008-06-19 Robert Millan <rmh@aybabtu.com>
35746
35747 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
35748 check for partition that provides /boot/grub. Its logic is flawed,
35749 as it prevents prepare_grub_to_access_device() from being called
35750 multiple times.
35751
35752 2008-06-19 Robert Millan <rmh@aybabtu.com>
35753
35754 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
35755 "insmod" command directly when abstraction modules are needed,
35756 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
35757 since it had already been processed).
35758
35759 2008-06-19 Pavel Roskin <proski@gnu.org>
35760
35761 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
35762 changed. This is needed in case GRUB_LIBDIR changes.
35763 * conf/i386-ieee1275.rmk: Likewise.
35764 * conf/i386-linuxbios.rmk: Likewise.
35765 * conf/i386-pc.rmk: Likewise.
35766 * conf/powerpc-ieee1275.rmk: Likewise.
35767
35768 2008-06-18 Pavel Roskin <proski@gnu.org>
35769
35770 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
35771 kernel_elf_symlist.c to symlist.c for consistency with other
35772 architectures. Update all users.
35773 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
35774
35775 2008-06-18 Robert Millan <rmh@aybabtu.com>
35776
35777 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
35778 it in prefix.
35779
35780 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
35781 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
35782 a RAID device, run setup() for all members independently on whether
35783 LVM abstraction is being used.
35784 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
35785 If grub-mkimage has set `*install_dos_part == -2', don't override this
35786 value.
35787 Perform *install_dos_part adjustments independently on whether
35788 we're embedding or not.
35789 Clarify error message when image is too big for embedding.
35790 Remove duplicate *install_dos_part stanza.
35791
35792 2008-06-17 Robert Millan <rmh@aybabtu.com>
35793
35794 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
35795 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
35796 variables.
35797 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
35798 values in grub_ofconsole_normal_color and
35799 grub_ofconsole_highlight_color (they're not directly related to
35800 background and foreground).
35801 (grub_ofconsole_setcolorstate): Extract background and foreground
35802 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
35803
35804 2008-06-17 Robert Millan <rmh@aybabtu.com>
35805
35806 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
35807 /boot/grub for the check in last commit, not /boot (they could be
35808 different partitions).
35809
35810 2008-06-16 Robert Millan <rmh@aybabtu.com>
35811
35812 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
35813 asked to setup access for the same partition that provides /boot,
35814 don't bother using UUIDs since our root already has the value we
35815 want.
35816
35817 2008-06-16 Robert Millan <rmh@aybabtu.com>
35818
35819 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
35820 I2O devices.
35821 Patch from Sven Mueller <sven@debian.org>.
35822
35823 2008-06-16 Robert Millan <rmh@aybabtu.com>
35824
35825 * util/update-grub.in: Check for $EUID instead of $UID.
35826 Reported by Vincent Zweije.
35827
35828 2008-06-16 Bean <bean123ch@gmail.com>
35829
35830 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
35831 (grub_ext2_read_block): Likewise.
35832 (grub_ext2_read_inode): Likewise.
35833 (grub_ext2_mount): Likewise.
35834 (grub_ext2_close): Likewise.
35835 (grub_ext3_get_journal): Removed.
35836
35837 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
35838 (grub_reiserfs_read_symlink): Likewise.
35839 (grub_reiserfs_mount): Likewise.
35840 (grub_reiserfs_open): Likewise.
35841 (grub_reiserfs_read): Likewise.
35842 (grub_reiserfs_close): Likewise.
35843 (grub_reiserfs_get_journal): Removed.
35844
35845 * fs/fshelp.c (grub_fshelp_read): Removed.
35846 (grub_fshelp_map_block): Likewise.
35847
35848 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
35849 (grub_fshelp_journal): Likewise.
35850 (grub_fshelp_read): Likewise.
35851 (grub_fshelp_map_block): Likewise.
35852
35853 2008-06-16 Pavel Roskin <proski@gnu.org>
35854
35855 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
35856 floating point anymore.
35857 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
35858
35859 2008-06-15 Pavel Roskin <proski@gnu.org>
35860
35861 * commands/ls.c (grub_ls_list_files): Use integer calculations
35862 for human readable format, avoid floating point use.
35863 * kern/misc.c (grub_ftoa): Remove.
35864 (grub_vsprintf): Remove floating point support.
35865
35866 2008-06-15 Robert Millan <rmh@aybabtu.com>
35867
35868 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
35869 devices.
35870 Reported by Max Vozeler.
35871
35872 2008-06-15 Robert Millan <rmh@aybabtu.com>
35873
35874 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
35875 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
35876 skipped later.
35877 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
35878 the beginning of the prefix.
35879
35880 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
35881 It is assumed that if we have a memdisk, grub-mkimage has set
35882 grub_prefix to include the "(memdisk)" drive in it.
35883
35884 2008-06-15 Robert Millan <rmh@aybabtu.com>
35885
35886 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
35887 Initialize keyboard controller after registering the terminal, so that
35888 grub_printf() can be called from grub_keyboard_controller_init().
35889
35890 2008-06-15 Robert Millan <rmh@aybabtu.com>
35891
35892 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
35893 extent-btree which is written as big endian on disk.
35894 Reported by Alain Greppin <al@chilibi.org>.
35895
35896 2008-06-14 Robert Millan <rmh@aybabtu.com>
35897
35898 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
35899 * util/i386/pc/grub-install.in (modules): Likewise.
35900
35901 2008-06-13 Pavel Roskin <proski@gnu.org>
35902
35903 * commands/ls.c (grub_ls_list_files): Fix format warnings.
35904
35905 2008-06-13 Bean <bean123ch@gmail.com>
35906
35907 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
35908
35909 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
35910
35911 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
35912 to indicate sparse block.
35913
35914 2008-06-12 Pavel Roskin <proski@gnu.org>
35915
35916 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
35917 number, grub_fshelp_read() does it for us.
35918
35919 * fs/fshelp.c (grub_fshelp_read): New function. Implement
35920 linear disk read with journal translation.
35921 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
35922 * include/grub/fshelp.h: Declare grub_fshelp_read().
35923
35924 2008-06-09 Pavel Roskin <proski@gnu.org>
35925
35926 * fs/minix.c (grub_minix_mount): Handle error reading
35927 superblock.
35928
35929 2008-06-08 Robert Millan <rmh@aybabtu.com>
35930
35931 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
35932 don't append the RAID prefix afterwards.
35933 Reported by Clint Adams.
35934
35935 2008-06-08 Robert Millan <rmh@aybabtu.com>
35936
35937 Based on description from Pavel:
35938 * kern/disk.c (grub_disk_check_range): Rename to ...
35939 (grub_disk_adjust_range): ... this. Add a comment explaining the
35940 tasks performed by this function.
35941
35942 2008-06-08 Robert Millan <rmh@aybabtu.com>
35943
35944 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
35945 `num_serial' (for consistency with other variables).
35946 (struct grub_ntfs_data): Add `uuid' member.
35947 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
35948 (grub_ntfs_uuid): New function.
35949 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
35950
35951 2008-06-07 Pavel Roskin <proski@gnu.org>
35952
35953 * util/biosdisk.c (open_device): Revert last change to the
35954 function, it broke installation. The sector needs to be
35955 different dependent on which device is opened.
35956
35957 2008-06-06 Robert Millan <rmh@aybabtu.com>
35958
35959 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
35960 rest of GRUB, and breakage doesn't happen if its value were modified.
35961
35962 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
35963 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
35964 a constant (same value).
35965 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
35966 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
35967
35968 2008-06-06 Robert Millan <rmh@aybabtu.com>
35969
35970 * util/biosdisk.c (open_device): Do not modify sector offset when
35971 accessing a partition. kern/disk.c already handles this for us.
35972
35973 2008-06-06 Robert Millan <rmh@aybabtu.com>
35974
35975 * util/grub-emu.c (grub_machine_init): Move code in this function from
35976 here ...
35977 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
35978 segfault in case grub_printf() is called).
35979
35980 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
35981 grub_probe. Update all users not to explicitly add it again.
35982 (grub_device): New variable; contains corresponding device for grubdir.
35983 (fs_module, partmap_module, devabstraction_module): Pass
35984 `--device ${grub_device}' to grub_probe to avoid traversing /dev
35985 every time.
35986
35987 2008-06-05 Robert Millan <rmh@aybabtu.com>
35988
35989 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
35990 is found, print it (same layout as with labels).
35991
35992 2008-06-04 Robert Millan <rmh@aybabtu.com>
35993
35994 * util/biosdisk.c (get_drive): Rename to ...
35995 (find_grub_drive): ... this. Update all users.
35996
35997 (get_os_disk): Rename to ...
35998 (convert_system_partition_to_system_disk): ... this. Update all users.
35999
36000 (find_drive): Rename to ...
36001 (find_system_device): ... this. Update all users.
36002
36003 2008-06-04 Robert Millan <rmh@aybabtu.com>
36004
36005 * util/biosdisk.c (get_os_disk): Handle IDA devices.
36006 * util/grub-mkdevicemap.c (get_mmc_disk_name)
36007 (make_device_map): Likewise.
36008
36009 2008-06-01 Robert Millan <rmh@aybabtu.com>
36010
36011 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
36012 before dereferencing it.
36013
36014 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
36015 union with fat12/fat16-specific ones. Add some new fields, including
36016 `num_serial' for both versions.
36017 (struct grub_fat_data): Add `uuid' member.
36018 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
36019 names. Initialize `data->uuid' using `num_serial'.
36020 (grub_fat_uuid): New function.
36021 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
36022
36023 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
36024 (grub_reiserfs_uuid): New function.
36025 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
36026 member.
36027
36028 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
36029 (grub_xfs_uuid): New function.
36030 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
36031
36032 2008-06-01 Robert Millan <rmh@aybabtu.com>
36033
36034 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
36035 code that is backward compatible with pre-uuid search command.
36036
36037 2008-05-31 Robert Millan <rmh@aybabtu.com>
36038
36039 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
36040 floppies after everything else, to ensure floppy drive isn't accessed
36041 unnecessarily (patch from Bean).
36042
36043 2008-05-31 Robert Millan <rmh@aybabtu.com>
36044
36045 * commands/search.c (search_label, search_fs_uuid, search_file): Do
36046 not print device names when we were asked to set a variable.
36047
36048 2008-05-31 Robert Millan <rmh@aybabtu.com>
36049
36050 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
36051 using "cursor-on" and "cursor-off" commands (understood at least by
36052 the Open Firmware flavour on OLPC).
36053
36054 2008-05-31 Michael Gorven <michael@gorven.za.net>
36055
36056 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
36057 on and off sequences.
36058
36059 2008-05-31 Robert Millan <rmh@aybabtu.com>
36060
36061 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
36062 * util/update-grub.in: Likewise.
36063
36064 2008-05-30 Pavel Roskin <proski@gnu.org>
36065
36066 * util/biosdisk.c (linux_find_partition): Simplify logic and
36067 make the code more universal. Keep special processing for
36068 devfs, but use a simple rule for all other devices. If the
36069 device ends with a number, append 'p' and the partition number.
36070 Otherwise, append only the partition number.
36071
36072 2008-05-30 Robert Millan <rmh@aybabtu.com>
36073
36074 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
36075 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
36076 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
36077 the `root' parameter to Linux.
36078
36079 2008-05-30 Robert Millan <rmh@aybabtu.com>
36080
36081 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
36082 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
36083 --fs_uuid with --fs-uuid.
36084 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
36085 all filesystems support them).
36086
36087 2008-05-30 Robert Millan <rmh@aybabtu.com>
36088
36089 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
36090 grub_printf() flags, since we're printing in units of 2 bytes.
36091
36092 2008-05-30 Robert Millan <rmh@aybabtu.com>
36093
36094 * util/grub.d/00_header.in: Remove obsolete comment referencing
36095 convert_system_path_to_grub_path().
36096 * util/update-grub.in: Likewise.
36097 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
36098 (convert_system_path_to_grub_path): Add a warning message explaining
36099 that this function is deprecated. Rely on is_path_readable_by_grub()
36100 for the readability checks.
36101 (font_path): Use is_path_readable_by_grub() for the readability
36102 check rather than convert_system_path_to_grub_path().
36103
36104 2008-05-30 Robert Millan <rmh@aybabtu.com>
36105
36106 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
36107 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
36108 converting it first.
36109 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
36110 grub.cfg for access to font file, and afterwards call it again to set
36111 the root device.
36112
36113 2008-05-30 Robert Millan <rmh@aybabtu.com>
36114
36115 * commands/search.c (options): Add --fs_uuid option.
36116 (search_fs_uuid): New function.
36117 (grub_cmd_search): Fix --set argument passing.
36118 Use search_fs_uuid() when requested via --fs_uuid.
36119 (grub_search_init): Update help message.
36120 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
36121 and redeclare it as an array of 16-bit words.
36122 (grub_ext2_uuid): New function.
36123 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
36124 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
36125 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
36126 (GRUB_DEVICE_BOOT_UUID): New variables.
36127 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
36128 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
36129 whenever possible.
36130 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
36131 just assume `root' variable has the right value.
36132 * util/grub.d/10_linux.in: Likewise.
36133 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
36134 via PRINT_FS_UUID.
36135 (main): Recognise `-t fs_uuid' argument.
36136
36137 2008-05-30 Robert Millan <rmh@aybabtu.com>
36138
36139 * util/biosdisk.c (map): Redefine structure to hold information
36140 about GRUB drive name.
36141 (get_drive): Reimplement without assuming (and verifying) BIOS-like
36142 drive names.
36143 (call_hook): Remove.
36144 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
36145 member. Assume drive has partitions.
36146 (grub_util_biosdisk_open): Access device names via `.device' struct
36147 member.
36148 (open_device): Likewise.
36149 (find_drive): Likewise.
36150 (read_device_map): Adjust map[] usage to match the new struct
36151 definition. Don't check for duplicates (still possible, but not cheap
36152 anymore).
36153 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
36154 (make_device_name): Remove assumption of BIOS-like drive names.
36155
36156 2008-05-30 Pavel Roskin <proski@gnu.org>
36157
36158 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
36159 compiling execute.c doesn't need grub_script.tab.h anymore.
36160 (normal/command.c_DEPENDENCIES): Likewise.
36161 (normal/function.c_DEPENDENCIES): Likewise.
36162 * conf/i386-ieee1275.rmk: Likewise.
36163 * conf/i386-linuxbios.rmk: Likewise.
36164 * conf/i386-pc.rmk: Likewise.
36165 * conf/powerpc-ieee1275.rmk: Likewise.
36166 * conf/sparc64-ieee1275.rmk: Likewise.
36167
36168 2008-05-29 Pavel Roskin <proski@gnu.org>
36169
36170 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
36171 when scanning metadata for volume group name.
36172
36173 * include/grub/script.h: Don't include grub_script.tab.h. It's
36174 a generated file, which may only be included from the files with
36175 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
36176 use union YYSTYPE, as the later allows forward declaration.
36177 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
36178
36179 2008-05-29 Robert Millan <rmh@aybabtu.com>
36180
36181 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
36182 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
36183 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
36184 (grub_console_checkkey): Add grub_dprintf() call to report unknown
36185 scan codes.
36186
36187 2008-05-29 Robert Millan <rmh@aybabtu.com>
36188
36189 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
36190 control key combinations.
36191
36192 2008-05-29 Robert Millan <rmh@aybabtu.com>
36193
36194 * util/powerpc/ieee1275/grub-install.in: Move from here ...
36195 * util/ieee1275/grub-install.in: ... to here.
36196 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
36197 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
36198 (grub_install_SOURCES): Likewise.
36199
36200 2008-05-29 Robert Millan <rmh@aybabtu.com>
36201
36202 * fs/affs.c: Update copyright year.
36203 * fs/ext2.c: Likewise.
36204 * fs/fshelp.c: Likewise.
36205 * fs/hfsplus.c: Likewise.
36206 * fs/ntfs.c: Likewise.
36207 * fs/xfs.c: Likewise.
36208 * include/grub/fshelp.h: Likewise.
36209 * util/grub-mkdevicemap.c: Likewise.
36210
36211 2008-05-28 Robert Millan <rmh@aybabtu.com>
36212
36213 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
36214 might need to be fatfs to support some firmware implementations
36215 (e.g. OFW or EFI).
36216
36217 2008-05-28 Robert Millan <rmh@aybabtu.com>
36218
36219 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
36220 devices.
36221 * util/grub-mkdevicemap.c (get_mmc_disk_name)
36222 (make_device_map): Likewise.
36223
36224 2008-05-20 Bean <bean123ch@gmail.com>
36225
36226 * fs/fshelp.c (grub_fshelp_map_block): New function.
36227 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
36228 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
36229
36230 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
36231 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
36232 (grub_fshelp_journal): New structure.
36233 (grub_fshelp_map_block): New function prototype.
36234 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
36235 (grub_fshelp_map_block): Likewise.
36236
36237 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
36238 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
36239 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
36240 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
36241 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
36242 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
36243 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
36244 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
36245 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
36246 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
36247 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
36248 (grub_ext2_sblock): New members for journal support.
36249 (grub_ext3_journal_header): New structure.
36250 (grub_ext3_journal_revoke_header): Likewise.
36251 (grub_ext3_journal_block_tag): Likewise.
36252 (grub_ext3_journal_sblock): Likewise.
36253 (grub_fshelp_node): New members logfile and journal.
36254 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
36255 grub_fshelp_map_block to get real block number.
36256 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
36257 number.
36258 (grub_ext2_read_inode): Likewise.
36259 (grub_ext3_get_journal): New function.
36260 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
36261 (grub_ext2_close): Release memory used by journal.
36262
36263 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
36264 (REISERFS_MAGIC_DESC_BLOCK): New macro.
36265 (grub_reiserfs_transaction_header): Renamed to
36266 grub_reiserfs_description_block, replace field data with real_blocks.
36267 (grub_reiserfs_commit_block): New structure.
36268 (grub_reiserfs_data): New member journal.
36269 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
36270 number.
36271 (grub_reiserfs_read_symlink): Likewise.
36272 (grub_reiserfs_iterate_dir): Likewise.
36273 (grub_reiserfs_open): Likewise.
36274 (grub_reiserfs_read): Likewise.
36275 (grub_reiserfs_get_journal): New function.
36276 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
36277 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
36278 using grub_reiserfs_get_journal.
36279 (grub_reiserfs_close): Release memory used by journal.
36280
36281 * fs/affs.c (grub_affs_read_block): Change block type to
36282 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
36283
36284 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
36285
36286 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
36287
36288 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
36289
36290 * fs/udf.c (grub_udf_read_block): Change block type to
36291 grub_disk_addr_t. Use type cast to avoid warning.
36292
36293 * fs/xfs.c (grub_xfs_read_block): Likewise.
36294
36295 2008-05-16 Christian Franke <franke@computer.org>
36296
36297 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
36298 to ensure that break with ESC will always work.
36299 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
36300 Remove ESC from keyboard queue.
36301
36302 2008-05-16 Christian Franke <franke@computer.org>
36303
36304 * util/biosdisk.c: [__CYGWIN__] Add includes.
36305 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
36306 (get_os_disk): Move variable declarations to OS specific
36307 parts to avoid warning.
36308 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
36309 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
36310 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
36311 Cygwin.
36312 * util/getroot.c: [__CYGWIN__] Add includes.
36313 (strip_extra_slashes): Fix "/" case.
36314 [__CYGWIN__] (get_win32_path): New function.
36315 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
36316 [__CYGWIN__] (find_root_device): Disable.
36317 [__CYGWIN__] (get_bootsec_serial): New function.
36318 [__CYGWIN__] (find_cygwin_root_device): Likewise.
36319 [__linux__] (grub_guess_root_device): Add early returns to simplify
36320 structure.
36321 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
36322 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
36323 check for Linux only.
36324
36325 2008-05-15 Bean <bean123ch@gmail.com>
36326
36327 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
36328 keyboard hang problem in apple's intel mac.
36329
36330 2008-05-09 Robert Millan <rmh@aybabtu.com>
36331
36332 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
36333 devices.
36334 * util/grub-mkdevicemap.c (get_virtio_disk_name)
36335 (make_device_map): Likewise.
36336 Reported by Aurelien Jarno <aurel32@debian.org>
36337
36338 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
36339
36340 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
36341 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
36342 (make_device_map): Output entries for xvd type disks.
36343
36344 2008-05-07 Robert Millan <rmh@aybabtu.com>
36345
36346 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
36347 devices.
36348 * util/grub-mkdevicemap.c (get_cciss_disk_name)
36349 (make_device_map): Likewise.
36350 Reported by Roland Dreier <rdreier@cisco.com>
36351
36352 2008-05-07 Robert Millan <rmh@aybabtu.com>
36353
36354 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
36355 grub_strstr() call. Correct a few mistakes in failure path handling.
36356
36357 2008-05-06 Robert Millan <rmh@aybabtu.com>
36358
36359 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
36360 Do not print a trailing slash (therefore, the root directory is an
36361 empty string).
36362 (convert_system_path_to_grub_path): Do not remove trailing slash
36363 from make_system_path_relative_to_its_root() output.
36364
36365 * util/i386/pc/grub-install.in: Add trailing slash to output from
36366 make_system_path_relative_to_its_root().
36367
36368 2008-05-06 Robert Millan <rmh@aybabtu.com>
36369
36370 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
36371 ensures that output lines aren't intermangled with those sent to
36372 stderr (via grub_util_info()).
36373 * util/grub-probe.c (grub_refresh): Likewise.
36374 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
36375
36376 2008-05-05 Christian Franke <franke@computer.org>
36377
36378 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
36379 Add Cygwin device names.
36380 (get_ide_disk_name) [__CYGWIN__]: Likewise.
36381 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
36382 (check_device): Return error instead of success on empty name.
36383 (make_device_map): Move label inside linux specific code to
36384 prevent compiler warning.
36385
36386 2008-04-30 Robert Millan <rmh@aybabtu.com>
36387
36388 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
36389 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
36390 first boot option.
36391 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
36392
36393 2008-04-29 Robert Millan <rmh@aybabtu.com>
36394
36395 * docs/grub.cfg: New file (example GRUB configuration).
36396
36397 2008-04-26 Robert Millan <rmh@aybabtu.com>
36398
36399 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
36400 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
36401 and `disk/ieee1275/nand.c'.
36402
36403 2008-04-25 Bean <bean123ch@gmail.com>
36404
36405 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
36406 i386-linuxbios.
36407
36408 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
36409 change the buffer size to 4096 for cdrom device.
36410
36411 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
36412 and nand.mod.
36413 (_linux_mod_SOURCES): New variable.
36414 (_linux_mod_CFLAGS): Likewise.
36415 (_linux_mod_LDFLAGS): Likewise.
36416 (linux_mod_SOURCES): Likewise.
36417 (linux_mod_CFLAGS): Likewise.
36418 (linux_mod_LDFLAGS): Likewise.
36419 (nand_mod_SOURCES): Likewise.
36420 (nand_mod_CFLAGS): Likewise.
36421 (nand_mod_LDFLAGS): Likewise.
36422
36423 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
36424 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
36425 type property. (nand device in olpc don't have this property)
36426
36427 * include/grub/disk.h (grub_disk_dev_id): New macro
36428 GRUB_DISK_DEVICE_NAND_ID.
36429
36430 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
36431 function prototype.
36432 (grub_rescue_cmd_initrd): Likewise.
36433
36434 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
36435 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
36436 ofw_cif_handler and ofw_idt, adjust padding number.
36437
36438 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
36439 GRUB_MACHINE_IEEE1275 is defined.
36440
36441 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
36442 Use NESTED_FUNC_ATTR attribute on the hook parameter.
36443
36444 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
36445 on nested function heap_init.
36446 (grub_upper_mem): New variable for i386-ieee1275.
36447 (grub_get_extended_memory): New function for i386-ieee1275.
36448 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
36449
36450 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
36451 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
36452 property.
36453
36454 * loader/i386/ieee1275/linux.c: New file.
36455
36456 * loader/i386/ieee1275/linux_normal.c: New file.
36457
36458 * disk/ieee1275/nand.c: New file.
36459
36460 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
36461
36462 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
36463 value.
36464 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
36465
36466 2008-04-18 Robert Millan <rmh@aybabtu.com>
36467
36468 Restructures early code path on ieee1275 to unify grub_main() as
36469 the first C function that is executed in every platform.
36470
36471 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
36472 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
36473 cmain().
36474 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
36475 * kern/ieee1275/cmain.c (cmain): Rename to ...
36476 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
36477 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
36478 at the beginning.
36479
36480 2008-04-18 Robert Millan <rmh@aybabtu.com>
36481
36482 * util/update-grub.in: Fix syntax error when setting
36483 `GRUB_PRELOAD_MODULES'.
36484 Reported by Stephane Chazelas <stephane@artesyncp.com>
36485
36486 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
36487
36488 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
36489 section into account, newer toolchains generate unique build ids
36490 * configure.ac: remove the test for --build-id=none acceptance,
36491 we want build ids to be preserved
36492 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
36493 far from other sections don't cause the raw binary images grow
36494 size
36495
36496 2008-04-15 Robert Millan <rmh@aybabtu.com>
36497
36498 * disk/lvm.c: Update copyright year.
36499 * kern/misc.c: Likewise.
36500
36501 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
36502
36503 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
36504 there is no memory left for physical volume name.
36505
36506 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
36507
36508 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
36509 volume name mapping to support bigger than 9 character names properly.
36510
36511 2008-04-13 Robert Millan <rmh@aybabtu.com>
36512
36513 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
36514 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
36515
36516 2008-04-13 Christian Franke <franke@computer.org>
36517
36518 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
36519 to create a floppy emulation boot CD when non emulation mode
36520 does not work.
36521 Enable Joliet CD filesystem extension.
36522
36523 2008-04-13 Robert Millan <rmh@aybabtu.com>
36524
36525 * kern/misc.c (grub_strncat): Fix off-by-one error.
36526 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
36527
36528 * kern/env.c (grub_env_context_close): Clear current context, not
36529 previous one.
36530 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
36531
36532 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
36533
36534 2008-04-13 Robert Millan <rmh@aybabtu.com>
36535
36536 Improve robustness when handling LVM.
36537
36538 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
36539 (and leave `*p' unmodified).
36540 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
36541 through it.
36542 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
36543 iterating through it.
36544 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
36545 through it.
36546 (grub_lvm_scan_device): Check the return value (and fail gracefully
36547 when due) on each grub_lvm_getvalue() or grub_strstr() call.
36548 Don't assume `vg->pvs != NULL' when iterating through it.
36549
36550 2008-04-13 Robert Millan <rmh@aybabtu.com>
36551
36552 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
36553 * genmk.rb (partmap): New variable.
36554 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
36555 (#{partmap}): New target rule.
36556 * genpartmaplist.sh: New file.
36557 * Makefile.in (pkglib_DATA): Add partmap.lst.
36558 (partmap.lst): New target rule.
36559 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
36560 modules (including all partition maps), instead of preloading them.
36561
36562 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
36563
36564 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
36565 `linux-boot-prober' (if installed) to detect other operating
36566 systems which are installed on the computer and add them to
36567 the boot menu.
36568 * conf/common.rmk: Build and install 30_os-prober.
36569
36570 2008-04-12 Robert Millan <rmh@aybabtu.com>
36571
36572 * kern/powerpc/ieee1275/init.c: Move from here ...
36573 * kern/ieee1275/init.c: ... to here. Update all users.
36574
36575 * kern/powerpc/ieee1275/cmain.c: Move from here ...
36576 * kern/ieee1275/cmain.c: ... to here. Update all users.
36577
36578 * kern/powerpc/ieee1275/openfw.c: Move from here ...
36579 * kern/ieee1275/openfw.c: ... to here. Update all users.
36580
36581 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
36582 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
36583
36584 2008-04-10 Pavel Roskin <proski@gnu.org>
36585
36586 * configure.ac: Always use "_cv_" in cache variables for
36587 compatibility with Autoconf 2.62.
36588
36589 2008-04-07 Robert Millan <rmh@aybabtu.com>
36590
36591 Revert grub/machine/init.h addition by Pavel (since it breaks on
36592 i386-ieee1275 and others):
36593 * util/i386/pc/misc.c: Remove grub/machine/init.h.
36594 * util/powerpc/ieee1275/misc.c: Likewise.
36595
36596 2008-04-07 Robert Millan <rmh@aybabtu.com>
36597
36598 * util/grub-probe.c (probe): Improve error message.
36599
36600 2008-04-07 Robert Millan <rmh@aybabtu.com>
36601
36602 * util/biosdisk.c (read_device_map): Skip devices that don't exist
36603 (this prevents the presence of a bogus entry from ruining the whole
36604 thing).
36605
36606 2008-04-06 Pavel Roskin <proski@gnu.org>
36607
36608 * util/biosdisk.c: Include grub/util/biosdisk.h.
36609 * util/grub-fstest.c (execute_command): Make static.
36610 * util/grub-mkdevicemap.c (check_device): Likewise.
36611 * util/i386/pc/misc.c: Include grub/machine/init.h.
36612 * util/powerpc/ieee1275/misc.c: Likewise.
36613 * util/lvm.c: Include grub/util/lvm.h.
36614 * util/misc.c: Include grub/kernel.h, grub/misc.h and
36615 grub/cache.h.
36616 * util/raid.c: Include grub/util/raid.h.
36617 (grub_util_getdiskname): Make static.
36618
36619 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
36620 grub_hostfs_fini(), as they are called from grub_init_all() and
36621 grub_fini_all() respectively. This fixes an infinite loop in
36622 grub-fstest due to double registration of hostfs.
36623 Reported by Christian Franke <Christian.Franke@t-online.de>
36624
36625 2008-04-05 Pavel Roskin <proski@gnu.org>
36626
36627 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
36628 all 8 functions. Otherwise, probe function 0 only.
36629
36630 2008-04-04 Pavel Roskin <proski@gnu.org>
36631
36632 * commands/lspci.c (grub_lspci_iter): Print the bus number
36633 correctly.
36634
36635 * commands/lspci.c (grub_pci_classes): Fix typos.
36636 (grub_lspci_iter): Don't print func twice. Print vendor ID
36637 before device ID, as it's normally done.
36638
36639 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
36640 Fix signedness warnings.
36641 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
36642 Likewise.
36643 * util/ieee1275/get_disk_name.c: Include config.h so that
36644 _GNU_SOURCE is defined and getline() is declared. Mark an
36645 unused argument as such. Fix a signedness warning.
36646
36647 2008-04-02 Pavel Roskin <proski@gnu.org>
36648
36649 * genkernsyms.sh.in: Use more robust assignments for CC and
36650 srcdir. Quote srcdir.
36651 * gensymlist.sh.in: Likewise. Assert at the compile time that
36652 the symbol table is not empty.
36653
36654 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
36655 * fs/cpio.c (grub_cpio_read): Likewise.
36656
36657 2008-04-01 Pavel Roskin <proski@gnu.org>
36658
36659 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
36660 * disk/host.c (grub_host_open): Likewise.
36661 * disk/loopback.c (grub_loopback_open): Likewise.
36662 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
36663 disk->id as in disk/host.c, not a multi-character constant.
36664
36665 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
36666 later is obsolete, potentially dangerous and sets a bad example.
36667 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
36668 * util/misc.c (grub_util_get_image_size): Likewise.
36669
36670 * disk/loopback.c (options): Improve help for "--partitions".
36671
36672 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
36673 options to align them with the short options, e.g. "echo -e".
36674
36675 2008-03-31 Bean <bean123ch@gmail.com>
36676
36677 * video/reader/png.c (grub_png_data): New member is_16bit and
36678 image_data.
36679 (grub_png_decode_image_header): Detect 16 bit png image.
36680 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
36681 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
36682 (grub_video_reader_png): Release memory occupied by image_data.
36683
36684 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
36685 4096 bytes.
36686 (grub_nfs_mount): Skip the test for sector per cluster.
36687
36688 * include/grub/ntfs.h (MAX_SPC): Removed.
36689
36690 2008-03-31 Bean <bean123ch@gmail.com>
36691
36692 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
36693 (grub_probe_SOURCES): Add fs/afs.c.
36694 (grub_fstest_SOURCES): Likewise.
36695 (afs_mod_SOURCES): New variable.
36696 (afs_mod_CFLAGS): Likewise.
36697 (afs_mod_LDFLAGS): Likewise.
36698
36699 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
36700 (grub_emu_SOURCES): Likewise.
36701
36702 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36703
36704 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36705
36706 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
36707
36708 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36709
36710 * fs/afs.c: New file.
36711
36712 2008-03-30 Pavel Roskin <proski@gnu.org>
36713
36714 * disk/host.c: Include grub/misc.h to fix a warning.
36715 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
36716 warnings about implicit declarations.
36717
36718 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
36719 variable.
36720 * include/grub/i386/loader.h: Change declaration of
36721 grub_linux_boot() to match what grub_loader_set() expects.
36722 * util/getroot.c (grub_guess_root_device): Return const char* to
36723 fix a warning.
36724 * util/grub-probe.c (probe): Fix a warning about uninitialized
36725 abstraction_name variable.
36726 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
36727 second argument as unused to fix a warning.
36728
36729 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
36730 missing grub_error() call.
36731
36732 * util/update-grub_lib.in: Define datarootdir, since Autoconf
36733 2.60 and newer uses it to define datadir.
36734
36735 * commands/sleep.c: Fix warning about implicit declaration.
36736 * disk/memdisk.c: Likewise.
36737 * loader/aout.c: Likewise.
36738 * loader/i386/bsd_normal.c: Likewise.
36739 * util/grub-probe.c: Likewise.
36740
36741 * commands/i386/cpuid.c (has_longmode): Make static.
36742 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
36743 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
36744
36745 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
36746 GDT. This is more robust, as %ds can change.
36747 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
36748 calling real_to_prot().
36749 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
36750
36751 2008-03-28 Pavel Roskin <proski@gnu.org>
36752
36753 * kern/i386/pc/startup.S: Assert that uncompressed functions
36754 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
36755 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
36756 code, as they push parts of the code (error handlers) beyond
36757 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
36758 code as correctness and size.
36759
36760 2008-03-28 Pavel Roskin <proski@gnu.org>
36761
36762 * kern/i386/pc/startup.S
36763 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
36764 data block address to the real mode, keep offset minimal. This
36765 works around a bug in AWARD BIOS on old Athlon systems, which
36766 makes CD detection hang.
36767
36768 2008-03-26 Pavel Roskin <proski@gnu.org>
36769
36770 * normal/color.c (grub_parse_color_name_pair): Make `name' a
36771 const.
36772 * include/grub/normal.h: Add grub_parse_color_name_pair()
36773 declaration.
36774
36775 2008-03-24 Bean <bean123ch@gmail.com>
36776
36777 * disk/i386/pc/biosdisk.c (cd_start): Removed.
36778 (cd_count): Removed.
36779 (cd_drive): New variable.
36780 (grub_biosdisk_get_drive): Don't check for (cdN) device.
36781 (grub_biosdisk_call_hook): Likewise.
36782 (grub_biosdisk_iterate): Change cdrom detection method.
36783 (grub_biosdisk_open): Replace cd_start with cd_drive.
36784 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
36785 detect cdrom device.
36786
36787 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
36788 Removed.
36789 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
36790 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
36791 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
36792 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
36793 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
36794 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
36795 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
36796 (grub_biosdisk_cdrp): New structure.
36797 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
36798
36799 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
36800
36801 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
36802 device.
36803
36804 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
36805 New function.
36806
36807 2008-03-20 Robert Millan <rmh@aybabtu.com>
36808
36809 Remove 2 TiB limit in ata.mod.
36810 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
36811 (grub_ata_dumpinfo): Print sector count with 0x%llx.
36812 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
36813 grub_uint64_t instead of grub_uint32_t.
36814
36815 2008-03-05 Bean <bean123ch@gmail.com>
36816
36817 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
36818 (grub_multiboot): Set boot device.
36819
36820 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
36821
36822 2008-03-02 Bean <bean123ch@gmail.com>
36823
36824 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
36825 symlink_buffer.
36826
36827 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
36828
36829 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
36830 texinfo.tex.
36831
36832 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
36833 modified.
36834
36835 * docs/fdl.texi: New file.
36836
36837 * docs/mdate-sh: New file. Copied from gnulib.
36838 * docs/texinfo.tex: Likewise.
36839
36840 * config.guess: Updated from gnulib.
36841 * install-sh: Likewise.
36842
36843 2008-02-28 Robert Millan <rmh@aybabtu.com>
36844
36845 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
36846 (aout_mod_SOURCES): New variable.
36847 (aout_mod_CFLAGS): Likewise.
36848 (aout_mod_LDFLAGS): Likewise.
36849
36850 * conf/i386-ieee1275.rmk: Likewise.
36851
36852 2008-02-28 Robert Millan <rmh@aybabtu.com>
36853
36854 * util/update-grub.in: Reorganise terminal validity check. Accept
36855 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
36856 Based on suggestion by Franklin PIAT.
36857
36858 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
36859
36860 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
36861 function.
36862 * util/getroot.c (grub_util_check_block_device): New function that
36863 returns the given argument if it is a block device and returns NULL else.
36864 * util/grub-probe.c (argument_is_device): New variable.
36865 (probe): Promote device_name from a variable to an argument. Receive
36866 device_name from grub_util_check_block_device() if path is NULL and from
36867 grub_guess_root_device() else. Do not free() device_name anymore.
36868 (options): Introduce new parameter '-d, --device'.
36869 (main): Add description of the new parameter to the help screen.
36870 Rename path variable to argument. Set argument_is_device if the '-d'
36871 option is given. Pass argument to probe() depending on
36872 argument_is_device.
36873
36874 2008-02-24 Bean <bean123ch@gmail.com>
36875
36876 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
36877 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
36878 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
36879 (GRUB_ISO9660_VOLDESC_PART): Likewise.
36880 (GRUB_ISO9660_VOLDESC_END): Likewise.
36881 (grub_iso9660_primary_voldesc): New member escape.
36882 (grub_iso9660_data): New member joliet.
36883 (grub_iso9660_convert_string): New function.
36884 (grub_iso9660_mount): Detect joliet extension.
36885 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
36886 (grub_iso9660_iso9660_label): Likewise.
36887
36888 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
36889 (grub_setup_SOURCES): Add fs/udf.c.
36890 (grub_fstest_SOURCES): Likewise.
36891 (udf_mod_SOURCES): New variable.
36892 (udf_mod_CFLAGS): Likewise.
36893 (udf_mod_LDFLAGS): Likewise.
36894
36895 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
36896 (grub_emu_SOURCES): Likewise.
36897
36898 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36899
36900 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36901
36902 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
36903
36904 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36905
36906 * fs/udf.c: New file.
36907
36908 2008-02-24 Robert Millan <rmh@aybabtu.com>
36909
36910 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
36911 (normal/lexer.c_DEPENDENCIES): New variables.
36912 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
36913 (normal/lexer.c_DEPENDENCIES): Likewise.
36914 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
36915 (normal/lexer.c_DEPENDENCIES): Likewise.
36916 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
36917 (normal/lexer.c_DEPENDENCIES): Likewise.
36918 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
36919 (normal/lexer.c_DEPENDENCIES): Likewise.
36920 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
36921 (normal/lexer.c_DEPENDENCIES): Likewise.
36922
36923 2008-02-23 Robert Millan <rmh@aybabtu.com>
36924
36925 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
36926 since they were intended to be in hex. This didn't break previously
36927 because of a bug in gpt_partition_map_iterate() (see below).
36928
36929 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
36930 when checking the validity of GPT header.
36931 Remove `partno', since it always provides the same information as `i'.
36932
36933 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
36934
36935 * include/grub/efi/time.h: Fix a wrong comment.
36936
36937 2008-02-19 Pavel Roskin <proski@gnu.org>
36938
36939 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
36940 message.
36941
36942 2008-02-19 Bean <bean123ch@gmail.com>
36943
36944 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
36945 (aout_mod_SOURCES): New variable.
36946 (aout_mod_CFLAGS): Likewise.
36947 (aout_mod_LDFLAGS): Likewise.
36948 (_bsd_mod_SOURCES): New variable.
36949 (_bsd_mod_CFLAGS): Likewise.
36950 (_bsd_mod_LDFLAGS): Likewise.
36951 (bsd_mod_SOURCES): New variable.
36952 (bsd_mod_CFLAGS): Likewise.
36953 (bsd_mod_LDFLAGS): Likewise.
36954
36955 * include/grub/aout.h: New file.
36956
36957 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
36958
36959 * include/grub/i386/bsd.h: New file.
36960
36961 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
36962 to make it public.
36963
36964 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
36965 function is called, so that it's possible to change it inside the hook.
36966 (grub_elf64_load): Likewise.
36967 (grub_elf_file): Don't close the file if elf header is not found.
36968 (grub_elf_close): Close the file if grub_elf_file fails (The new
36969 grub_elf_file won't close it).
36970 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
36971 (grub_elf64_size): Likewise.
36972
36973 * kern/i386/loader.S (grub_unix_real_boot): New function.
36974
36975 * loader/aout.c: New file.
36976
36977 * loader/i386/bsd.c: New file.
36978
36979 * loader/i386/bsd_normal.c: New file.
36980
36981 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
36982
36983 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
36984 can test other formats.
36985
36986 2008-02-19 Robert Millan <rmh@aybabtu.com>
36987
36988 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
36989 (grub_gpt_partition_type_empty): Redefine with macro from
36990 `<grub/gpt_partition.h>'.
36991 (gpt_partition_map_iterate): Adjust partition type comparison.
36992
36993 Export `entry' as partmap-specific `part.data' struct.
36994 (grub_gpt_header, grub_gpt_partentry): Move from here ...
36995
36996 * include/grub/gpt_partition.h (grub_gpt_header)
36997 (grub_gpt_partentry): ... to here (new file).
36998
36999 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
37000
37001 (grub_gpt_partition_type_bios_boot): New const variable, defined
37002 with macro from `<grub/gpt_partition.h>'.
37003
37004 (setup): Replace `first_start' with `embed_region', which keeps
37005 track of the embed region (and is partmap-agnostic).
37006
37007 Replace find_first_partition_start() with find_usable_region(),
37008 which finds a usable region for embedding using partmap-specific
37009 knowledge (supports PC/MSDOS and GPT).
37010
37011 Fix all assumptions that the embed region start at sector 1, using
37012 `embed_region.start' from now on. Similarly, use `embed_region.end'
37013 rather than `first_start' to calculate available size.
37014
37015 In grub_util_info() message, replace "into after the MBR" with an
37016 indication of the specific sector our embed region starts at.
37017
37018 2008-02-19 Robert Millan <rmh@aybabtu.com>
37019
37020 * DISTLIST: Replace `commands/ieee1275/halt.c' and
37021 `commands/ieee1275/reboot.c' with `commands/halt.c' and
37022 `commands/reboot.c'.
37023 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
37024 (halt_mod_SOURCES): Likewise.
37025 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
37026 (halt_mod_SOURCES): Likewise.
37027
37028 2008-02-17 Christian Franke <franke@computer.org>
37029
37030 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
37031
37032 2008-02-17 Robert Millan <rmh@aybabtu.com>
37033
37034 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
37035 set `first_start' to 0 for non-PC/MSDOS partition maps.
37036
37037 2008-02-16 Robert Millan <rmh@aybabtu.com>
37038
37039 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
37040 do not assume partition map is PC/MSDOS before performing checks that
37041 are specific to that layout.
37042
37043 2008-02-13 Robert Millan <rmh@aybabtu.com>
37044
37045 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
37046 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
37047 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
37048
37049 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
37050
37051 * configure.ac: Only a cosmetic change on the handling of
37052 -fno-stack-protector.
37053
37054 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
37055
37056 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
37057 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
37058 reboot.c.
37059 (grub_install_SOURCES): Add halt.mod and reboot.mod.
37060 (halt_mod_SOURCES): New variable.
37061 (halt_mod_CFLAGS): Likewise.
37062 (halt_mod_LDFLAGS): Likewise.
37063 (reboot_mod_SOURCES): Likewise.
37064 (reboot_mod_CFLAGS): Likewise.
37065 (reboot_mod_LDFLAGS): Likewise.
37066
37067 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
37068 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
37069 reboot.c.
37070 (halt_mod_SOURCES): Likewise.
37071 (reboot_mod_SOURCES): Likewise.
37072
37073 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
37074 commands/i386/pc/reboot.c by commands/reboot.c.
37075 (reboot_mod_SOURCES): Likewise.
37076
37077 * commands/i386/pc/reboot.c: merge this file ...
37078
37079 * commands/ieee1275/reboot.c: ... and this file ...
37080
37081 * commands/reboot.c: ... to this file.
37082 Add some precompiler directive to include the correct header for
37083 each machine.
37084
37085 * commands/ieee1275/halt.c: move this file ...
37086
37087 * commands/halt.c: ... to here.
37088 Add some precompiler directive to include the correct header for
37089 each machine.
37090
37091 * include/grub/efi/efi.h (grub_reboot): New function declaration.
37092 (grub_halt): Likewise.
37093
37094 * kern/efi/efi.c (grub_reboot): New function.
37095 (grub_halt): Likewise.
37096
37097 2008-02-12 Robert Millan <rmh@aybabtu.com>
37098
37099 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
37100 /dev (like it is done for /dev/mapper). This doesn't provide support
37101 for EVMS, but at least it is now easy to identify the problem when it
37102 arises.
37103
37104 2008-02-11 Robert Millan <rmh@aybabtu.com>
37105
37106 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
37107 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
37108 comparing it with -1, not 0.
37109
37110 2008-02-10 Robert Millan <rmh@aybabtu.com>
37111
37112 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
37113 `disk/lvm.c'.
37114 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37115 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
37116
37117 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
37118 `disk/lvm.c' to the end of the list.
37119 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37120 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
37121
37122 2008-02-10 Robert Millan <rmh@aybabtu.com>
37123
37124 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
37125 grub_print_error() instead. This will let user know why we're entering
37126 rescue mode.
37127 Based on suggestions from Sam Morris.
37128
37129 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
37130
37131 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
37132 on remaining N args, instead of "--" arg N times.
37133
37134 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
37135
37136 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
37137 (fill_with_default_glyph): Changed to use unknown_glyph for fill
37138 pattern for unknown glyphs.
37139
37140 2008-02-09 Robert Millan <rmh@aybabtu.com>
37141
37142 * configure.ac: Probe for `help2man'.
37143 * Makefile.in (builddir): New variable.
37144 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
37145 or otherwise add a few flags/options to it.
37146 (install-local): For every executable utility or script that is
37147 installed, invoke $(HELP2MAN) to install a manpage based on --help
37148 output.
37149
37150 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
37151 that it doesn't prevent --help from working in build tree.
37152
37153 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
37154 with `bug-grub@gnu.org'.
37155 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
37156 * util/update-grub.in (usage): New function.
37157 Implement proper argument check, with support for --help and --version
37158 (as well as existing -y).
37159
37160 2008-02-09 Christian Franke <franke@computer.org>
37161
37162 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
37163 avoid overwriting previous output.
37164 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
37165
37166 2008-02-09 Robert Millan <rmh@aybabtu.com>
37167
37168 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
37169 drawing the menu.
37170
37171 2008-02-09 Robert Millan <rmh@aybabtu.com>
37172
37173 * commands/sleep.c: New file.
37174 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
37175 (sleep_mod_SOURCES): New variable.
37176 (sleep_mod_CFLAGS): Likewise.
37177 (sleep_mod_LDFLAGS): Likewise.
37178
37179 2008-02-09 Robert Millan <rmh@aybabtu.com>
37180
37181 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
37182 situations in which we can deduce the RAID size and the superblock
37183 doesn't match it.
37184
37185 2008-02-09 Robert Millan <rmh@aybabtu.com>
37186
37187 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
37188 and return a grub_diskmemberlist_t composed of LVM physical volumes.
37189 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
37190
37191 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
37192 and return a grub_diskmemberlist_t composed of physical array members.
37193 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
37194
37195 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
37196 prototype.
37197 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
37198 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
37199 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
37200
37201 * util/grub-probe.c (probe): Move partmap probing code from here ...
37202 (probe_partmap): ... to here.
37203 (probe): Use probe_partmap() once for the disk we're probing, and
37204 additionally, when such disk contains a memberlist() struct member,
37205 once for each disk that is contained in the structure returned by
37206 memberlist().
37207
37208 2008-02-09 Robert Millan <rmh@aybabtu.com>
37209
37210 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
37211 environment variable to 'all' in order to obtain debug output from
37212 non-util/ code.
37213 * util/i386/pc/grub-setup.c (main): Likewise.
37214
37215 2008-02-08 Robert Millan <rmh@aybabtu.com>
37216
37217 * disk/raid.c (grub_raid_scan_device): Check for
37218 `array->device[sb.this_disk.number]' rather than for
37219 `array->device[sb.this_disk.number]->name', since the latter is not
37220 guaranteed to be accessible.
37221
37222 2008-02-08 Robert Millan <rmh@aybabtu.com>
37223
37224 * disk/raid.c: Update copyright.
37225 * fs/cpio.c: Likewise.
37226 * include/grub/raid.h: Likewise.
37227 * loader/i386/pc/multiboot.c: Likewise.
37228 * util/hostfs.c: Likewise.
37229
37230 2008-02-08 Robert Millan <rmh@aybabtu.com>
37231
37232 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
37233 to a grub_disk_t array.
37234 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
37235 `device[x]'.
37236 (grub_raid_scan_device): Replace `device[x].name' accesses with
37237 `device[x]->name'. Simplify initialization of `array->device[x]'.
37238
37239 2008-02-08 Robert Millan <rmh@aybabtu.com>
37240
37241 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
37242 grub_dprintf() calls.
37243 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
37244 error message.
37245
37246 2008-02-07 Christian Franke <franke@computer.org>
37247
37248 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
37249 instead of fseek and ftell to support large files.
37250 (grub_hostfs_read): Likewise.
37251
37252 2008-02-07 Robert Millan <rmh@aybabtu.com>
37253
37254 Patch from Jeroen Dekkers.
37255 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
37256 failure, since successfully reading all array members might not be
37257 required.
37258
37259 2008-02-06 Robert Millan <rmh@aybabtu.com>
37260
37261 * util/grub-probe.c (probe): Simplify partmap probing (with the
37262 assumption that the first word up to the underscore equals to
37263 the module name).
37264
37265 2008-02-06 Christian Franke <franke@computer.org>
37266
37267 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
37268 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
37269 last block of a cpio or tar stream.
37270 Check for "TRAILER!!!" instead of any empty data
37271 block to detect last block of a cpio stream.
37272 (grub_cpio_dir): Fix constness of variable np.
37273 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
37274 cpio or tar trailer is detected. This fixes a crash
37275 on open of a non existing file.
37276
37277 2008-02-05 Bean <bean123ch@gmail.com>
37278
37279 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
37280 address of entry.
37281 (grub_multiboot_load_elf64): Likewise.
37282 (grub_multiboot): Initialize mbi structure.
37283
37284 * util/grub-fstest.c: Don't include unused header file script.h.
37285
37286 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
37287 of file.
37288 (grub_fstest_SOURCES): Likewise.
37289
37290 2008-02-05 Robert Millan <rmh@aybabtu.com>
37291
37292 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
37293 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
37294 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
37295 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
37296
37297 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
37298 (translation_table): Replace hardcoded values with macros
37299 provided by `<grub/term.h>'.
37300
37301 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
37302 (keyboard_map): Correct/add a few values, with macros provided
37303 by `<grub/term.h>'.
37304 (keyboard_map_shift): Zero values that don't differ from their
37305 `keyboard_map' equivalents.
37306 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
37307 Discard the second scan code that is always sent by Caps lock.
37308 Only use `keyboard_map_shift' when it provides a non-zero value,
37309 otherwise fallback to `keyboard_map'.
37310
37311 2008-02-04 Bean <bean123ch@gmail.com>
37312
37313 * Makefile.in (enable_grub_fstest): New variable.
37314
37315 * conf/common.rmk (grub_fstest_init.lst): New rule.
37316 (grub_fstest_init.h): Likewise.
37317 (grub_fstest_init.c): Likewise.
37318 (util/grub-fstest.c_DEPENDENCIES): New variable.
37319 (grub_fstest_SOURCES): Likewise.
37320
37321 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
37322
37323 * util/grub-fstest.c: New file.
37324
37325 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
37326
37327 Make grub-setup handle a separate root device.
37328
37329 * util/i386/pc/grub-setup.c (setup): Always open the root device,
37330 so that the root device can be compared with the destination
37331 device.
37332 When embedding the core image, if the root and destination devices
37333 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
37334 0xFF.
37335 When not embedding, set ROOT_DRIVE to 0xFF.
37336
37337 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
37338
37339 Add support for having a grub directory in a different drive. This
37340 is still only the data handling part.
37341
37342 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
37343 (codestart): Save %dh in GRUB_ROOT_DRIVE.
37344 (grub_root_drive): New variable.
37345
37346 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
37347 instead of GRUB_BOOT_DRIVE to construct a device name. Set
37348 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
37349 as it was.
37350
37351 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
37352
37353 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
37354 macro.
37355 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
37356
37357 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
37358 is bogus, because PXE booting does not specify any drive
37359 correctly.
37360
37361 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
37362 am not sure if this is really correct.
37363
37364 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
37365 is always identical to the boot drive when booting from a CD.
37366
37367 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
37368 longer.
37369 (root_drive): New variable.
37370 (real_start): Unconditionally set %dh to ROOT_DRIVE.
37371 (setup_sectors): Push %dx right after popping it, because %dh will
37372 be modified later.
37373 (copy_buffer): Restore %dx.
37374
37375 2008-02-03 Robert Millan <rmh@aybabtu.com>
37376
37377 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
37378 use `cdboot.img' for cdrom images.
37379
37380 2008-02-03 Robert Millan <rmh@aybabtu.com>
37381
37382 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
37383 only setup gfxterm when `font' command has succeeded.
37384
37385 2008-02-03 Robert Millan <rmh@aybabtu.com>
37386
37387 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
37388 (grub_rescue_cmd_multiboot_loader)
37389 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
37390
37391 2008-02-03 Pavel Roskin <proski@gnu.org>
37392
37393 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
37394 %edx and %esi from stack only after grub_gate_a20() is called.
37395 grub_gate_a20() clobbers %edx.
37396
37397 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
37398
37399 * configure.ac (AC_INIT): Bumped to 1.96.
37400
37401 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
37402 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
37403 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
37404 video/readers/png.c.
37405
37406 2008-02-03 Bean <bean123ch@gmail.com>
37407
37408 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
37409 (cdboot_img_SOURCES): New variable.
37410 (cdboot_img_ASFLAGS): New variable.
37411 (cdboot_img_LDFLAGS): New variable.
37412
37413 * boot/i386/pc/cdboot.S: New file.
37414
37415 * disk/i386/pc/biosdisk.c (cd_start): New variable.
37416 (cd_count): Likewise.
37417 (grub_biosdisk_get_drive): Add support for cd device.
37418 (grub_biosdisk_call_hook): Likewise.
37419 (grub_biosdisk_iterate): Likewise.
37420 (grub_biosdisk_open): Likewise.
37421 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
37422 (grub_biosdisk_rw): Support reading from cd device.
37423 (GRUB_MOD_INIT): Iterate cd devices.
37424
37425 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
37426 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
37427 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
37428
37429 * kern/i386/pc/init.c (make_install_device): Check for cd device.
37430
37431 2008-02-02 Robert Millan <rmh@aybabtu.com>
37432
37433 * commands/read.c: New file.
37434 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
37435 (read_mod_SOURCES): New variable.
37436 (read_mod_CFLAGS): Likewise.
37437 (read_mod_LDFLAGS): Likewise.
37438
37439 2008-02-02 Robert Millan <rmh@aybabtu.com>
37440
37441 * normal/main.c (grub_normal_execute): Check for `menu->size' when
37442 determining whether menu has to be displayed.
37443
37444 2008-02-02 Marco Gerards <marco@gnu.org>
37445
37446 * bus/pci.c: New file.
37447
37448 * include/grub/pci.h: Likewise.
37449
37450 * include/grub/i386/pc/pci.h: Likewise.
37451
37452 * commands/lspci.c: Likewise.
37453
37454 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
37455 `lspci.mod'.
37456 (pci_mod_SOURCES): New variable.
37457 (pci_mod_CFLAGS): Likewise.
37458 (pci_mod_LDFLAGS): Likewise.
37459 (lspci_mod_SOURCES): Likewise.
37460 (lspci_mod_CFLAGS): Likewise.
37461 (lspci_mod_LDFLAGS): Likewise.
37462
37463 2008-02-02 Bean <bean123ch@gmail.com>
37464
37465 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
37466 (grub_ufs_get_file_block): Fix indirect block calculation problem.
37467
37468 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
37469 (grub_xfs_btree_node): New structure.
37470 (grub_xfs_btree_root): New structure.
37471 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
37472 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
37473 (GRUB_XFS_EXTENT_BLOCK): Likewise.
37474 (GRUB_XFS_EXTENT_SIZE): Likewise.
37475 (grub_xfs_read_block): Support btree format type.
37476 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
37477 Use directory block as basic unit.
37478
37479 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
37480
37481 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
37482 __attribute__ ((__regparm__ (1))).
37483
37484 2008-02-01 Robert Millan <rmh@aybabtu.com>
37485
37486 Correct a mistake in previous commit.
37487
37488 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
37489 top.
37490 (normal/command.c_DEPENDENCIES): New variable.
37491
37492 2008-02-01 Robert Millan <rmh@aybabtu.com>
37493
37494 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
37495 top.
37496 (normal/command.c_DEPENDENCIES): New variable.
37497 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
37498 * conf/i386-ieee1275.rmk: Likewise.
37499 * conf/i386-linuxbios.rmk: Likewise.
37500 * conf/i386-pc.rmk: Likewise.
37501 * conf/sparc64-ieee1275.rmk: Likewise.
37502 * conf/powerpc-ieee1275.rmk: Likewise.
37503 (grub_emu_SOURCES): Add `fs/fshelp.c'.
37504
37505 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
37506
37507 2008-02-01 Robert Millan <rmh@aybabtu.com>
37508
37509 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
37510 call at beginning of function.
37511
37512 2008-01-31 Pavel Roskin <proski@gnu.org>
37513
37514 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
37515 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
37516 (grub_mkrescue_SOURCES): Likewise.
37517 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
37518
37519 2008-01-30 Robert Millan <rmh@aybabtu.com>
37520
37521 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
37522 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
37523 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
37524 (grub_probe_SOURCES): ... to here.
37525
37526 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
37527 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
37528 * conf/i386-ieee1275.rmk: Likewise.
37529 * conf/i386-linuxbios.rmk: Likewise.
37530 * conf/powerpc-ieee1275.rmk: Likewise.
37531
37532 2008-01-30 Tristan Gingold <gingold@free.fr>
37533
37534 * kern/rescue.c: Silently accept empty lines.
37535
37536 2008-01-29 Bean <bean123ch@gmail.com>
37537
37538 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
37539 (real_code_2): Code cleanup and change comment style.
37540 (move_memory): Avoid using 32-bit address mode.
37541
37542 2008-01-29 Bean <bean123ch@gmail.com>
37543
37544 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
37545 (png_mod_SOURCES): New variable.
37546 (png_mod_CFLAGS): Likewise.
37547 (png_mod_LDFLAGS): Likewise.
37548
37549 * video/readers/png.c: New file.
37550
37551 2008-01-28 Robert Millan <rmh@aybabtu.com>
37552
37553 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
37554 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
37555 `ifndef GRUB_MOD_GAP' hack.
37556 * util/elf/grub-mkimage.c (add_segments): Likewise.
37557
37558 2008-01-27 Robert Millan <rmh@aybabtu.com>
37559
37560 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
37561 `GRUB_MOD_GAP' for platforms in which it's not defined.
37562 * util/elf/grub-mkimage.c (add_segments): Likewise.
37563
37564 2008-01-27 Robert Millan <rmh@aybabtu.com>
37565
37566 Get grub-emu to build again (including parallel builds).
37567
37568 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
37569 Split into ...
37570 (util/grub-emu.c_DEPENDENCIES): ... this, ...
37571 (normal/execute.c_DEPENDENCIES): ... this, ...
37572 (grub-emu_DEPENDENCIES): ... and this.
37573
37574 * conf/i386-efi.rmk: Likewise.
37575 * conf/i386-linuxbios.rmk: Likewise.
37576 * conf/i386-ieee1275.rmk: Likewise.
37577 * conf/powerpc-ieee1275.rmk: Likewise.
37578 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
37579
37580 2008-01-27 Robert Millan <rmh@aybabtu.com>
37581
37582 * NEWS: Add a few items.
37583
37584 2008-01-27 Robert Millan <rmh@aybabtu.com>
37585
37586 Fix parallel builds with grub-emu. Based on earlier commit for
37587 grub-probe and grub-setup.
37588
37589 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37590 (util/grub-emu.c_DEPENDENCIES): ... this.
37591 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37592 (util/grub-emu.c_DEPENDENCIES): ... this.
37593 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37594 (util/grub-emu.c_DEPENDENCIES): ... this.
37595 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37596 (util/grub-emu.c_DEPENDENCIES): ... this.
37597 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37598 (util/grub-emu.c_DEPENDENCIES): ... this.
37599
37600 2008-01-27 Pavel Roskin <proski@gnu.org>
37601
37602 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
37603 to create a gap between _end and the modules added to the image
37604 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
37605 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
37606 * util/elf/grub-mkimage.c (add_segments): Likewise.
37607
37608 2008-01-26 Pavel Roskin <proski@gnu.org>
37609
37610 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
37611 just return an error.
37612
37613 2008-01-26 Bean <bean123ch@gmail.com>
37614
37615 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
37616 (grub_reiserfs_get_item): Save offset of the next item.
37617 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
37618
37619 2008-01-25 Robert Millan <rmh@aybabtu.com>
37620
37621 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
37622 make all filesystem sources appear together (possibly fixing omissions
37623 while at it).
37624 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37625 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37626 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37627 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37628
37629 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
37630 add `kern/file.c'.
37631 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
37632 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
37633 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
37634 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
37635
37636 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
37637 (probe): Add a sanity check to make sure of our ability to read
37638 requested files when probing for filesystem type.
37639
37640 * genmk.rb: Update copyright year (2007).
37641
37642 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
37643 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
37644 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
37645 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
37646 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
37647 : Remove function prototypes.
37648
37649 2008-01-25 Robert Millan <rmh@aybabtu.com>
37650
37651 Revert my previous commits (based on wrong assumption of how grub_errno
37652 works).
37653
37654 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
37655 * kern/file.c (grub_file_open): Likewise.
37656
37657 2008-01-24 Pavel Roskin <proski@gnu.org>
37658
37659 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
37660 that hang if GRUB tries to setup colors.
37661 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
37662 colors for firmwares that don't support it.
37663 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
37664 Recognize Open Hack'Ware, set flags to work around its
37665 limitations.
37666
37667 2008-01-24 Robert Millan <rmh@aybabtu.com>
37668
37669 * kern/file.c (grub_file_open): Do not account previous failures of
37670 unrelated functions when grub_errno is checked for.
37671 Reported by Oleg Strikov.
37672
37673 2008-01-24 Bean <bean123ch@gmail.com>
37674
37675 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
37676 (grub_ufs_sblock): New member volume name.
37677 (grub_ufs_find_file): Fix string copy bug.
37678 (grub_ufs_label): Implement this function properly.
37679
37680 * fs/hfs.c (grub_hfs_cnid_type): New enum.
37681 (grub_hfs_iterate_records): Use the correct file number for extents
37682 and catalog file. Fix problem in next index calculation.
37683 (grub_hfs_find_node): Replace recursive function call with loop.
37684 (grub_hfs_iterate_dir): Replace recursive function call with loop.
37685
37686 2008-01-23 Robert Millan <rmh@aybabtu.com>
37687
37688 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
37689 `<grub/symbol.h>' and `<grub/multiboot.h>'.
37690 (grub_multiboot2_real_boot): New function prototype.
37691
37692 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
37693 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
37694
37695 * kern/i386/ieee1275/init.c (grub_os_area_addr)
37696 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
37697
37698 2008-01-23 Robert Millan <rmh@aybabtu.com>
37699
37700 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
37701 #ifdef'ed out grub_printf().
37702
37703 2008-01-23 Robert Millan <rmh@aybabtu.com>
37704
37705 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
37706 grub_dprintf calls, since they make "debug=all" mode unusable.
37707 (grub_console_checkkey): Likewise.
37708
37709 2008-01-23 Robert Millan <rmh@aybabtu.com>
37710
37711 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
37712 `term/i386/pc/at_keyboard.c'.
37713 (pkglib_MODULES): Add `serial.mod'.
37714 (serial_mod_SOURCES): New variable.
37715 (serial_mod_CFLAGS): Likewise.
37716 (serial_mod_LDFLAGS): Likewise.
37717
37718 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
37719 `<grub/powerpc/ieee1275/console.h>'.
37720 (grub_keyboard_controller_init): New function prototype.
37721 (grub_console_checkkey): Likewise.
37722 (grub_console_getkey): Likewise.
37723
37724 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
37725 keyboard on i386.
37726
37727 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
37728 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
37729
37730 2008-01-23 Robert Millan <rmh@aybabtu.com>
37731
37732 * kern/i386/pc/init.c (make_install_device): When memdisk image is
37733 present, "(memdisk)/boot/grub" becomes the default prefix.
37734
37735 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
37736 a memdisk tarball with all the modules. Add --overlay=DIR option that
37737 allows users to overlay additional files into the image.
37738
37739 2008-01-23 Robert Millan <rmh@aybabtu.com>
37740
37741 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
37742 and `machine/memory.h'.
37743 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
37744 (_multiboot_mod_SOURCES): New variable.
37745 (_multiboot_mod_CFLAGS): Likewise.
37746 (_multiboot_mod_LDFLAGS): Likewise.
37747 (multiboot_mod_SOURCES): Likewise.
37748 (multiboot_mod_CFLAGS): Likewise.
37749 (multiboot_mod_LDFLAGS): Likewise.
37750
37751 * include/grub/i386/ieee1275/loader.h: New file.
37752
37753 * include/grub/i386/ieee1275/machine.h: Likewise.
37754
37755 * include/grub/i386/ieee1275/memory.h: Likewise.
37756
37757 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
37758 variable declaration.
37759 (grub_os_area_size): Likewise.
37760
37761 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
37762 (grub_lower_mem, grub_upper_mem): New variables.
37763 (grub_stop_floppy): New function (just to make
37764 grub_multiboot2_real_boot() happy).
37765
37766 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
37767 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
37768 (grub_stop): New function.
37769 Include `"../realmode.S"' and `"../loader.S"'.
37770
37771 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
37772 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
37773
37774 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
37775 rely on grub_multiboot2_real_boot() for final boot.
37776
37777 2008-01-22 Robert Millan <rmh@aybabtu.com>
37778
37779 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
37780 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
37781 device that doesn't look like an SD card.
37782 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
37783 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
37784 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
37785 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
37786 found.
37787
37788 2008-01-22 Robert Millan <rmh@aybabtu.com>
37789
37790 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
37791 avoid claiming over our own code.
37792
37793 2008-01-22 Bean <bean123ch@gmail.com>
37794
37795 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
37796 (jpeg_mod_SOURCES): New variable.
37797 (jpeg_mod_CFLAGS): Likewise.
37798 (jpeg_mod_LDFLAGS): Likewise.
37799
37800 * video/readers/jpeg.c : New file.
37801
37802 2008-01-22 Bean <bean123ch@gmail.com>
37803
37804 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
37805 there are no more items.
37806
37807 2008-01-21 Robert Millan <rmh@aybabtu.com>
37808
37809 * kern/mm.c (grub_mm_init_region): Improve debug message.
37810
37811 2008-01-21 Robert Millan <rmh@aybabtu.com>
37812
37813 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
37814 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
37815 address.
37816 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
37817 a C macro.
37818 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
37819 Indicates start of upper memory.
37820 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
37821 (generate_image): Abort when image size is big enough to corrupt
37822 upper memory.
37823
37824 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
37825 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
37826 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
37827 instead of hardcoding 0xA0000.
37828 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
37829 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
37830 instead of hardcoding 0xA0000.
37831
37832 2008-01-21 Robert Millan <rmh@aybabtu.com>
37833
37834 * disk/memdisk.c (memdisk_size): New variable.
37835 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
37836 `memdisk_size'.
37837 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
37838 image to dynamic memory.
37839 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
37840 `memdisk_size'. Free memdisk block.
37841
37842 2008-01-21 Robert Millan <rmh@aybabtu.com>
37843
37844 Fix detection of very small filesystems (like tar).
37845
37846 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
37847 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
37848 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
37849 a problem with this disk).
37850
37851 2008-01-21 Robert Millan <rmh@aybabtu.com>
37852
37853 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
37854 on grub_biosdisk_rw_standard() error.
37855
37856 2008-01-21 Robert Millan <rmh@aybabtu.com>
37857
37858 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
37859 recent changes.
37860 * kern/elf.c: Likewise.
37861 * kern/ieee1275/ieee1275.c: Likewise.
37862 * kern/powerpc/ieee1275/openfw.c: Likewise.
37863 * term/ieee1275/ofconsole.c: Likewise.
37864
37865 2008-01-21 Robert Millan <rmh@aybabtu.com>
37866
37867 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
37868
37869 * include/grub/kernel.h (grub_arch_memdisk_addr)
37870 (grub_arch_memdisk_size): Moved from here ...
37871
37872 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
37873 (grub_arch_memdisk_size): ... to here.
37874
37875 2008-01-21 Robert Millan <rmh@aybabtu.com>
37876
37877 Mostly based on bugfix from Bean.
37878
37879 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
37880 attribute with hook() parameter.
37881 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
37882 declaration.
37883 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
37884 attribute with hook() parameter.
37885 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
37886 declaration.
37887
37888 2008-01-21 Robert Millan <rmh@aybabtu.com>
37889
37890 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
37891 (pkglib_MODULES): Add `memdisk.mod'.
37892 (memdisk_mod_SOURCES): New variable.
37893 (memdisk_mod_CFLAGS): Likewise.
37894 (memdisk_mod_LDFLAGS): Likewise.
37895
37896 * disk/memdisk.c: New file.
37897
37898 * include/grub/disk.h (grub_disk_dev_id): Add
37899 `GRUB_DISK_DEVICE_MEMDISK_ID'.
37900
37901 * include/grub/i386/pc/kernel.h
37902 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
37903 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
37904 (grub_kernel_image_size): New variable declaration.
37905 (grub_total_module_size): Likewise.
37906 (grub_memdisk_image_size): Likewise.
37907
37908 * include/grub/i386/pc/memory.h
37909 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
37910
37911 * include/grub/kernel.h: Include `<grub/symbol.h>'.
37912 (grub_arch_memdisk_addr): New variable declaration.
37913 (grub_arch_memdisk_size): Likewise.
37914
37915 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
37916 (grub_arch_memdisk_size): Likewise.
37917
37918 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
37919 (codestart): Replace hardcoded `0x100000' with
37920 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
37921
37922 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
37923 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
37924 not NULL, append the contents of the file it refers to, at the end of
37925 the compressed kernel image. Initialize `grub_memdisk_image_size'
37926 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
37927 (options): Add "memdisk"|'m' option.
37928 (main): Parse --memdisk|-m option, and pass user-provided path as
37929 parameter to generate_image().
37930
37931 2008-01-20 Robert Millan <rmh@aybabtu.com>
37932
37933 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
37934 grub_dprintf() calls from here ...
37935 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
37936
37937 2008-01-20 Robert Millan <rmh@aybabtu.com>
37938
37939 Fix detection of "real mode" when /options/real-mode? doesn't exist.
37940
37941 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
37942 declaration.
37943 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
37944 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
37945 `GRUB_IEEE1275_FLAG_REAL_MODE'.
37946 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
37947 property).
37948 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
37949 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
37950
37951 2008-01-19 Robert Millan <rmh@aybabtu.com>
37952
37953 Get rid of confusing function (superseded by
37954 `grub_ieee1275_get_integer_property')
37955 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
37956 prototype.
37957 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
37958 function.
37959 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
37960 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
37961 in native endianness from grub_ieee1275_get_integer_property().
37962
37963 2008-01-19 Robert Millan <rmh@aybabtu.com>
37964
37965 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
37966 command after "shut-down", since implementations differ on which
37967 the command for halt is.
37968
37969 2008-01-19 Robert Millan <rmh@aybabtu.com>
37970
37971 * include/grub/i386/linuxbios/console.h: Add header protection.
37972 (grub_keyboard_controller_init): New function prototype.
37973 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
37974 (KEYBOARD_COMMAND_READ): Likewise.
37975 (KEYBOARD_COMMAND_WRITE): Likewise.
37976 (KEYBOARD_SCANCODE_SET1): Likewise.
37977 (grub_keyboard_controller_write): New function.
37978 (grub_keyboard_controller_read): Likewise.
37979 (grub_keyboard_controller_init): Likewise.
37980
37981 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
37982 (grub_console_init): On coreboot/LinuxBIOS, call
37983 grub_keyboard_controller_init().
37984
37985 2008-01-19 Robert Millan <rmh@aybabtu.com>
37986
37987 PowerPC changes provided by Pavel Roskin.
37988
37989 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
37990 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
37991 don't rely on cmain() doing it.
37992 * kern/i386/ieee1275/startup.S (_start): Store %eax in
37993 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
37994
37995 2008-01-16 Robert Millan <rmh@aybabtu.com>
37996
37997 * include/grub/i386/linuxbios/memory.h
37998 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
37999 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
38000 receive `table_header' as argument. Instead, probe for it in the
38001 known memory ranges where it can be present.
38002 (grub_available_iterate): Do not pass a fixed `table_header' address
38003 to grub_linuxbios_table_iterate().
38004
38005 2008-01-15 Robert Millan <rmh@aybabtu.com>
38006
38007 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
38008 * conf/i386-ieee1275.rmk: New file.
38009 * include/grub/i386/ieee1275/console.h: Likewise.
38010 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
38011 * include/grub/i386/ieee1275/kernel.h: Likewise.
38012 * include/grub/i386/ieee1275/time.h: Likewise.
38013 * kern/i386/ieee1275/init.c: Likewise.
38014 * kern/i386/ieee1275/startup.S: Likewise.
38015
38016 2008-01-15 Robert Millan <rmh@aybabtu.com>
38017
38018 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
38019 when pointers are 32-bit (but still do set it to one when they are
38020 64-bit).
38021
38022 2008-01-15 Robert Millan <rmh@aybabtu.com>
38023
38024 * include/grub/ieee1275/ieee1275.h
38025 (grub_ieee1275_get_integer_property): New function prototype.
38026
38027 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
38028 (grub_ieee1275_get_integer_property): New function. Wraps around
38029 grub_ieee1275_get_property() to handle endianness.
38030
38031 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
38032 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
38033 where appropriate.
38034 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
38035 (grub_map): Likewise.
38036 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
38037
38038 2008-01-15 Bean <bean123ch@gmail.com>
38039
38040 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
38041 (grub_script_execute_cmdline): Reset grub_errno.
38042
38043 * normal/main.c (read_config_file): Reset grub_errno.
38044
38045 * normal/parse.y (script_init): New.
38046 (script): Move function and menuentry here.
38047 (delimiter): New.
38048 (command): Add delimiter at the end of command.
38049 (commands): Adjust to match the new command.
38050 (commandblock): Remove grub_script_lexer_record_start.
38051 (menuentry): Add grub_script_lexer_record_start, use the new commands.
38052 (if): Use the new commands.
38053
38054 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
38055
38056 2008-01-15 Robert Millan <rmh@aybabtu.com>
38057
38058 * normal/menu.c (run_menu): Move timeout message from here ...
38059 (print_timeout): ... to here.
38060 (run_menu): Use print_timeout() once during initial draw to print
38061 the whole message, and again in every clock tick to update only
38062 the number of seconds.
38063
38064 2008-01-15 Robert Millan <rmh@aybabtu.com>
38065
38066 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
38067 actual size of `available' from grub_ieee1275_get_property(), and
38068 restrict parsing to that bound.
38069
38070 2008-01-15 Christian Franke <franke@computer.org>
38071
38072 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
38073 (argp_program_version): Remove variable.
38074 (argp_program_bug_address): Likewise.
38075 (options): Convert from struct argp_option to struct option.
38076 (struct arguments): Remove.
38077 (parse_opt): Remove.
38078 (usage): New function.
38079 (main): Replace struct args members by simple variables.
38080 Replace argp_parse() by getopt_long().
38081 Add switch to evaluate options.
38082 Add missing "(...)" around root_dev in prefix string.
38083
38084 2008-01-14 Robert Millan <rmh@aybabtu.com>
38085
38086 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
38087 for grub_ieee1275_exit(), in order to improve portability.
38088
38089 2008-01-14 Robert Millan <rmh@aybabtu.com>
38090
38091 * util/grub.d/10_linux.in (prefix): Define.
38092 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
38093
38094 2008-01-13 Pavel Roskin <proski@gnu.org>
38095
38096 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
38097 grub_errno if no errors have been detected.
38098
38099 2008-01-12 Robert Millan <rmh@aybabtu.com>
38100
38101 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
38102 (grub_util_get_dev_abstraction): New function prototype.
38103
38104 * util/getroot.c: Include `<grub/util/getroot.h>'
38105 (grub_util_get_grub_dev): Move detection of abstraction type to ...
38106 (grub_util_get_dev_abstraction): ... here (new function).
38107
38108 * util/grub-probe.c: Convert PRINT_* to an enum. Add
38109 `PRINT_ABSTRACTION'.
38110 (probe): Probe for abstraction type when requested.
38111 (main): Understand `--target=abstraction'.
38112
38113 * util/i386/efi/grub-install.in: Add abstraction module to core
38114 image when it is found to be necessary.
38115 * util/i386/pc/grub-install.in: Likewise.
38116 * util/powerpc/ieee1275/grub-install.in: Likewise.
38117
38118 * util/update-grub_lib.in (font_path): Return system path without
38119 converting to GRUB path.
38120 * util/update-grub.in: Convert system path returned by font_path()
38121 to a GRUB path. Use `grub-probe -t abstraction' to determine what
38122 abstraction module is needed for loading fonts (if any). Export
38123 that as `GRUB_PRELOAD_MODULES'.
38124 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
38125 insmod commands).
38126
38127 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
38128
38129 Remove some unused code from reiserfs.
38130
38131 * fs/reiserfs.c (struct grub_reiserfs_key)
38132 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
38133 (struct grub_reiserfs_node_body): Removed.
38134 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
38135 Likewise.
38136 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
38137 Likewise.
38138 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
38139 Likewise.
38140 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
38141 Likewise.
38142 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
38143 Likewise.
38144 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
38145 Likewise.
38146 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
38147 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
38148 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
38149
38150 2008-01-10 Robert Millan <rmh@aybabtu.com>
38151
38152 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
38153 Determines if a file is garbage left by packaging systems, etc.
38154 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
38155 for processing /etc/grub.d scripts.
38156 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
38157 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
38158 as a condition for processing Linux images.
38159
38160 2008-01-10 Pavel Roskin <proski@gnu.org>
38161
38162 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
38163 to compile reiserfs.c on PowerPC.
38164
38165 2008-01-10 Robert Millan <rmh@aybabtu.com>
38166
38167 * kern/device.c (grub_device_iterate): Do not abort device iteration
38168 when one of the devices cannot be opened.
38169 * kern/disk.c (grub_disk_open): Do not account previous failures of
38170 unrelated functions when grub_errno is checked for.
38171
38172 2008-01-08 Robert Millan <rmh@aybabtu.com>
38173
38174 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
38175 `! grub_linux_is_bzimage', change order of address comparison to make
38176 it more intuitive, and improve "too big zImage" error message.
38177
38178 2008-01-08 Robert Millan <rmh@aybabtu.com>
38179
38180 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
38181 `$(update-grub_DATA)'.
38182 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
38183 targets.
38184
38185 2008-01-07 Robert Millan <rmh@aybabtu.com>
38186
38187 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
38188 which instruction is modified by grub-setup during installation
38189 (since it wasn't obvious by only looking at this file).
38190
38191 2008-01-07 Robert Millan <rmh@aybabtu.com>
38192
38193 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
38194 listing actual TODO items.
38195
38196 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
38197
38198 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
38199 correctly.
38200 (grub_reiserfs_get_key_offset): Likewise.
38201 (grub_reiserfs_set_key_offset): Likewise.
38202 (grub_reiserfs_set_key_type): Likewise.
38203 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
38204
38205 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
38206 better to remove the bitfield version completely.
38207
38208 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
38209
38210 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
38211 allocated from the heap, due to the fshelp implementation.
38212 (grub_reiserfs_dir): Free NODE, due to the same reason.
38213
38214 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
38215
38216 Mostly from Vincent Pelletier:
38217
38218 * fs/reiserfs.c: New file.
38219
38220 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
38221 (reiserfs_mod_SOURCES): New variable.
38222 (reiserfs_mod_CFLAGS): Likewise.
38223 (reiserfs_mod_LDFLAGS): Likewise.
38224
38225 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
38226 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
38227 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
38228 normal/color.c.
38229
38230 2008-01-06 Robert Millan <rmh@aybabtu.com>
38231
38232 * normal/color.c: Remove `<grub/env.h>'.
38233
38234 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
38235
38236 * include/grub/normal.h: Include <grub/env.h>.
38237
38238 2008-01-05 Robert Millan <rmh@aybabtu.com>
38239
38240 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
38241 usage example with `(hd0,1)'.
38242 Reported by Samuel Thibault.
38243
38244 2008-01-05 Robert Millan <rmh@aybabtu.com>
38245
38246 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
38247 (grub_linux_boot_zimage): Rename to ...
38248 (grub_linux_boot): ... this.
38249 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
38250 (grub_linux_boot_zimage): Conditionalize zImage copy.
38251
38252 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
38253 (grub_linux_boot_bzimage): Remove prototype.
38254 (grub_linux_boot_zimage): Rename to ...
38255 (grub_linux_boot): ... this.
38256
38257 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
38258 (grub_linux_boot): Remove function.
38259
38260 2008-01-05 Robert Millan <rmh@aybabtu.com>
38261
38262 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
38263 (grub_env_write_color_highlight): Likewise.
38264 (grub_wait_after_message): Likewise.
38265
38266 * normal/color.c: New file.
38267
38268 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38269 (normal_mod_DEPENDENCIES): Likewise.
38270
38271 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38272 (normal_mod_DEPENDENCIES): Likewise.
38273
38274 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38275 (normal_mod_DEPENDENCIES): Likewise.
38276
38277 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38278 (normal_mod_DEPENDENCIES): Likewise.
38279
38280 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
38281 for waiting after a message is printed.
38282 * normal/main.c (read_config_file): Likewise.
38283 (grub_normal_init): Register grub_env_write_color_normal() and
38284 grub_env_write_color_highlight() hooks. Mark `color_normal' and
38285 `color_highlight' variables as global.
38286
38287 * normal/menu.c (grub_wait_after_message): New function.
38288 (grub_color_menu_normal): New variable. Replaces ...
38289 (GRUB_COLOR_MENU_NORMAL): ... this macro.
38290 (grub_color_menu_highlight): New variable. Replaces ...
38291 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
38292 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
38293 `GRUB_TERM_COLOR_STANDARD'.
38294 (print_message): Use `grub_setcolorstate' to reload colors. Rename
38295 `normal_code' and `highlight_code' to `old_color_normal' and
38296 `old_color_highlight', respectively.
38297 (grub_menu_init_page): Update colors when drawing the menu, based on
38298 `menu_color_normal' and `menu_color_highlight' variables.
38299 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
38300 a message is printed.
38301
38302 2008-01-05 Robert Millan <rmh@aybabtu.com>
38303
38304 * kern/env.c (grub_env_context_open): Propagate hooks for global
38305 variables to new context.
38306
38307 * kern/main.c (grub_set_root_dev): Export `root' variable.
38308
38309 2008-01-05 Robert Millan <rmh@aybabtu.com>
38310
38311 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
38312 discs unconditionally, since udev and others have options to provide
38313 them.
38314
38315 2008-01-05 Robert Millan <rmh@aybabtu.com>
38316
38317 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
38318
38319 2008-01-04 Christian Franke <franke@computer.org>
38320
38321 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
38322 of eisa_mmap.
38323
38324 2008-01-03 Pavel Roskin <proski@gnu.org>
38325
38326 * kern/i386/linuxbios/init.c: Put "void" to all function
38327 declarations with no arguments.
38328 * kern/powerpc/ieee1275/init.c: Likewise.
38329 * term/i386/pc/at_keyboard.c: Likewise.
38330 * term/i386/pc/vga_text.c: Likewise.
38331 * util/grub-mkdevicemap.c: Likewise.
38332
38333 2008-01-02 Robert Millan <rmh@aybabtu.com>
38334
38335 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
38336 message when loaded image is out of bounds.
38337 (grub_multiboot_load_elf64): Likewise.
38338
38339 2008-01-02 Pavel Roskin <proski@gnu.org>
38340
38341 * util/grub.d/10_linux.in: Try version without ".old" when
38342 looking for initrd. It's better to use initrd from the newer
38343 kernel of the same version than no initrd at all.
38344
38345 2008-01-01 Robert Millan <rmh@aybabtu.com>
38346
38347 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
38348
38349 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
38350
38351 * include/grub/video.h: Added grub_video_unmap_color and
38352 grub_video_get_active_render_target.
38353 (grub_video_adapter): Added unmap_color and get_active_render_target.
38354
38355 * video/video.c: Added grub_video_unmap_color and
38356 grub_video_get_active_render_target.
38357 (grub_video_get_info): Changed method to accept NULL pointer as an
38358 argument to allow detection of active video adapter.
38359
38360 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
38361 grub_video_vbe_unmap_color_int.
38362 Added grub_video_vbe_unmap_color and
38363 grub_video_vbe_get_active_render_target.
38364 (grub_video_vbe_adapter): Added unmap_color and
38365 get_active_render_target.
38366
38367 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
38368 with grub_video_vbe_unmap_color_int.
38369
38370 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
38371 (DEFAULT_NORMAL_COLOR): Likewise.
38372 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
38373 (DEFAULT_FG_COLOR): Removed.
38374 (DEFAULT_BG_COLOR): Likewise.
38375 (DEFAULT_CURSOR_COLOR): Changed value.
38376 (grub_virtual_screen): Added standard_color_setting,
38377 normal_color_setting, highlight_color_setting and term_color.
38378 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
38379 (bitmap_width): Added.
38380 (bitmap_height): Likewise.
38381 (bitmap): Likewise.
38382 (set_term_color): Likewise.
38383 (grub_virtual_screen_setup): Changed to use new terminal coloring
38384 settings.
38385 (grub_gfxterm_init): Added init for bitmap.
38386 (grub_gfxterm_fini): Added destroy for bitmap.
38387 (redraw_screen_rect): Updated to use background bitmap and new
38388 terminal coloring.
38389 (scroll_up): Added optimization for case when there is no bitmap.
38390 (grub_gfxterm_cls): Fixed to use correct background color.
38391 (grub_virtual_screen_setcolorstate): Changed to use new terminal
38392 coloring.
38393 (grub_virtual_screen_setcolor): Likewise.
38394 (grub_virtual_screen_getcolor): Added.
38395 (grub_gfxterm_background_image_cmd): Likewise.
38396 (grub_video_term): Added setcolor and getcolor.
38397 (MOD_INIT): Added registration of background_image command.
38398 (MOD_TERM): Added unregistration for background_image command.
38399
38400 2007-12-30 Pavel Roskin <proski@gnu.org>
38401
38402 * loader/multiboot_loader.c: Fix multiboot command
38403 unregistration. Fix all typos in the word "multiboot".
38404
38405 2007-12-29 Pavel Roskin <proski@gnu.org>
38406
38407 * util/grub.d/10_linux.in: Refactor search for initrd. Add
38408 support for initrd names used in Fedora.
38409
38410 2007-12-26 Bean <bean123ch@gmail.com>
38411
38412 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
38413 (cpio_mod_SOURCES): New variable.
38414 (cpio_mod_CFLAGS): Likewise.
38415 (cpio_mod_LDFLAGS): Likewise.
38416
38417 * fs/cpio.c: New file.
38418
38419 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
38420
38421 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38422
38423 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
38424
38425 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38426
38427 2007-12-25 Robert Millan <rmh@aybabtu.com>
38428
38429 * include/grub/term.h (struct grub_term): Add `getcolor' function.
38430 (grub_getcolor): New function.
38431
38432 * kern/term.c (grub_getcolor): New function.
38433 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
38434 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
38435 (print_entry): Set normal and highlight colors to
38436 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
38437 respectively, before printing and restore them to old
38438 values afterwards.
38439 (grub_menu_init_page): Likewise. Fill an additional colored space
38440 that would otherwise be left blank.
38441
38442 * term/efi/console.c (grub_console_getcolor): New function.
38443 (struct grub_console_term.getcolor): New variable.
38444 * term/i386/pc/console.c (grub_console_getcolor): New function.
38445 (struct grub_console_term.getcolor): New variable.
38446 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
38447 (struct grub_console_term.getcolor): New variable.
38448
38449 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
38450 (struct grub_console_term.setcolor): Remove variable.
38451 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
38452 (struct grub_console_term.setcolor): Remove variable.
38453 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
38454 (struct grub_console_term.setcolor): Remove variable.
38455 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
38456 (struct grub_console_term.setcolor): Remove variable.
38457
38458 2007-12-25 Robert Millan <rmh@aybabtu.com>
38459
38460 * configure.ac: Search for possible unifont.hex locations, and
38461 define UNIFONT_HEX if found.
38462
38463 * Makefile.in (UNIFONT_HEX): Define variable.
38464 (DATA): Rename to ...
38465 (PKGLIB): ... this. Update all users.
38466 (PKGDATA): New variable.
38467 (pkgdata_IMAGES): Rename to ...
38468 (pkglib_IMAGES): ... this. Update all users.
38469 (pkgdata_MODULES): Rename to ...
38470 (pkglib_MODULES): ... this. Update all users.
38471 (pkgdata_PROGRAMS): Rename to ...
38472 (pkglib_PROGRAMS): ... this. Update all users.
38473 (pkgdata_DATA): Rename to ...
38474 (pkglib_DATA): ... this. Update all users.
38475 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
38476 (unicode.pff, ascii.pff): New rules.
38477 (all-local): Add `$(PKGDATA)' dependency.
38478 (install-local): Process `$(PKGDATA)'.
38479
38480 * util/update-grub_lib.in (font_path): Search for *.pff files in
38481 a few more locations, including `${pkgdata}'.
38482
38483 2007-12-23 Robert Millan <rmh@aybabtu.com>
38484
38485 Patch from Bean <bean123ch@gmail.com>:
38486 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
38487 `size'.
38488
38489 2007-12-21 Bean <bean123ch@gmail.com>
38490
38491 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
38492 (ntfscomp_mod_SOURCES): New variable.
38493 (ntfscomp_mod_CFLAGS): Likewise.
38494 (ntfscomp_mod_LDFLAGS): Likewise.
38495
38496 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
38497 (grub_probe_SOURCES): Likewise.
38498 (grub_emu_SOURCES): Likewise.
38499
38500 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
38501 (grub_emu_SOURCES): Likewise.
38502
38503 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
38504 (grub_emu_SOURCES): Likewise.
38505
38506 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
38507 (grub_emu_SOURCES): Likewise.
38508
38509 * fs/ntfs.c (grub_ntfscomp_func): New variable.
38510 (read_run_list): Renamed to grub_ntfs_read_run_list.
38511 (decomp_nextvcn): Moved to ntfscomp.c.
38512 (decomp_getch): Likewise.
38513 (decomp_get16): Likewise.
38514 (decomp_block): Likewise.
38515 (read_block): Likewise.
38516 (read_data): Partially moved to ntfscomp.c.
38517 (fixup): Change unsigned to grub_uint16_t.
38518 (read_mft): Change unsigned long to grub_uint32_t.
38519 (read_attr): Likewise.
38520 (read_data): Likewise.
38521 (read_run_data): Likewise.
38522 (read_run_list): Likewise.
38523 (read_mft): Likewise.
38524
38525 * fs/ntfscomp.c: New file.
38526
38527 * include/grub/ntfs.h: New file.
38528
38529 2007-12-16 Robert Millan <rmh@aybabtu.com>
38530
38531 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
38532 IDE disk check, since Linux is known to support 20 IDE disks.
38533 Reported by Colin Watson.
38534
38535 2007-12-15 Bean <bean123ch@gmail.com>
38536
38537 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
38538 (lnxboot_img_SOURCES): New variable.
38539 (lnxboot_img_ASFLAGS): Likewise.
38540 (lnxboot_img_LDFLAGS): Likewise.
38541
38542 * boot/i386/pc/lnxboot.S: New file.
38543
38544 2007-11-24 Pavel Roskin <proski@gnu.org>
38545
38546 * configure.ac: Test if '--build-id=none' is supported by the
38547 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
38548 objcopy to generate incorrect binary files (binutils
38549 2.17.50.0.18-1 as shipped by Fedora 8).
38550 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
38551 linking, so that build ID doesn't break the test.
38552
38553 2007-11-24 Pavel Roskin <proski@gnu.org>
38554
38555 * include/grub/i386/time.h: use "void" in the argument list
38556 of grub_cpu_idle().
38557 * include/grub/powerpc/time.h: Likewise.
38558 * include/grub/sparc64/time.h: Likewise.
38559
38560 2007-11-18 Christian Franke <franke@computer.org>
38561
38562 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
38563 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
38564 This fixes the problem that function keys did not work in grub-emu.
38565
38566 2007-11-18 Christian Franke <franke@computer.org>
38567
38568 * disk/host.c (grub_host_open): Remove attribute unused from
38569 name parameter. Add check for "host". This fixes the problem
38570 that grub-emu does not find partitions.
38571
38572 2007-11-18 Christian Franke <franke@computer.org>
38573
38574 * util/hostfs.c (is_dir): New function.
38575 (grub_hostfs_dir): Handle missing dirent.d_type case.
38576 (grub_hostfs_read): Add missing fseek().
38577 (grub_hostfs_label): Clear label pointer. This fixes a crash
38578 of grub-emu on "ls (host)".
38579
38580 2007-11-18 Christian Franke <franke@computer.org>
38581
38582 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
38583 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
38584 to 64 bit boundary by default.
38585
38586 2007-11-18 Bean <bean123ch@gmail.com>
38587
38588 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
38589 (hexdump_mod_SOURCES): New variable.
38590 (hexdump_mod_CFLAGS): Likewise.
38591 (hexdump_mod_LDFLAGS): Likewise.
38592
38593 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38594
38595 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38596
38597 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38598
38599 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38600
38601 * include/grub/hexdump.h: New file.
38602
38603 * commands/hexdump.c: New file.
38604
38605 2007-11-10 Robert Millan <rmh@aybabtu.com>
38606
38607 * commands/i386/pc/play.c (beep_off): Switch order of arguments
38608 in grub_outb() calls.
38609 (beep_on): Likewise.
38610
38611 2007-11-10 Christian Franke <franke@computer.org>
38612
38613 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
38614 (grub_menu_run): Likewise.
38615
38616 2007-11-10 Robert Millan <rmh@aybabtu.com>
38617
38618 * include/grub/i386/efi/machine.h: New file.
38619 * include/grub/i386/linuxbios/machine.h: Likewise.
38620 * include/grub/i386/pc/machine.h: Likewise.
38621 * include/grub/powerpc/ieee1275/machine.h: Likewise.
38622 * include/grub/sparc64/ieee1275/machine.h: Likewise.
38623
38624 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
38625 (serial_hw_io_addr): New variable.
38626 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
38627 instead of `(unsigned short *) 0x400'.
38628
38629 2007-11-10 Bean <bean123ch@gmail.com>
38630
38631 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
38632
38633 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
38634
38635 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
38636 (vga_mod_SOURCES): Added.
38637 (vga_mod_CFLAGS): Likewise.
38638 (vga_mod_LDFLAGS): Likewise.
38639
38640 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
38641 grub_outb() calls.
38642 (set_map_mask): Likewise.
38643 (set_read_map): Likewise.
38644 (set_read_address): Likewise.
38645 (vga_font): Removed variable.
38646 (get_vga_glyph): Removed function.
38647 (invalidate_char): Likewise.
38648 (write_char): Changed to use grub_font_get_glyph() for font
38649 information.
38650 (grub_vga_putchar): Likewise.
38651 (grub_vga_getcharwidth): Likewise.
38652
38653 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
38654
38655 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
38656 flags.
38657 (pxeboot_img_LDFLAGS): Likewise.
38658 (diskboot_img_LDFLAGS): Likewise.
38659 (kernel_img_LDFLAGS): Likewise.
38660
38661 2007-11-06 Robert Millan <rmh@aybabtu.com>
38662
38663 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
38664 in grub_outb() calls.
38665 (serial_hw_init): Likewise.
38666
38667 2007-11-05 Robert Millan <rmh@aybabtu.com>
38668
38669 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
38670 spaces. Skip non-regular files.
38671
38672 2007-11-05 Robert Millan <rmh@aybabtu.com>
38673
38674 * kern/disk.c (grub_disk_firmware_fini)
38675 (grub_disk_firmware_is_tainted): New variables.
38676
38677 * include/grub/disk.h (grub_disk_firmware_fini)
38678 (grub_disk_firmware_is_tainted): Likewise.
38679
38680 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
38681 (grub_disk_biosdisk_fini): ... to here.
38682 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
38683 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
38684 is set. Register grub_disk_biosdisk_fini() in
38685 `grub_disk_firmware_fini'.
38686
38687 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
38688 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
38689 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
38690 to finish existing firmware disk interface.
38691
38692 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
38693 (ata_mod_SOURCES): New variable.
38694 (ata_mod_CFLAGS): Likewise.
38695 (ata_mod_LDFLAGS): Likewise.
38696
38697 2007-11-05 Robert Millan <rmh@aybabtu.com>
38698
38699 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
38700 (grub_ata_wait): Reimplement using grub_millisleep().
38701
38702 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
38703 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
38704
38705 2007-11-03 Marco Gerards <marco@gnu.org>
38706
38707 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
38708 (CRTC_ADDR_PORT): New macro.
38709 (CRTC_DATA_PORT): Likewise.
38710 (CRTC_CURSOR): Likewise.
38711 (CRTC_CURSOR_ADDR_HIGH): Likewise.
38712 (CRTC_CURSOR_ADDR_LOW): Likewise.
38713 (update_cursor): New function.
38714 (grub_console_real_putchar): Call `update_cursor'.
38715 (grub_console_gotoxy): Likewise.
38716 (grub_console_cls): Set the default color when clearing the
38717 screen.
38718 (grub_console_setcursor): Implemented.
38719
38720 2007-11-03 Marco Gerards <marco@gnu.org>
38721
38722 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
38723 become activate.
38724 (grub_ata_pio_write): Likewise.
38725
38726 (grub_atapi_identify): Wait after issuing an ATA command.
38727 (grub_atapi_packet): Likewise.
38728 (grub_ata_identify): Likewise.
38729 (grub_ata_readwrite): Likewise.
38730
38731 2007-11-03 Marco Gerards <marco@gnu.org>
38732
38733 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
38734 (grub_ata_pio_write): Likewise.
38735 (grub_ata_readwrite): Use `grub_error', instead of
38736 returning `grub_errno'.
38737
38738 2007-11-03 Marco Gerards <marco@gnu.org>
38739
38740 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
38741 grub_ata_pio_write once for every single sector, instead of for
38742 multiple sectors.
38743
38744 2007-10-31 Robert Millan <rmh@aybabtu.com>
38745
38746 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
38747
38748 * conf/i386-linuxbios.rmk: New file.
38749
38750 * kern/i386/pc/hardware.c: Likewise.
38751 * term/i386/pc/at_keyboard.c: Likewise.
38752 * term/i386/pc/vga_text.c: Likewise.
38753
38754 * include/grub/i386/linuxbios/boot.h: Likewise.
38755 * include/grub/i386/linuxbios/console.h: Likewise.
38756 * include/grub/i386/linuxbios/init.h: Likewise.
38757 * include/grub/i386/linuxbios/kernel.h: Likewise.
38758 * include/grub/i386/linuxbios/loader.h: Likewise.
38759 * include/grub/i386/linuxbios/memory.h: Likewise.
38760 * include/grub/i386/linuxbios/serial.h: Likewise.
38761 * include/grub/i386/linuxbios/time.h: Likewise.
38762
38763 * kern/i386/linuxbios/init.c: Likewise.
38764 * kern/i386/linuxbios/startup.S: Likewise.
38765 * kern/i386/linuxbios/table.c: Likewise.
38766
38767 2007-10-31 Marco Gerards <marco@gnu.org>
38768
38769 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
38770 (ata_mod_SOURCES): New variable.
38771 (ata_mod_CFLAGS): Likewise.
38772 (ata_mod_LDFLAGS): Likewise.
38773
38774 * disk/ata.c: New file.
38775
38776 * include/grub/disk.h (grub_disk_dev_id): Add
38777 `GRUB_DISK_DEV_ATA_ID'.
38778
38779 2007-10-31 Robert Millan <rmh@aybabtu.com>
38780
38781 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
38782 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
38783
38784 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
38785 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
38786
38787 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
38788 `<grub/types.h>'.
38789
38790 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
38791
38792 2007-10-27 Robert Millan <rmh@aybabtu.com>
38793
38794 * include/grub/types.h (ULONG_MAX): Define macro.
38795
38796 2007-10-22 Robert Millan <rmh@aybabtu.com>
38797
38798 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
38799 `"../realmode.S"'.
38800 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
38801
38802 2007-10-22 Robert Millan <rmh@aybabtu.com>
38803
38804 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
38805 (pkgdata_MODULES): Add `biosdisk.mod'.
38806 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
38807 variables.
38808
38809 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
38810 (grub_biosdisk_init): Replace with ...
38811 (GRUB_MOD_INIT(biosdisk)): ... this.
38812 (grub_biosdisk_fini): Replace with ...
38813 (GRUB_MOD_FINI(biosdisk)): ... this.
38814
38815 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
38816 (grub_machine_init): Remove call to grub_biosdisk_init().
38817 (grub_machine_fini): Remove call to grub_machine_fini().
38818
38819 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
38820
38821 2007-10-22 Robert Millan <rmh@aybabtu.com>
38822
38823 * include/grub/time.h: New file.
38824 * include/grub/i386/time.h: Likewise.
38825 * include/grub/powerpc/time.h: Likewise.
38826 * include/grub/sparc64/time.h: Likewise.
38827
38828 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
38829 instances to ...
38830 (KERNEL_MACHINE_TIME_HEADER): ... this.
38831 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
38832 instances to ...
38833 (KERNEL_MACHINE_TIME_HEADER): ... this.
38834 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
38835 instances to ...
38836 (KERNEL_MACHINE_TIME_HEADER): ... this.
38837
38838 * kern/i386/efi/init.c: Include `<grub/time.h>'.
38839 (grub_millisleep): New function.
38840 * kern/i386/pc/init.c: Include `<grub/time.h>'.
38841 (grub_millisleep): New function.
38842 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
38843 Remove `grub/machine/time.h' include.
38844 (grub_millisleep): New function.
38845 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
38846 Remove `grub/machine/time.h' include.
38847 (grub_millisleep): New function.
38848
38849 * include/grub/misc.h (grub_div_roundup): New function.
38850
38851 * kern/misc.c: Include `<grub/time.h>'.
38852 (grub_millisleep_generic): New function.
38853
38854 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
38855 Add `time.h'.
38856 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
38857 Add `time.h'.
38858 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
38859 `machine/time.h'. Add `time.h'.
38860 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
38861
38862 2007-10-21 Robert Millan <rmh@aybabtu.com>
38863
38864 * include/grub/misc.h (grub_max): New function.
38865
38866 2007-10-21 Robert Millan <rmh@aybabtu.com>
38867
38868 * util/misc.c (grub_util_info): Call fflush() before returning.
38869
38870 2007-10-20 Robert Millan <rmh@aybabtu.com>
38871
38872 * genmk.rb (Image): Copy `extra_flags' from here ...
38873 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
38874
38875 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
38876 to `argc' and `args' arguments.
38877
38878 2007-10-17 Robert Millan <rmh@aybabtu.com>
38879
38880 * kern/i386/loader.S: New file.
38881
38882 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
38883 * kern/i386/loader.S (grub_linux_prot_size)... to here.
38884 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
38885 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
38886 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
38887 * kern/i386/loader.S (grub_linux_real_addr)... to here.
38888 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
38889 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
38890 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
38891 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
38892 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
38893 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
38894 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
38895 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
38896
38897 * kern/i386/realmode.S: New file.
38898
38899 * kern/i386/pc/startup.S (protstack): Moved from here ...
38900 * kern/i386/realmode.S (protstack)... to here.
38901 * kern/i386/pc/startup.S (gdt): Moved from here ...
38902 * kern/i386/realmode.S (gdt)... to here.
38903 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
38904 * kern/i386/realmode.S (prot_to_real)... to here.
38905
38906 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
38907 `kern/i386/realmode.S'.
38908
38909 2007-10-17 Robert Millan <rmh@aybabtu.com>
38910
38911 * include/grub/i386/loader.h: New file.
38912
38913 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
38914 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
38915 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
38916 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
38917 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
38918 * include/grub/i386/loader.h (grub_linux_prot_size)
38919 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
38920 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
38921 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
38922 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
38923
38924 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
38925
38926 2007-10-15 Robert Millan <rmh@aybabtu.com>
38927
38928 * normal/misc.c (grub_normal_print_device_info): Do not probe for
38929 filesystem when dev->disk is unset.
38930 Do probe for filesystem even when dev->disk->has_partitions is set.
38931 In case a filesystem is found, always report it.
38932 In case it isn't, if dev->disk->has_partitions is set, report that
38933 a partition table was found instead of reporting that no filesystem
38934 could be identified.
38935
38936 2007-10-12 Robert Millan <rmh@aybabtu.com>
38937
38938 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
38939 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
38940
38941 * include/grub/types.h (grub_host_to_target16): New macro.
38942 (grub_host_to_target32): Likewise.
38943 (grub_host_to_target64): Likewise.
38944 (grub_target_to_host16): Likewise.
38945 (grub_target_to_host32): Likewise.
38946 (grub_target_to_host64): Likewise.
38947
38948 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
38949 Renamed from to ...
38950 (GRUB_MOD_ALIGN): ...this. Update all users.
38951
38952 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
38953 grub_host_to_target32.
38954 Replace grub_be_to_cpu32 with grub_target_to_host32.
38955 (load_modules): Likewise.
38956 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
38957 Replace grub_be_to_cpu32 with grub_target_to_host32.
38958 Replace grub_cpu_to_be16 with grub_host_to_target16.
38959 Replace grub_cpu_to_be32 grub_host_to_target32.
38960
38961 2007-10-12 Robert Millan <rmh@aybabtu.com>
38962
38963 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
38964 * util/elf/grub-mkimage.c: ... here.
38965
38966 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
38967 `util/powerpc/ieee1275/grub-mkimage.c'.
38968
38969 2007-10-07 Robert Millan <rmh@aybabtu.com>
38970
38971 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
38972 and make it easier to figure out.
38973 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
38974 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
38975 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
38976 leave us with less than HEAP_MIN_SIZE total heap.
38977 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
38978
38979 2007-10-03 Robert Millan <rmh@aybabtu.com>
38980
38981 * include/grub/i386/io.h: New file.
38982 * commands/i386/pc/play.c (inb): Removed.
38983 (outb): Removed.
38984 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
38985 with grub_outb().
38986 * term/i386/pc/serial.c (inb): Removed.
38987 (outb): Removed.
38988 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
38989 with grub_outb().
38990 * term/i386/pc/vga.c (inb): Removed.
38991 (outb): Removed.
38992 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
38993 with grub_outb().
38994
38995 2007-10-02 Robert Millan <rmh@aybabtu.com>
38996
38997 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
38998 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38999 Reported by Marcin Kurek.
39000
39001 2007-09-07 Robert Millan <rmh@aybabtu.com>
39002
39003 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
39004 SmartFirmware version updates (as released by Sven Luther), and avoid
39005 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
39006 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
39007 known broken.
39008
39009 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
39010
39011 From Hitoshi Ozeki:
39012 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
39013 when merging two regions.
39014
39015 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
39016
39017 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
39018 * normal/completion.c (grub_normal_do_completion): Likewise.
39019 Reported by Hitoshi Ozeki.
39020
39021 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
39022
39023 Do not use devices at boot in chainloading.
39024
39025 * loader/i386/pc/chainloader.c (boot_drive): New variable.
39026 (boot_part_addr): Likewise.
39027 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
39028 with BOOT_DRIVE and BOOT_PART_ADDR.
39029 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
39030 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
39031
39032 2007-08-29 Robert Millan <rmh@aybabtu.com>
39033
39034 Patch from Simon Peter <dn.tlp@gmx.net>:
39035 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
39036 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
39037 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
39038 util/i386/pc/grub-setup.c_DEPENDENCIES.
39039 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
39040 util/grub-probe.c_DEPENDENCIES.
39041 * conf/powerpc-ieee1275.rmk: Likewise.
39042
39043 2007-08-28 Robert Millan <rmh@aybabtu.com>
39044
39045 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
39046 to tell grub-mkdevicemap how to name devices.
39047 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
39048 feature).
39049
39050 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
39051 util/i386/get_disk_name.c.
39052 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
39053 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
39054 util/ieee1275/get_disk_name.c.
39055
39056 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
39057
39058 * DISTLIST: Add util/i386/get_disk_name.c and
39059 util/ieee1275/get_disk_name.c.
39060
39061 * util/grub-mkdevicemap.c: Replace device naming logic with
39062 grub_util_get_disk_name() calls.
39063
39064 2007-08-20 Robert Millan <rmh@aybabtu.com>
39065
39066 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
39067 (so that it works for both plural and singular quantities).
39068
39069 2007-08-05 Robert Millan <rmh@aybabtu.com>
39070
39071 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
39072 so that [xz] isn't taken into account when determining order.
39073
39074 2007-08-02 Marco Gerards <marco@gnu.org>
39075
39076 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
39077 `include/multiboot2.h', `include/grub/elfload.h',
39078 `include/multiboot.h', `include/grub/multiboot.h',
39079 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
39080 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
39081 `kern/elf.c', `loader/multiboot_loader.c',
39082 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
39083 `loader/i386/pc/multiboot2.c',
39084 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
39085 `util/i386/pc/grub-mkrescue.in'. Remove
39086 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
39087 `include/grub/i386/pc/util/biosdisk.h' and
39088 `include/grub/powerpc/ieee1275/multiboot.h'.
39089
39090 2007-08-02 Bean <bean123ch@gmail.com>
39091
39092 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
39093 (ntfs_mod_SOURCES): New variable.
39094 (ntfs_mod_CFLAGS): Likewise.
39095 (ntfs_mod_LDFLAGS): Likewise.
39096
39097 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
39098 (grub_probe_SOURCES): Likewise.
39099 (grub_emu_SOURCES): Likewise.
39100
39101 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
39102 (grub_emu_SOURCES): Likewise.
39103
39104 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
39105 (grub_emu_SOURCES): Likewise.
39106
39107 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
39108
39109 * fs/ntfs.c: New file.
39110
39111 2007-08-02 Bean <bean123ch@gmail.com>
39112
39113 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
39114
39115 * file.h (grub_file): Likewise.
39116
39117 * fshelp.h (grub_fshelp_read_file): Likewise.
39118
39119 * util/i386/pc/grub-setup.c (setup): Likewise.
39120 (save_first_sector): Likewise.
39121 (save_blocklists): Likewise.
39122
39123 * fs/affs.c (grub_affs_read_file): Likewise.
39124
39125 * fs/ext2.c (grub_ext2_read_file): Likewise.
39126
39127 * fs/fat.c (grub_fat_read_data): Likewise.
39128
39129 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
39130
39131 * fs/hfs.c (grub_hfs_read_file): Likewise.
39132
39133 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
39134
39135 * fs/jfs.c (grub_jfs_read_file): Likewise.
39136
39137 * fs/minix.c (grub_minix_read_file): Likewise.
39138
39139 * fs/sfs.c (grub_sfs_read_file): Likewise.
39140
39141 * fs/ufs.c (grub_ufs_read_file): Likewise.
39142
39143 * fs/xfs.c (grub_xfs_read_file): Likewise.
39144
39145 * command/blocklist.c (read_blocklist): Likewise.
39146 (print_blocklist): Likewise.
39147
39148 2007-08-02 Marco Gerards <marco@gnu.org>
39149
39150 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
39151 `util/hostfs.c'.
39152
39153 * disk/host.c: New file.
39154
39155 * util/hostfs.c: Likewise.
39156
39157 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
39158 return `GRUB_ERR_BAD_FS'.
39159 * fs/sfs.c (grub_sfs_mount): Likewise.
39160 * fs/xfs.c (grub_xfs_mount): Likewise.
39161
39162 * include/grub/disk.h (enum grub_disk_dev_id): Add
39163 `GRUB_DISK_DEVICE_HOST_ID'.
39164
39165 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
39166
39167 2007-07-24 Jerone Young <jerone@gmail.com>
39168
39169 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
39170 modules for compilation.
39171 * conf/powerpc-ieee1275.rmk: Likewise.
39172
39173 * include/multiboot.h: Move multiboot definitions to one file. Rename
39174 many definitions to not get grub specific.
39175 * include/multiboot2.h: Create header with multiboot 2 definitions.
39176 * include/grub/multiboot.h: Header for grub specific function
39177 prototypes and definitions.
39178 * include/grub/multiboot2.h: Likewise.
39179 * include/grub/multiboot_loader.h: Likewise.
39180 * include/grub/i386/pc/multiboot.h: Removed.
39181 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
39182
39183 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
39184 and 2 to allow for one multiboot and module commands.
39185 * loader/multiboot2.c: Add multiboot2 functionality.
39186 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
39187 and definition names.
39188 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
39189 2 functions.
39190 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
39191 ieee1275 specific multiboot2 code.
39192
39193 * kern/i386/pc/startup.S: Change headers and definition names for
39194 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
39195
39196 2007-07-22 Robert Millan <rmh@aybabtu.com>
39197
39198 * geninitheader.sh: Process file specified in first parameter rather
39199 than hardcoding grub_modules_init.lst.
39200 * geninit.sh: Likewise. Also, construct header name dynamically rather
39201 than hardcoding grub_modules_init.h.
39202
39203 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
39204 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
39205 grub_probe_init.[ch] and grub_setup_init.[ch].
39206
39207 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
39208 grub_modules_init.h with grub_emu_init.h.
39209 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
39210 grub_probe_init.[ch] files.
39211 * conf/i386-efi.rmk: Likewise.
39212 * conf/i386-pc.rmk: Likewise.
39213 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
39214 grub_setup_init.[ch] files.
39215
39216 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
39217 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
39218 to initialize modules rather than a list of hardcoded functions.
39219 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
39220 grub_init_all() to initialize modules rather than a list of hardcoded
39221 functions.
39222
39223 2007-07-22 Robert Millan <rmh@aybabtu.com>
39224
39225 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
39226 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
39227
39228 2007-07-22 Robert Millan <rmh@aybabtu.com>
39229
39230 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
39231 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
39232 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
39233 flag when running on SmartFirmware.
39234 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
39235 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
39236 was set.
39237
39238 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
39239 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
39240 rather than decreasing it.
39241
39242 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
39243 there's not enough space to do it, fail in the same way as when it
39244 can't be done because there are no partitions.
39245
39246 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
39247 when nvsetenv failed.
39248
39249 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
39250
39251 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
39252 because this rule is automatically generated.
39253 (grub-mkrescue): Removed for the same reason as above.
39254
39255 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
39256
39257 Migrate to GNU General Public License Version 3.
39258
39259 * COPYING: Replaced with the plain text version of GPLv3.
39260
39261 * config.guess: Updated from gnulib.
39262 * config.sub: Likewise.
39263
39264 * geninit.sh: Output a GPLv3 copyright notice.
39265 * geninitheader.sh: Likewise.
39266 * genmodsrc.sh: Likewise.
39267 * gensymlist.sh.in: Likewise.
39268
39269 * boot/i386/pc/boot.S: Upgraded to GPLv3.
39270 * boot/i386/pc/diskboot.S: Likewise.
39271 * boot/i386/pc/pxeboot.S: Likewise.
39272 * commands/blocklist.c: Likewise.
39273 * commands/boot.c: Likewise.
39274 * commands/cat.c: Likewise.
39275 * commands/cmp.c: Likewise.
39276 * commands/configfile.c: Likewise.
39277 * commands/echo.c: Likewise.
39278 * commands/help.c: Likewise.
39279 * commands/ls.c: Likewise.
39280 * commands/search.c: Likewise.
39281 * commands/terminal.c: Likewise.
39282 * commands/test.c: Likewise.
39283 * commands/videotest.c: Likewise.
39284 * commands/i386/cpuid.c: Likewise.
39285 * commands/i386/pc/halt.c: Likewise.
39286 * commands/i386/pc/play.c: Likewise.
39287 * commands/i386/pc/reboot.c: Likewise.
39288 * commands/i386/pc/vbeinfo.c: Likewise.
39289 * commands/i386/pc/vbetest.c: Likewise.
39290 * commands/ieee1275/halt.c: Likewise.
39291 * commands/ieee1275/reboot.c: Likewise.
39292 * commands/ieee1275/suspend.c: Likewise.
39293 * disk/loopback.c: Likewise.
39294 * disk/lvm.c: Likewise.
39295 * disk/raid.c: Likewise.
39296 * disk/efi/efidisk.c: Likewise.
39297 * disk/i386/pc/biosdisk.c: Likewise.
39298 * disk/ieee1275/ofdisk.c: Likewise.
39299 * font/manager.c: Likewise.
39300 * fs/affs.c: Likewise.
39301 * fs/ext2.c: Likewise.
39302 * fs/fat.c: Likewise.
39303 * fs/fshelp.c: Likewise.
39304 * fs/hfs.c: Likewise.
39305 * fs/hfsplus.c: Likewise.
39306 * fs/iso9660.c: Likewise.
39307 * fs/jfs.c: Likewise.
39308 * fs/minix.c: Likewise.
39309 * fs/sfs.c: Likewise.
39310 * fs/ufs.c: Likewise.
39311 * fs/xfs.c: Likewise.
39312 * hello/hello.c: Likewise.
39313 * include/grub/acorn_filecore.h: Likewise.
39314 * include/grub/arg.h: Likewise.
39315 * include/grub/bitmap.h: Likewise.
39316 * include/grub/boot.h: Likewise.
39317 * include/grub/cache.h: Likewise.
39318 * include/grub/device.h: Likewise.
39319 * include/grub/disk.h: Likewise.
39320 * include/grub/dl.h: Likewise.
39321 * include/grub/elfload.h: Likewise.
39322 * include/grub/env.h: Likewise.
39323 * include/grub/err.h: Likewise.
39324 * include/grub/file.h: Likewise.
39325 * include/grub/font.h: Likewise.
39326 * include/grub/fs.h: Likewise.
39327 * include/grub/fshelp.h: Likewise.
39328 * include/grub/gzio.h: Likewise.
39329 * include/grub/hfs.h: Likewise.
39330 * include/grub/kernel.h: Likewise.
39331 * include/grub/loader.h: Likewise.
39332 * include/grub/lvm.h: Likewise.
39333 * include/grub/misc.h: Likewise.
39334 * include/grub/mm.h: Likewise.
39335 * include/grub/net.h: Likewise.
39336 * include/grub/normal.h: Likewise.
39337 * include/grub/parser.h: Likewise.
39338 * include/grub/partition.h: Likewise.
39339 * include/grub/pc_partition.h: Likewise.
39340 * include/grub/raid.h: Likewise.
39341 * include/grub/rescue.h: Likewise.
39342 * include/grub/script.h: Likewise.
39343 * include/grub/setjmp.h: Likewise.
39344 * include/grub/symbol.h: Likewise.
39345 * include/grub/term.h: Likewise.
39346 * include/grub/terminfo.h: Likewise.
39347 * include/grub/tparm.h: Likewise.
39348 * include/grub/types.h: Likewise.
39349 * include/grub/video.h: Likewise.
39350 * include/grub/efi/api.h: Likewise.
39351 * include/grub/efi/chainloader.h: Likewise.
39352 * include/grub/efi/console.h: Likewise.
39353 * include/grub/efi/console_control.h: Likewise.
39354 * include/grub/efi/disk.h: Likewise.
39355 * include/grub/efi/efi.h: Likewise.
39356 * include/grub/efi/pe32.h: Likewise.
39357 * include/grub/efi/time.h: Likewise.
39358 * include/grub/i386/linux.h: Likewise.
39359 * include/grub/i386/setjmp.h: Likewise.
39360 * include/grub/i386/types.h: Likewise.
39361 * include/grub/i386/efi/kernel.h: Likewise.
39362 * include/grub/i386/efi/loader.h: Likewise.
39363 * include/grub/i386/efi/time.h: Likewise.
39364 * include/grub/i386/pc/biosdisk.h: Likewise.
39365 * include/grub/i386/pc/boot.h: Likewise.
39366 * include/grub/i386/pc/chainloader.h: Likewise.
39367 * include/grub/i386/pc/console.h: Likewise.
39368 * include/grub/i386/pc/init.h: Likewise.
39369 * include/grub/i386/pc/kernel.h: Likewise.
39370 * include/grub/i386/pc/loader.h: Likewise.
39371 * include/grub/i386/pc/memory.h: Likewise.
39372 * include/grub/i386/pc/multiboot.h: Likewise.
39373 * include/grub/i386/pc/serial.h: Likewise.
39374 * include/grub/i386/pc/time.h: Likewise.
39375 * include/grub/i386/pc/vbe.h: Likewise.
39376 * include/grub/i386/pc/vbeblit.h: Likewise.
39377 * include/grub/i386/pc/vbefill.h: Likewise.
39378 * include/grub/i386/pc/vbeutil.h: Likewise.
39379 * include/grub/i386/pc/vga.h: Likewise.
39380 * include/grub/ieee1275/ieee1275.h: Likewise.
39381 * include/grub/ieee1275/ofdisk.h: Likewise.
39382 * include/grub/powerpc/libgcc.h: Likewise.
39383 * include/grub/powerpc/setjmp.h: Likewise.
39384 * include/grub/powerpc/types.h: Likewise.
39385 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
39386 * include/grub/powerpc/ieee1275/console.h: Likewise.
39387 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
39388 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
39389 * include/grub/powerpc/ieee1275/loader.h: Likewise.
39390 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
39391 * include/grub/powerpc/ieee1275/time.h: Likewise.
39392 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
39393 * include/grub/sparc64/libgcc.h: Likewise.
39394 * include/grub/sparc64/setjmp.h: Likewise.
39395 * include/grub/sparc64/types.h: Likewise.
39396 * include/grub/sparc64/ieee1275/console.h: Likewise.
39397 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
39398 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
39399 * include/grub/sparc64/ieee1275/time.h: Likewise.
39400 * include/grub/util/biosdisk.h: Likewise.
39401 * include/grub/util/getroot.h: Likewise.
39402 * include/grub/util/lvm.h: Likewise.
39403 * include/grub/util/misc.h: Likewise.
39404 * include/grub/util/raid.h: Likewise.
39405 * include/grub/util/resolve.h: Likewise.
39406 * io/gzio.c: Likewise.
39407 * kern/device.c: Likewise.
39408 * kern/disk.c: Likewise.
39409 * kern/dl.c: Likewise.
39410 * kern/elf.c: Likewise.
39411 * kern/env.c: Likewise.
39412 * kern/err.c: Likewise.
39413 * kern/file.c: Likewise.
39414 * kern/fs.c: Likewise.
39415 * kern/loader.c: Likewise.
39416 * kern/main.c: Likewise.
39417 * kern/misc.c: Likewise.
39418 * kern/mm.c: Likewise.
39419 * kern/parser.c: Likewise.
39420 * kern/partition.c: Likewise.
39421 * kern/rescue.c: Likewise.
39422 * kern/term.c: Likewise.
39423 * kern/efi/efi.c: Likewise.
39424 * kern/efi/init.c: Likewise.
39425 * kern/efi/mm.c: Likewise.
39426 * kern/i386/dl.c: Likewise.
39427 * kern/i386/efi/init.c: Likewise.
39428 * kern/i386/efi/startup.S: Likewise.
39429 * kern/i386/pc/init.c: Likewise.
39430 * kern/i386/pc/lzo1x.S: Likewise.
39431 * kern/i386/pc/startup.S: Likewise.
39432 * kern/ieee1275/ieee1275.c: Likewise.
39433 * kern/powerpc/cache.S: Likewise.
39434 * kern/powerpc/dl.c: Likewise.
39435 * kern/powerpc/ieee1275/cmain.c: Likewise.
39436 * kern/powerpc/ieee1275/crt0.S: Likewise.
39437 * kern/powerpc/ieee1275/init.c: Likewise.
39438 * kern/powerpc/ieee1275/openfw.c: Likewise.
39439 * kern/sparc64/cache.S: Likewise.
39440 * kern/sparc64/dl.c: Likewise.
39441 * kern/sparc64/ieee1275/init.c: Likewise.
39442 * kern/sparc64/ieee1275/openfw.c: Likewise.
39443 * loader/efi/chainloader.c: Likewise.
39444 * loader/efi/chainloader_normal.c: Likewise.
39445 * loader/i386/efi/linux.c: Likewise.
39446 * loader/i386/efi/linux_normal.c: Likewise.
39447 * loader/i386/pc/chainloader.c: Likewise.
39448 * loader/i386/pc/chainloader_normal.c: Likewise.
39449 * loader/i386/pc/linux.c: Likewise.
39450 * loader/i386/pc/linux_normal.c: Likewise.
39451 * loader/i386/pc/multiboot.c: Likewise.
39452 * loader/i386/pc/multiboot_normal.c: Likewise.
39453 * loader/powerpc/ieee1275/linux.c: Likewise.
39454 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
39455 * normal/arg.c: Likewise.
39456 * normal/cmdline.c: Likewise.
39457 * normal/command.c: Likewise.
39458 * normal/completion.c: Likewise.
39459 * normal/execute.c: Likewise.
39460 * normal/function.c: Likewise.
39461 * normal/lexer.c: Likewise.
39462 * normal/main.c: Likewise.
39463 * normal/menu.c: Likewise.
39464 * normal/menu_entry.c: Likewise.
39465 * normal/misc.c: Likewise.
39466 * normal/parser.y: Likewise.
39467 * normal/script.c: Likewise.
39468 * normal/i386/setjmp.S: Likewise.
39469 * normal/powerpc/setjmp.S: Likewise.
39470 * normal/sparc64/setjmp.S: Likewise.
39471 * partmap/acorn.c: Likewise.
39472 * partmap/amiga.c: Likewise.
39473 * partmap/apple.c: Likewise.
39474 * partmap/gpt.c: Likewise.
39475 * partmap/pc.c: Likewise.
39476 * partmap/sun.c: Likewise.
39477 * term/gfxterm.c: Likewise.
39478 * term/terminfo.c: Likewise.
39479 * term/efi/console.c: Likewise.
39480 * term/i386/pc/console.c: Likewise.
39481 * term/i386/pc/serial.c: Likewise.
39482 * term/i386/pc/vesafb.c: Likewise.
39483 * term/i386/pc/vga.c: Likewise.
39484 * term/ieee1275/ofconsole.c: Likewise.
39485 * util/biosdisk.c: Likewise.
39486 * util/console.c: Likewise.
39487 * util/genmoddep.c: Likewise.
39488 * util/getroot.c: Likewise.
39489 * util/grub-emu.c: Likewise.
39490 * util/grub-mkdevicemap.c: Likewise.
39491 * util/grub-probe.c: Likewise.
39492 * util/lvm.c: Likewise.
39493 * util/misc.c: Likewise.
39494 * util/raid.c: Likewise.
39495 * util/resolve.c: Likewise.
39496 * util/update-grub.in: Likewise.
39497 * util/update-grub_lib.in: Likewise.
39498 * util/grub.d/00_header.in: Likewise.
39499 * util/grub.d/10_hurd.in: Likewise.
39500 * util/grub.d/10_linux.in: Likewise.
39501 * util/i386/efi/grub-install.in: Likewise.
39502 * util/i386/efi/grub-mkimage.c: Likewise.
39503 * util/i386/pc/grub-install.in: Likewise.
39504 * util/i386/pc/grub-mkimage.c: Likewise.
39505 * util/i386/pc/grub-mkrescue.in: Likewise.
39506 * util/i386/pc/grub-setup.c: Likewise.
39507 * util/i386/pc/misc.c: Likewise.
39508 * util/powerpc/ieee1275/grub-install.in: Likewise.
39509 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
39510 * util/powerpc/ieee1275/misc.c: Likewise.
39511 * video/bitmap.c: Likewise.
39512 * video/video.c: Likewise.
39513 * video/i386/pc/vbe.c: Likewise.
39514 * video/i386/pc/vbeblit.c: Likewise.
39515 * video/i386/pc/vbefill.c: Likewise.
39516 * video/i386/pc/vbeutil.c: Likewise.
39517 * video/readers/tga.c: Likewise.
39518
39519 2007-07-02 Robert Millan <rmh@aybabtu.com>
39520
39521 * conf/i386-efi.rmk: Replace obsolete reference to
39522 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
39523 with util/getroot.c.
39524 * conf/powerpc-ieee1275.rmk: Likewise.
39525 * conf/sparc64-ieee1275.rmk: Likewise.
39526
39527 * util/grub-emu.c (main): Fix unchecked pointer handling.
39528
39529 2007-07-02 Robert Millan <rmh@aybabtu.com>
39530
39531 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
39532 invocation to fail, in order to support partition-less media.
39533
39534 * util/i386/pc/grub-install.in: Likewise.
39535
39536 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
39537 which fs or partmap modules are needed (akin to its sister scripts).
39538
39539 Also use grub-probe to get rid of unportable /proc/mounts check.
39540
39541 Print the same informational message that the other scripts do, before
39542 exiting.
39543
39544 2007-06-23 Robert Millan <rmh@aybabtu.com>
39545
39546 * util/update-grub_lib.in (font_path): New function. Determine whether
39547 a font file can be found and, if so, echo the GRUB path to it.
39548
39549 * util/update-grub.in: Handle multiple terminals depending on user
39550 input, platform availability and font file presence. Propagate
39551 variables of our findings to /etc/grub.d/ children.
39552
39553 * util/grub.d/00_header.in: Handle multiple terminals, based on
39554 environment setup by update-grub.
39555
39556 2007-06-23 Robert Millan <rmh@aybabtu.com>
39557
39558 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
39559
39560 2007-06-21 Robert Millan <rmh@aybabtu.com>
39561
39562 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
39563 indicate end of data section in kernel image.
39564 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
39565 GRUB_KERNEL_MACHINE_DATA_END.
39566
39567 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
39568 space for it.
39569 * kern/i386/efi/startup.S: Likewise.
39570
39571 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
39572 during image generation. Implement --prefix option to override this
39573 patch.
39574 * util/i386/efi/grub-mkimage.c: Likewise.
39575
39576 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
39577 code to make path relative to its root into a separate function.
39578
39579 * util/i386/pc/grub-install.in: Use newly provided
39580 make_system_path_relative_to_its_root() to convert ${grubdir}, then
39581 pass the result to grub-install --prefix.
39582
39583 2007-06-13 Robert Millan <rmh@aybabtu.com>
39584
39585 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
39586 DEFAULT_DEVICE_MAP.
39587 * util/grub-emu.c: Use above definitions from misc.h instead of
39588 defining them.
39589 * util/grub-mkdevicemap.c: Likewise.
39590 * util/i386/pc/grub-setup.c: Likewise.
39591 * util/grub-probe.c: Likewise.
39592 (probe): Abort with grub_util_error() when either
39593 grub_guess_root_device or grub_util_get_grub_dev fails.
39594
39595 2007-06-12 Robert Millan <rmh@aybabtu.com>
39596
39597 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
39598 "pager" assignment.
39599 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
39600 "pcdata".
39601 * util/grub-probe.c (probe): Likewise for "drive_name".
39602
39603 2007-06-11 Robert Millan <rmh@aybabtu.com>
39604
39605 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
39606 not just the cdrom one.
39607
39608 2007-06-11 Robert Millan <rmh@aybabtu.com>
39609
39610 * util/i386/pc/grub-mkrescue.in: Add "set -e".
39611 Add --pkglibdir=DIR option to override pkglibdir.
39612 Mention --image-type=TYPE in help output.
39613 Fix --grub-mkimage (it was a no-op).
39614 Abort gracefully when no parameter is given.
39615
39616 2007-06-11 Robert Millan <rmh@aybabtu.com>
39617
39618 * util/i386/pc/grub-mkrescue.in: New file.
39619 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
39620 * Makefile.in: Handle bin_SCRIPTS.
39621
39622 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
39623
39624 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
39625 list of video modes.
39626
39627 2007-06-06 Robert Millan <rmh@aybabtu.com>
39628
39629 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
39630 file doesn't exist, or if it is in a filesystem grub can't read.
39631
39632 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
39633 not abort if GRUB_DRIVE could not be defined. Rearrange generated
39634 header comment to fit in 80 columns when the variables are resolved.
39635
39636 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
39637 could be identified by update-grub. Remove redundant check for
39638 unifont.pff existence (since convert_system_path_to_grub_path now
39639 handles that).
39640
39641 2007-06-04 Robert Millan <rmh@aybabtu.com>
39642
39643 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
39644
39645 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
39646
39647 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
39648
39649 2007-06-04 Robert Millan <rmh@aybabtu.com>
39650
39651 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
39652
39653 * include/grub/partition.h: Declare grub_apple_partition_map_init and
39654 grub_apple_partition_map_fini.
39655
39656 * util/biosdisk.c
39657 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
39658 to access >2 TiB disks).
39659
39660 Print disk->total_sectors with %llu instead of %lu, since this
39661 variable is always 64-bit (prevents wrong disk size from being displayed
39662 on either >2 TiB disk or big-endian CPU).
39663
39664 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
39665 into a generic case that supports all (sane) partition maps.
39666
39667 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
39668 breaks big-endian.
39669
39670 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
39671 and grub_apple_partition_map_fini() after that.
39672
39673 2007-06-01 Robert Millan <rmh@aybabtu.com>
39674
39675 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
39676
39677 * util/grub.d/00_header.in: Only enable gfxterm when
39678 convert_system_path_to_grub_path() succeeds.
39679
39680 2007-05-20 Robert Millan <rmh@aybabtu.com>
39681
39682 * util/update-grub_lib.in: New file.
39683 * DISTLIST: Add update-grub_lib.in.
39684 * conf/common.rmk: Generate update-grub_lib and install it in
39685 $(lib_DATA).
39686 * Makefile.in: Add install routine for $(lib_DATA).
39687
39688 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
39689 function provided by update-grub_lib to support arbitrary paths of
39690 unifont.pff.
39691 * util/update-grub.in: Use convert_system_path_to_grub_path() to
39692 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
39693
39694 2007-05-19 Robert Millan <rmh@aybabtu.com>
39695
39696 * commands/i386/cpuid.c: New module.
39697 * DISTLIST: Add it.
39698 * conf/i386-efi.rmk: Enable cpuid.mod.
39699 * conf/i386-pc.rmk: Likewise.
39700
39701 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
39702
39703 * kern/disk.c (grub_disk_read): Check return value of
39704 grub_realloc().
39705
39706 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
39707
39708 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
39709 arrays.
39710 * disk/raid.c (grub_raid_open): Likewise.
39711
39712 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
39713
39714 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
39715 stack instead of on the heap.
39716
39717 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
39718 before doing a read on it.
39719
39720 * configure.ac: Only use -fno-stack-protector for the target
39721 environment.
39722
39723 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
39724
39725 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
39726 __attribute_ ((unused)) to mode_type argument.
39727
39728 * util/getroot.c (grub_guess_root_device): Fix #endif.
39729
39730 * kern/misc.c (memcmp): Fix prototype.
39731
39732 * include/grub/partition.h [GRUB_UTIL]
39733 (grub_gpt_partition_map_init): Add prototype.
39734 (grub_gpt_partition_map_fini): Likewise.
39735
39736 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
39737 at the right place.
39738
39739 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
39740 (grub_fat_read_data): Likewise.
39741 (grub_fat_find_dir): Likewise.
39742
39743 * font/manager.c (find_glyph): Make table a const.
39744 (grub_font_get_glyph): Remove bitmap from if statement.
39745
39746 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
39747
39748 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
39749 code, first search for device in /dev/mapper, then in /dev.
39750 (grub_util_get_grub_dev): New function.
39751 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
39752 prototype.
39753 * util/grub-probe.c (probe): Remove check for RAID, call
39754 grub_util_get_grub_dev() instead of
39755 grub_util_biosdisk_get_grub_dev().
39756 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
39757 grub_util_biosdisk_get_grub_dev().
39758 * util/i386/pc/grub-setup.c (main): Likewise.
39759
39760 2007-05-16 Robert Millan <rmh@aybabtu.com>
39761
39762 * DISTLIST: Update for the latest changes.
39763 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
39764 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
39765 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
39766 grub/util/biosdisk.h.
39767 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
39768 grub/util/biosdisk.h.
39769
39770 2007-05-16 Robert Millan <rmh@aybabtu.com>
39771
39772 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
39773
39774 2007-05-16 Robert Millan <rmh@aybabtu.com>
39775
39776 * util/i386/efi/grub-install.in: New.
39777 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
39778 newly added grub-install.
39779 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
39780 include.
39781 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
39782 grub/util/biosdisk.h.
39783 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
39784 grub/util/biosdisk.h.
39785
39786 2007-05-16 Robert Millan <rmh@aybabtu.com>
39787
39788 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
39789 * include/grub/util/biosdisk.h: ... here.
39790 * util/i386/pc/biosdisk.c: Moved to ...
39791 * util/biosdisk.c: ... here.
39792 * util/i386/pc/getroot.c: Moved to ...
39793 * util/getroot.c: ... here.
39794 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
39795 * util/grub-mkdevicemap.c: ... here.
39796 * util/i386/pc/grub-probe.c: Moved to ...
39797 * util/grub-probe.c: ... here.
39798
39799 2007-05-15 Robert Millan <rmh@aybabtu.com>
39800
39801 * util/update-grub.in: Remove duplicated line in grub.cfg header
39802 message.
39803
39804 2007-05-13 Robert Millan <rmh@aybabtu.com>
39805
39806 * util/update-grub.in: Fix a few assumptions about the devices holding
39807 /, /boot and /boot/grub being the same.
39808 * util/grub.d/00_header.in: Likewise.
39809 * util/grub.d/10_hurd.in: Likewise.
39810 * util/grub.d/10_linux.in: Likewise.
39811
39812 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
39813 patterns. Use that to define the `.old' suffix as older than `'.
39814
39815 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
39816
39817 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
39818 the grub.cfg header message.
39819
39820 2007-05-11 Robert Millan <rmh@aybabtu.com>
39821
39822 * util/update-grub.in: Create device.map if it doesn't already exist,
39823 before attempting to run grub-probe.
39824 Check for grub-probe and grub-mkdevicemap with the same code
39825 grub-install is using.
39826 Remove test mode.
39827
39828 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
39829
39830 * Makefile.in: Add the datarootdir autoconf variable.
39831
39832 2007-05-09 Robert Millan <rmh@aybabtu.com>
39833
39834 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
39835 fail gracefully if dev->disk->partition == NULL.
39836
39837 2007-05-07 Robert Millan <rmh@aybabtu.com>
39838
39839 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
39840 determine partition map module.
39841 * util/i386/pc/grub-install.in: Use this feature to decide which
39842 partition module to load, instead of hardcoding pc and gpt.
39843
39844 2007-05-07 Robert Millan <rmh@aybabtu.com>
39845
39846 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
39847 source directory differs from build directory.
39848
39849 2007-05-05 Robert Millan <rmh@aybabtu.com>
39850
39851 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
39852 initialisation.
39853
39854 2007-05-05 Robert Millan <rmh@aybabtu.com>
39855
39856 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
39857
39858 2007-05-05 Robert Millan <rmh@aybabtu.com>
39859
39860 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
39861 command-line arguments via ${GRUB_CMDLINE_LINUX}.
39862
39863 2007-05-05 Robert Millan <rmh@aybabtu.com>
39864
39865 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
39866 (grub_probe_SOURCES): Likewise.
39867 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
39868 GPT and initialize dos_part and bsd_part accordingly.
39869 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
39870 install_bsd_part.
39871 (main): Activate gpt module for use during partition identification,
39872 and deactivate it afterwards.
39873 * util/i386/pc/grub-install.in: Add gpt module to core.img.
39874 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
39875 partition identification, and deactivate it afterwards.
39876
39877 2007-05-05 Robert Millan <rmh@aybabtu.com>
39878
39879 * term/i386/pc/console.c (grub_console_fini): Call
39880 grub_term_set_current() before grub_term_unregister().
39881
39882 2007-05-04 Robert Millan <rmh@aybabtu.com>
39883
39884 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
39885 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
39886 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
39887 and update-grub_DATA.
39888 * conf/common.rmk: Build and install update-grub components.
39889 * conf/common.mk: Regenerate.
39890 * util/update-grub.in: New. Core of update-grub.
39891 * util/grub.d/00_header.in: New. Generates grub.cfg header.
39892 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
39893 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
39894 * util/grub.d/README: New. Document grub.d directory layout.
39895
39896 2007-05-01 Robert Millan <rmh@aybabtu.com>
39897
39898 * util/grub-emu.c: Move initialization functions
39899 grub_util_biosdisk_init() and grub_init_all() before
39900 grub_util_biosdisk_get_grub_dev(), which relies on them.
39901
39902 2007-04-19 Robert Millan <rmh@aybabtu.com>
39903
39904 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
39905 it is used later.
39906
39907 2007-04-18 Jerone Young <jerone@gmail.com>
39908
39909 * kernel/elf.c: Add missing parenthesis for conditional statement
39910 stanza.
39911
39912 2007-04-10 Jerone Young <jerone@gmail.com>
39913
39914 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
39915 continue on and look for device node with real device name.
39916
39917 2007-04-10 Jerone Young <jerone@gmail.com>
39918
39919 * configure.ac: Add argument for autoconf to use transformation
39920 ability.
39921 * Makefile.in: Add autoconf package transformation code.
39922 * util/i386/pc/grub-install.in: Likewise.
39923 * util/powerpc/ieee1275/grub-install.in: Likewise.
39924
39925 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
39926
39927 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
39928 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
39929 (EXT2_REVISION): Likewise.
39930 (EXT2_INODE_SIZE): Likewise.
39931 (struct grub_ext2_block_group): Added a missing member
39932 "used_dirs".
39933 (grub_ext2_read_inode): Divide by the inode size in a superblock
39934 instead of 128 to obtain INODES_PER_BLOCK.
39935 Use the macro EXT2_INODE_SIZE instead of directly using
39936 SBLOCK->INODE_SIZE.
39937
39938 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
39939
39940 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
39941 superblock instead of the structure size to compute an
39942 offset. This fixes the problem that GRUB could not read a
39943 filesystem when inode size is different from 128-byte.
39944
39945 2007-03-05 Marco Gerards <marco@gnu.org>
39946
39947 * normal/main.c (read_config_file): When "menu" is not set, create
39948 an initial context.
39949
39950 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
39951
39952 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
39953 (HEAP_LIMIT): New macro.
39954 (grub_claim_heap): Claim memory up to `heaplimit'.
39955
39956 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
39957
39958 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
39959 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
39960 (_start): Likewise.
39961 (grub_arch_modules_addr): Return address after `_end'.
39962 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
39963 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
39964 (add_segments): Calculate `_end' from phdr size and location.
39965 (ALIGN_UP): Moved to ...
39966 * include/grub/misc.h: here.
39967 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
39968 New macro.
39969 (GRUB_IEEE1275_MODULE_BASE): Removed.
39970
39971 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
39972
39973 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
39974 loop boundary.
39975
39976 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
39977
39978 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
39979 All users updated.
39980 (grub_elf64_load_hook_t): Likewise.
39981 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
39982 debug output.
39983
39984 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
39985
39986 * kern/mm.c: Update copyright.
39987 (grub_mm_debug): Correct syntax error.
39988 (grub_mm_dump_free): New function.
39989 (grub_debug_free): Call `grub_free'.
39990 * include/grub/mm.h: Update copyright.
39991 (grub_mm_dump_free): Add declaration.
39992
39993 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
39994
39995 * include/grub/ieee1275/ieee1275.h: Update copyright.
39996 * kern/powerpc/ieee1275/init.c: Likewise.
39997 * kern/powerpc/ieee1275/openfw.c: Likewise.
39998
39999 * loader/powerpc/ieee1275/linux.c: Likewise.
40000 * include/grub/elfload.h: Likewise.
40001 * kern/elf.c: Likewise.
40002 (grub_elf32_load): Pass `base' and `size' parameters. Update all
40003 callers.
40004 (grub_elf64_load): Likewise.
40005 (grub_elf32_load_segment): Move to a nested function.
40006 (grub_elf64_load_segment): Likewise.
40007
40008 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
40009
40010 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
40011 prototype.
40012 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
40013 (grub_heap_len): Likewise.
40014 (HEAP_SIZE): New macro.
40015 (grub_claim_heap): New function.
40016 (grub_machine_init): Don't claim heap directly. Call
40017 `grub_claim_heap'.
40018 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
40019 (grub_available_iterate): New function.
40020
40021 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
40022
40023 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
40024 * configure.ac: Use it for testing the HOST and TARGET compilers.
40025
40026 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
40027
40028 * Makefile.in (enable_grub_emu): New variable.
40029 * configure.ac (--enable-grub-emu): New option.
40030 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
40031 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
40032 * conf/i386-pc.rmk: Likewise.
40033 * conf/powerpc-ieee1275.rmk: Likewise.
40034 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
40035
40036 2006-12-12 Marco Gerards <marco@gnu.org>
40037
40038 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
40039
40040 * kern/env.c (grub_env_unset): Don't free the member `value' when
40041 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
40042 pointer.
40043
40044 * normal/main.c (current_menu): Removed.
40045 (free_menu): Unset the `menu' environment variable.
40046 (grub_normal_menu_addentry): Make use of the environment variable
40047 `menu', instead of using the global `current_menu'. Allocate
40048 memory for the sourcecode of this entry.
40049 (read_config_file): New argument `nested', changed all callers.
40050 Only in the case of a new context, initialize a new menu. Set the
40051 `menu' environment variable.
40052 (grub_normal_execute): Don't set and unset the environment
40053 variable `menu' here anymore. Only free the menu when leaving the
40054 context.
40055
40056 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
40057 leak.
40058
40059 2006-12-11 Marco Gerards <marco@gnu.org>
40060
40061 * normal/menu_entry.c (run): Fix off by one bug so the last line
40062 is executed. Move the loader check to outside the loop.
40063
40064 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
40065
40066 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
40067
40068 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
40069
40070 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
40071 the number of sectors. Reported by Andrey Shuvikov
40072 <mr_hyro@yahoo.com>.
40073
40074 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
40075
40076 * kern/disk.c (grub_disk_read): When there is a read error, always
40077 try to read only the necessary data.
40078
40079 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
40080 disk/raid.c.
40081 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
40082 prototype.
40083 [GRUB_UTIL] (grub_raid_fini): Likewise.
40084 [GRUB_UTIL] (grub_lvm_init): Likewise.
40085 [GRUB_UTIL] (grub_lvm_fini): Likewise.
40086 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
40087 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
40088 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
40089 and grub_raid_fini().
40090
40091 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
40092
40093 * include/grub/types.h (__unused): Rename to UNUSED.
40094 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
40095 (grub_elf64_size): Likewise.
40096
40097 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
40098
40099 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
40100 grub_error_push and grub_error_pop in the error-handling path.
40101 (grub_elf32_load_segment): Only call grub_file_read with non-zero
40102 length.
40103
40104 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
40105
40106 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
40107 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
40108 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40109 (kernel_elf_SOURCES): Likewise.
40110 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
40111 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
40112 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
40113 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
40114 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
40115 (elf_mod_SOURCES): New variable.
40116 (elf_mod_CFLAGS): Likewise.
40117 (elf_mod_LDFLAGS): Likewise.
40118 * include/grub/types.h (__unused): New macro.
40119 * include/grub/elfload.h: New file.
40120 * kern/elf.c: Likewise.
40121 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
40122 (ELF32_LOADMASK): New macro.
40123 (ELF64_LOADMASK): Likewise.
40124 (vmlinux): Removed.
40125 (grub_linux_load32): New function.
40126 (grub_linux_load64): Likewise.
40127 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
40128 Use grub_elf_t instead of grub_file_t.
40129
40130 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
40131
40132 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
40133 `catch_result' to struct set_color_args.
40134
40135 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
40136
40137 * normal/menu.c: Include grub/script.h.
40138 * normal/menu_entry.c: Likewise.
40139 * include/grub/normal.h: Do not include grub/script.h.
40140
40141 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
40142
40143 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
40144
40145 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
40146
40147 * kern/disk.c (grub_disk_open): Print debug messages when opening a
40148 disk.
40149 (grub_disk_close): Print debug messages when closing a disk.
40150 (grub_disk_read): Print debug messages when disk read fails.
40151 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
40152 filesystem type.
40153 * kern/partition.c: Include misc.h.
40154 (grub_partition_iterate): Print debug messages when detecting
40155 partition type.
40156
40157 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
40158
40159 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
40160 is negative.
40161 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
40162
40163 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
40164
40165 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
40166 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
40167
40168 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
40169
40170 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
40171 instead of sizeof(lv). Patch by Michael Guntsche.
40172
40173 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
40174
40175 * disk/lvm.c: Rename VGS to VG_LIST.
40176 (grub_lvm_iterate): Change VGS->LV to VG-LV.
40177 (grub_lvm_open): Likewise.
40178 Thanks to Michael Guntsche for finding this bug.
40179
40180 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
40181
40182 * configure.ac (AC_INIT): Bumped to 1.95.
40183
40184 2006-10-14 Robert Millan <rmh@aybabtu.com>
40185
40186 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
40187 with "/dev/.static/dev/md".
40188
40189 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
40190
40191 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
40192 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
40193 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
40194 DRIVE_NAME are always freed.
40195
40196 * util/i386/pc/biosdisk.c (make_device_name): Add one into
40197 DOS_PART, as a DOS partition is counted from one instead of zero
40198 now. Reported by Robert Millan.
40199
40200 2006-10-14 Robert Millan <rmh@aybabtu.com>
40201
40202 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
40203 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
40204 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
40205 string returned by grub_guess_root_device.
40206 * util/i386/pc/grub-setup.c: Likewise.
40207 * util/i386/pc/grub-probefs.c: Likewise.
40208
40209 * util/i386/pc/grub-probefs.c: Rename to ...
40210 * util/i386/pc/grub-probe.c: ... this.
40211 * DISTLIST: Remove grub-probefs, add grub-probe.
40212 * conf/i386-efi.rmk: Likewise.
40213 * conf/i386-pc.rmk: Likewise.
40214 * util/i386/pc/grub-install.in: Likewise.
40215
40216 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
40217 choose which information we want to print.
40218
40219 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
40220
40221 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
40222 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
40223 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
40224 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
40225 video/readers/tga.c and video/i386/pc/vbeutil.c.
40226
40227 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
40228
40229 Added support for RAID and LVM.
40230
40231 * disk/lvm.c: New file.
40232 * disk/raid.c: Likewise.
40233 * include/grub/lvm.h: Likewise.
40234 * include/grub/raid.h: Likewise.
40235 * include/grub/util/lvm.h: Likewise.
40236 * include/grub/util/raid.h: Likewise.
40237 * util/lvm.c: Likewise.
40238 * util/raid.c: Likewise.
40239
40240 * include/grub/disk.h (grub_disk_dev_id): Add
40241 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
40242 (grub_disk_get_size): New prototype.
40243 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
40244 returns a partition.
40245 (grub_disk_get_size): New function.
40246
40247 * kern/i386/pc/init.c (make_install_device): Copy the prefix
40248 verbatim if grub_install_dos_part is -2.
40249
40250 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
40251 and LVM devices.
40252
40253 * util/i386/pc/grub-setup.c (setup): New argument
40254 MUST_EMBED. Force embedding of GRUB when the argument is
40255 true. Close FILE before returning.
40256 (main): Add support for RAID and LVM.
40257
40258 * conf/common.rmk: Add RAID and LVM modules.
40259 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
40260 util/lvm.c.
40261 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
40262
40263 * kern/misc.c (grub_strstr): New function.
40264 * include/grub/misc.h (grub_strstr): New prototype.
40265
40266 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
40267
40268 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
40269
40270 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
40271
40272 * kern/misc.c (grub_strtoull): Guess the base only if not
40273 specified.
40274
40275 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
40276
40277 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
40278 PowerMac support.
40279
40280 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
40281
40282 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
40283
40284 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
40285 Remove `flags' argument. All callers changed.
40286 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
40287 (IEEE1275_IHANDLE_INVALID): New variable.
40288 (IEEE1275_CELL_INVALID): New variable.
40289 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
40290 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
40291 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
40292 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
40293 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
40294 codes from Open Firmware. All callers updated.
40295 (grub_ieee1275_next_property): Directly return Open Firmware return
40296 code.
40297 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
40298 Standardize error checking from `grub_ieee1275_get_property'.
40299 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
40300 `devalias' to `aliases'. Correct comments. Consolidate error paths.
40301
40302 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
40303
40304 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
40305 `instance_to_package_args' to `instance_to_path_args'.
40306
40307 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
40308 `grub_ieee1275_chosen'.
40309
40310 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
40311 `grub_ieee1275_interpret'.
40312
40313 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
40314
40315 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
40316
40317 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
40318
40319 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
40320 (__cmpdi): Likewise.
40321
40322 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
40323 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
40324 `grub_ssize_t'.
40325
40326 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
40327
40328 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
40329 to type `grub_ssize_t'.
40330 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
40331
40332 2006-09-22 Marco Gerards <marco@gnu.org>
40333
40334 * normal/script.c (grub_script_create_cmdmenu): Skip leading
40335 newlines.
40336
40337 2006-09-22 Marco Gerards <marco@gnu.org>
40338
40339 * commands/echo.c: New file.
40340
40341 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
40342
40343 * conf/common.rmk (echo_mod_SOURCES): New variable.
40344 (echo_mod_CFLAGS): Likewise.
40345 (echo_mod_LDFLAGS): Likewise.
40346
40347 2006-09-22 Marco Gerards <marco@gnu.org>
40348
40349 * normal/main.c (get_line): Malloc memory instead of using
40350 preallocated memory. Removed the arguments `cmdline' and
40351 `max_len'. Updated all callers.
40352
40353 2006-09-22 Marco Gerards <marco@gnu.org>
40354
40355 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
40356 (normal_mod_DEPENDENCIES): Likewise.
40357
40358 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
40359 (normal_mod_DEPENDENCIES): Likewise.
40360
40361 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
40362
40363 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
40364
40365 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
40366 programs.
40367 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
40368 (normal_mod_DEPENDENCIES): Likewise.
40369 * conf/i386-pc.mk: Regenerate.
40370 * conf/i386-efi.mk: Likewise
40371 * conf/common.mk: Likewise.
40372 * conf/powerpc-ieee1275.mk: Likewise.
40373 * conf/sparc64-ieee1275.mk: Likewise.
40374
40375 2006-09-22 Robert Millan <rmh@aybabtu.com>
40376
40377 Sync with i386 version.
40378 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
40379 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
40380
40381 2006-09-21 Robert Millan <rmh@aybabtu.com>
40382
40383 Import from GRUB Legacy (lib/device.c):
40384 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
40385 (init_device_map) [__linux__]: Add support for I2O devices.
40386
40387 2006-09-14 Marco Gerards <marco@gnu.org>
40388
40389 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
40390 `-melf_i386'.
40391
40392 2006-09-14 Robert Millan <rmh@aybabtu.com>
40393
40394 * util/i386/pc/grub-install.in: Skip menu.lst when removing
40395 /boot/grub/*.lst.
40396
40397 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
40398
40399 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
40400 before adding it to device.map.
40401
40402 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
40403
40404 * genmk.rb: Let GCC generate dependencies the first time it
40405 compiles a file; using the -MD option.
40406 * conf/common.mk: Regenerate.
40407 * conf/i386-pc.mk: Likewise.
40408 * conf/i386-efi.mk: Likewise.
40409 * conf/powerpc-ieee1275.mk: Likewise.
40410 * conf/sparc64-ieee1275.mk: Likewise.
40411
40412 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
40413
40414 Move the prototypes of grub_setjmp and grub_longjmp to
40415 cpu/setjmp.h, so that each architecture may specify different
40416 attributes.
40417
40418 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
40419 (grub_longjmp): Likewise.
40420 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
40421 (grub_longjmp): Likewise.
40422 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
40423 (grub_longjmp): Likewise.
40424
40425 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
40426 [!GRUB_UTIL] (grub_longjmp): Removed.
40427
40428 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
40429
40430 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
40431 "color!" method does not return any value.
40432
40433 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
40434
40435 * include/grub/bitmap.h: New file.
40436
40437 * include/grub/i386/pc/vbeutil.h: Likewise.
40438
40439 * video/bitmap.c: Likewise.
40440
40441 * video/readers/tga.c: Likewise.
40442
40443 * video/i386/pc/vbeutil.c: Likewise.
40444
40445 * commands/videotest.c: Code cleanup and updated to reflect to new
40446 video API.
40447
40448 * term/gfxterm.c: Likewise.
40449
40450 * video/video.c: Likewise.
40451
40452 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
40453 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
40454 (bitmap_mod_SOURCES): New entry.
40455 (bitmap_mod_CFLAGS): Likewise.
40456 (bitmap_mod_LDFLAGS): Likewise.
40457 (tga_mod_SOURCES): Likewise.
40458 (tga_mod_CFLAGS): Likewise.
40459 (tga_mod_LDFLAGS): Likewise.
40460
40461 * include/grub/video.h (grub_video_blit_operators): New enum type.
40462 (grub_video_render_target): Changed as forward declaration and moved
40463 actual definition to be video driver specific.
40464 (grub_video_adapter.blit_bitmap): Added blitting operator.
40465 (grub_video_adapter.blit_render_target): Likewise.
40466 (grub_video_blit_bitmap): Likewise.
40467 (grub_video_blit_render_target): Likewise.
40468
40469 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
40470 driver specific render target definition.
40471 (grub_video_vbe_map_rgba): Added driver internal helper.
40472 (grub_video_vbe_unmap_color): Updated to use
40473 grub_video_i386_vbeblit_info.
40474 (grub_video_vbe_get_video_ptr): Likewise.
40475
40476 * include/grub/i386/pc/vbeblit.h
40477 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
40478 grub_video_i386_vbeblit_info.
40479 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
40480 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
40481 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
40482 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
40483 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
40484 (grub_video_i386_vbeblit_index_index): Likewise.
40485 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
40486 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
40487 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
40488 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
40489 operator.
40490 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
40491 operator.
40492
40493 * video/i386/pc/vbeblit.c: Updated to reflect changes on
40494 include/grub/i386/pc/vbeblit.h.
40495
40496 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
40497 Updated to use grub_video_i386_vbeblit_info.
40498 (grub_video_i386_vbefill_R8G8B8): Likewise.
40499 (grub_video_i386_vbefill_index): Likewise.
40500 (grub_video_i386_vbefill): Added generic filler.
40501
40502 * video/i386/pc/vbefill.c: Updated to reflect changes on
40503 include/grub/i386/pc/vbefill.h.
40504
40505 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
40506 grub_video_i386_vbeblit_info.
40507 (grub_video_vbe_unmap_color): Likewise.
40508 (grub_video_vbe_blit_glyph): Likewise.
40509 (grub_video_vbe_scroll): Likewise.
40510 (grub_video_vbe_draw_pixel): Removed function.
40511 (grub_video_vbe_get_pixel): Likewise.
40512 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
40513 updated code to use it.
40514 (common_blitter): Added common blitter for render target and bitmap.
40515 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
40516 (grub_video_vbe_blit_render_target): Likewise.
40517
40518 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
40519
40520 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
40521 is in text mode if there is no console control protocol instance
40522 available.
40523
40524 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
40525
40526 * include/grub/video.h: Code cleanup.
40527
40528 * include/grub/i386/pc/vbe.h: Likewise.
40529
40530 * video/i386/pc/vbe.c: Likewise.
40531
40532 * video/i386/pc/vbeblit.c: Likewise.
40533
40534 * video/i386/pc/vbefill.c: Likewise.
40535
40536 * video/video.c: Likewise. Also added more comments.
40537
40538 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
40539
40540 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
40541 (struct grub_biosdisk_dap): Likewise.
40542
40543 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
40544 linkage settings for all functions.
40545
40546 2006-07-12 Marco Gerards <marco@gnu.org>
40547
40548 * configure.ac (--enable-mm-debug): Fix typo.
40549
40550 * genkernsyms.sh.in: Use proper quoting for `CC'.
40551
40552 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
40553
40554 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
40555 (normal_mod_ASFLAGS): Remove "-m32".
40556
40557 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
40558
40559 * util/misc.c: Include config.h.
40560 [!HAVE_MEMALIGN]: Do not include malloc.h.
40561 (grub_memalign): Use posix_memalign, if present. Then, use
40562 memalign, if present. Otherwise, emit an error.
40563
40564 * util/grub-emu.c: Do not include malloc.h.
40565
40566 * include/grub/util/misc.h: Include unistd.h. This is required for
40567 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
40568 D. Eades III <hde@foobar-qux.org>.
40569
40570 * configure.ac (AC_GNU_SOURCE): Added.
40571 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
40572 type.
40573
40574 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
40575
40576 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
40577 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
40578
40579 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
40580
40581 * include/grub/types.h (grub_host_addr_t): Rename to
40582 grub_target_addr_t.
40583 (grub_host_off_t): Rename to grub_target_off_t.
40584 (grub_host_size_t): Rename to grub_target_size_t.
40585 (grub_host_ssize_t): Rename to grub_target_ssize_t.
40586 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
40587
40588 * include/grub/kernel.h (struct grub_module_header): Change type
40589 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
40590 (grub_module_info): Likewise.
40591
40592 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
40593
40594 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
40595 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
40596 Velazquez <jesus.velazquez@gmail.com>.
40597
40598 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
40599
40600 Count partitions from 1 instead of 0 in the string representation
40601 of partitions. Still use 0-based internally.
40602
40603 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
40604 (sun_partition_map_iterate): Use grub_partition_t instead of
40605 struct grub_partition *. Cast DESC->START_CYLINDER to
40606 grub_uint64_t after converting the endian.
40607 (sun_partition_map_probe): Subtract 1 for PARTNUM.
40608 (sun_partition_map_get_name): Add 1 to P->INDEX.
40609
40610 * partmap/pc.c (grub_partition_parse): Subtract 1 for
40611 PCDATA->DOS_PART.
40612 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
40613
40614 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
40615 zero instead of one.
40616 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
40617 (gpt_partition_map_get_name): Add 1 into P->INDEX.
40618
40619 * partmap/apple.c (apple_partition_map_iterate): Change the type
40620 of POS to unsigned.
40621 (apple_partition_map_probe): Subtract 1 for PARTNUM.
40622 (apple_partition_map_get_name): Add 1 into P->INDEX.
40623
40624 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
40625 of POS to unsigned.
40626 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
40627 calculate the offset of a partition.
40628 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
40629 (amiga_partition_map_get_name): Add 1 into P->INDEX.
40630
40631 * partmap/acorn.c (acorn_partition_map_find): Change the type of
40632 SECTOR to grub_disk_addr_t.
40633 (acorn_partition_map_iterate): Likewise.
40634 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
40635 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
40636 top.
40637 (acorn_partition_map_get_name): Add 1 into P->INDEX.
40638
40639 * kern/i386/pc/init.c (make_install_device): Add 1 into
40640 GRUB_INSTALL_DOS_PART.
40641
40642 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
40643 conditional.
40644
40645 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
40646
40647 Clean up the code to support 64-bit addressing in disks and
40648 files. This change is not enough for filesystems yet.
40649
40650 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
40651 type of "start" to grub_uint64_t.
40652 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
40653 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
40654 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
40655 convert addresses.
40656
40657 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
40658 to grub_disk_addr_t.
40659
40660 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
40661 string.
40662
40663 * partmap/pc.c (pc_partition_map_iterate): Likewise.
40664
40665 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
40666 to char *.
40667
40668 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
40669
40670 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
40671
40672 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
40673
40674 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
40675 to grub_off_t, to detect an error from grub_file_seek.
40676 (grub_multiboot_load_elf32): Likewise.
40677
40678 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
40679 maximum unsigned long value when an overflow is detected.
40680 (grub_strtoull): New function.
40681 (grub_divmod64): Likewise.
40682 (grub_lltoa): use grub_divmod64.
40683
40684 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
40685 grub_disk_addr_t.
40686 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
40687 the pointer to next character. Use grub_strtoull instead of
40688 grub_strtoul.
40689 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
40690 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
40691 respectively.
40692
40693 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
40694 return value is signed.
40695 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
40696 test if OFFSET is less than zero, as OFFSET is unsigned now.
40697
40698 * kern/disk.c (struct grub_disk_cache): Change the type of
40699 "sector" to grub_disk_addr_t.
40700 (grub_disk_cache_get_index): Change the type of SECTOR to
40701 grub_disk_addr_t. Calculate the hash with SECTOR casted to
40702 unsigned after shifting.
40703 (grub_disk_cache_invalidate): Change the type of SECTOR to
40704 grub_disk_addr_t.
40705 (grub_disk_cache_unlock): Likewise.
40706 (grub_disk_cache_store): Likewise.
40707 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
40708 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
40709 grub_disk_addr_t and grub_uint64_t, respectively.
40710 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
40711 body, as the value of OFFSET is tweaked by
40712 grub_disk_check_range. Change the types of START_SECTOR, LEN and
40713 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
40714 respectively.
40715 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
40716 body, as the value of OFFSET is tweaked by
40717 grub_disk_check_range. Change the types of LEN and N to
40718 grub_size_t.
40719
40720 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
40721 and "saved_offset" to grub_off_t.
40722 (test_header): Cast BUF to char *.
40723 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
40724 to char *.
40725 (grub_gzio_read): Change the types of OFFSET and SIZE to
40726 grub_off_t and grub_size_t, respectively.
40727
40728 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
40729 Removed.
40730 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
40731 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
40732 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
40733 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
40734 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
40735
40736 * include/grub/types.h (grub_off_t): Unconditionally set to
40737 grub_uint64_t.
40738 (grub_disk_addr_t): Changed to grub_uint64_t.
40739
40740 * include/grub/partition.h (struct grub_partition): Change the
40741 types of "start", "len" and "offset" to grub_disk_addr_t,
40742 grub_uint64_t and grub_disk_addr_t, respectively.
40743 (grub_partition_get_start): Return grub_disk_addr_t.
40744 (grub_partition_get_len): Return grub_uint64_t.
40745
40746 * include/grub/misc.h (grub_strtoull): New prototype.
40747 (grub_divmod64): Likewise.
40748
40749 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
40750 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
40751 grub_off_t, respectively.
40752 All callers and references changed.
40753
40754 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
40755 grub_size_t in "read".
40756 All callers and references changed.
40757
40758 * include/grub/file.h (struct grub_file): Change the types of
40759 "offset" and "size" to grub_off_t and grub_off_t,
40760 respectively. Change the type of SECTOR to grub_disk_addr_t in
40761 "read_hook".
40762 (grub_file_read): Change the type of LEN to grub_size_t.
40763 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
40764 grub_off_t.
40765 (grub_file_size): Return grub_off_t.
40766 (grub_file_tell): Likewise.
40767 All callers and references changed.
40768
40769 * include/grub/disk.h (struct grub_disk_dev): Change the types of
40770 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
40771 "write".
40772 (struct grub_disk): Change the type of "total_sectors" to
40773 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
40774 "read_hook".
40775 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
40776 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
40777 (grub_disk_write): Likewise.
40778 All callers and references changed.
40779
40780 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
40781 char * for grub_strncmp to silence gcc.
40782 (grub_iso9660_mount): Likewise.
40783 (grub_iso9660_mount): Likewise.
40784 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
40785 return statement.
40786 (grub_iso9660_iterate_dir): Likewise.
40787 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
40788
40789 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
40790 LEN to grub_disk_addr_t and grub_size_t, respectively.
40791
40792 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
40793
40794 * fs/jfs.c (grub_jfs_read_file): Likewise.
40795
40796 * fs/minix.c (grub_jfs_read_file): Likewise.
40797
40798 * fs/sfs.c (grub_jfs_read_file): Likewise.
40799
40800 * fs/ufs.c (grub_jfs_read_file): Likewise.
40801
40802 * fs/xfs.c (grub_jfs_read_file): Likewise.
40803
40804 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
40805 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
40806 respectively.
40807
40808 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
40809 BLKNR to -1 instead of returning GRUB_ERRNO.
40810 (grub_ext2_read_file): Change the types of SECTOR and
40811 LEN to grub_disk_addr_t and grub_size_t, respectively.
40812
40813 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
40814 LEN to grub_disk_addr_t and grub_size_t, respectively.
40815
40816 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
40817 grub_file_read.
40818
40819 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
40820 string. Do not cast SECTOR explicitly.
40821
40822 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
40823 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
40824 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
40825 grub_disk_addr_t and grub_size_t, respectively. If the sector is
40826 over 2TB and LBA mode is not supported, raise an error.
40827 (get_safe_sectors): New function.
40828 (grub_biosdisk_read): Use get_safe_sectors.
40829 (grub_biosdisk_write): Likewise.
40830
40831 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
40832 (grub_efidisk_write): Likewise.
40833
40834 * disk/loopback.c (delete_loopback): Cosmetic changes.
40835 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
40836 correctly.
40837 (grub_loopback_open): Likewise.
40838 (grub_loopback_read): Likewise. Also, change the type of POS to
40839 grub_off_t, and fix the usage of grub_memset.
40840
40841 * commands/i386/pc/play.c: Include grub/machine/time.h.
40842
40843 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
40844 print FILE->SIZE.
40845
40846 * commands/configfile.c: Include grub/env.h.
40847
40848 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
40849 GRUB_ERRNO directly instead. Change the type of POS to
40850 grub_off_t. Follow the coding standard.
40851
40852 * commands/blocklist.c: Include grub/partition.h.
40853 (grub_cmd_blocklist): Return an error if the underlying device is
40854 not a disk. Take the starting sector of a partition into account,
40855 if a partition is used.
40856
40857 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
40858 a length field.
40859 (lba_mode): Support 64-bit addresses.
40860 (chs_mode): Likewise.
40861 (copy_buffer): Adapted to the new offsets of a length field and a
40862 segment field.
40863 (blocklist_default_start): Allocate 64-bit space.
40864
40865 * boot/i386/pc/boot.S (force_lba): Removed.
40866 (boot_drive): Moved to under KERNEL_SECTOR.
40867 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
40868 space.
40869 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
40870 is useless.
40871 (lba_mode): Refactored to support a 64-bit address. More size
40872 optimization.
40873 (setup_sectors): Likewise.
40874
40875 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
40876
40877 * DISTLIST: Added include/grub/i386/linux.h. Removed
40878 include/grub/i386/pc/linux.h
40879
40880 * configure.ac (AC_INIT): Bumped to 1.94.
40881
40882 * config.guess: Updated from gnulib.
40883 * config.sub: Likewise.
40884 * install-sh: Likewise.
40885 * mkinstalldirs: Likewise.
40886
40887 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
40888
40889 * conf/common.rmk (grub_modules_init.lst): Depended on
40890 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
40891 MODSRCFILES.
40892
40893 * genmk.rb (PModule::rule): Reverted the previous change.
40894
40895 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
40896
40897 * conf/common.rmk (grub_modules_init.lst): Depends on
40898 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
40899 that the target does not exist before producing.
40900 (grub_modules_init.h): Remove the target before generating.
40901 (grub_emu_init.c): Likewise.
40902
40903 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
40904
40905 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
40906
40907 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
40908 for the target-specific tests. Make sure that we also have the
40909 up-to-date target variables for those tests.
40910
40911 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
40912
40913 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
40914 (PModule::rule): Likewise.
40915
40916 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
40917
40918 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
40919 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
40920 target-specific flags should be prefixed.
40921 (PModule::rule): Likewise.
40922
40923 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
40924
40925 * configure.ac (CMP): Check if cmp is available explicitly.
40926
40927 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
40928
40929 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
40930 (target_cpu): New variable.
40931 (pkglibdir): Use target_cpu instead of host_cpu.
40932
40933 * util/i386/pc/grub-install.in (host_cpu): Removed.
40934 (target_cpu): New variable.
40935 (pkglibdir): Use target_cpu instead of host_cpu.
40936
40937 * util/genmoddep.c: Removed.
40938
40939 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
40940 instead of GRUB_HOST_SIZEOF_VOID_P.
40941 * kern/dl.c: Likewise.
40942
40943 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
40944 ...
40945 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
40946 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
40947 (GRUB_TARGET_SIZEOF_LONG): ... this.
40948 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
40949 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
40950 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
40951 to ...
40952 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
40953 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
40954 (GRUB_TARGET_SIZEOF_LONG): ... this.
40955 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
40956 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
40957 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
40958 to ...
40959 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
40960 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
40961 (GRUB_TARGET_SIZEOF_LONG): ... this.
40962 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
40963 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
40964
40965 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
40966 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
40967 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
40968 instead of GRUB_HOST_SIZEOF_LONG.
40969 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
40970 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
40971 GRUB_CPU_WORDS_BIGENDIAN.
40972 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
40973 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
40974 grub_host_ssize_t.
40975
40976 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
40977 (genmoddep_SOURCES): Likewise.
40978 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
40979 (genmoddep_SOURCES): Likewise.
40980 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
40981 (genmoddep_SOURCES): Likewise.
40982 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
40983 Likewise.
40984 (genmoddep_SOURCES): Likewise.
40985
40986 * genmoddep.awk: New file.
40987
40988 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
40989 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
40990 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
40991 (PModule::rule): Likewise.
40992 (Program::rule): Likewise.
40993 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
40994 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
40995 respectively.
40996
40997 * configure.ac: Rewritten intensively to use host and target
40998 instead of build and host, respectively.
40999
41000 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
41001 (host_cpu): Removed.
41002 (target_cpu): New variable.
41003 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
41004 (BUILD_CC): Removed.
41005 (BUILD_CFLAGS): Likewise.
41006 (BUILD_CPPFLAGS): Likewise.
41007 (TARGET_CC): New variable.
41008 (TARGET_CFLAGS): Likewise.
41009 (TARGET_CPPFLAGS): Likewise.
41010 (TARGET_LDFLAGS): Likewise.
41011 (AWK): Likewise.
41012 (include): Use target_cpu instead of host_cpu.
41013 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
41014
41015 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
41016
41017 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
41018
41019 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
41020 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
41021 field 'false' to 'exec_on_false'.
41022 (grub_script_create_cmdif): Renamed argument names to reflect above
41023 changes.
41024
41025 * normal/execute.c (grub_script_execute_cmdif): Likewise.
41026
41027 * normal/script.c (grub_script_create_cmdif): Likewise.
41028
41029 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
41030
41031 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
41032 top.
41033 (grub_hfsplus_btree_recptr): Likewise.
41034 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
41035 FILEBLOCK both to pass a block number and store next block
41036 number.
41037 (grub_hfsplus_read_block): Rewritten heavily to support an extent
41038 overflow file correctly. Specify errors appropriately, because
41039 fshelp expects that GRUB_ERRNO is set when fails. Reuse
41040 grub_hfsplus_btree_recptr to get the pointer to a found key.
41041 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
41042 is found.
41043
41044 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
41045 linux.mod.
41046 (_linux_mod_SOURCES): New variable.
41047 (_linux_mod_CFLAGS): Likewise.
41048 (_linux_mod_LDFLAGS): Likewise.
41049 (linux_mod_SOURCES): Likewise.
41050 (linux_mod_CFLAGS): Likewise.
41051 (linux_mod_LDFLAGS): Likewise.
41052
41053 * DISTLIST: Added loader/i386/efi/linux.c,
41054 loader/i386/efi/linux_normal.c and
41055 include/grub/i386/efi/loader.h.
41056
41057 * loader/i386/efi/linux.c: New file.
41058 * loader/i386/efi/linux_normal.c: Likewise.
41059 * include/grub/i386/efi/loader.h: Likewise.
41060
41061 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
41062
41063 * commands/blocklist.c: New file.
41064
41065 * DISTLIST: Added commands/blocklist.c.
41066
41067 * term/efi/console.c (grub_console_highlight_color): Use a lighter
41068 color for the background, and a darker color for the foreground.
41069 (grub_console_checkkey): Return READ_KEY.
41070 (grub_console_cls): Set the background to
41071 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
41072
41073 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
41074
41075 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
41076 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
41077
41078 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
41079 prototype.
41080
41081 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
41082 BG. The spec is wrong again.
41083
41084 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
41085 prototype.
41086 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
41087
41088 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
41089 commands/blocklist.c.
41090 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41091
41092 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
41093 (blocklist_mod_SOURCES): New variable.
41094 (blocklist_mod_CFLAGS): Likewise.
41095 (blocklist_mod_LDFLAGS): Likewise.
41096
41097 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
41098
41099 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
41100 duplication.
41101 (lba_mode): Use %eax more intensively to reduce the code size.
41102
41103 2006-05-20 Marco Gerards <marco@gnu.org>
41104
41105 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
41106
41107 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
41108 for `menuentry'.
41109 (script): Accept leading newlines.
41110 (newlines): New rule to describe 0 or more newlines.
41111 (commands): Accept `command' with trailing newline. Fixed the
41112 order in which arguments were passed to `grub_script_add_cmd'.
41113 Accept commands separated by newlines.
41114 (function): Changed to accept newlines.
41115 (menuentry) Rewritten.
41116
41117 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
41118 front of the list, instead of to the end.
41119
41120 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
41121
41122 * util/i386/pc/grub-install.in (bindir): New variable.
41123 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
41124 Shaver <lbgwjl@gmail.com>.
41125
41126 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
41127
41128 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
41129 grub/machine/linux.h
41130 * loader/i386/pc/linux.c: Likewise.
41131
41132 * include/grub/i386/pc/linux.h: Moved to ...
41133 * include/grub/i386/linux.h: ... here.
41134
41135 * include/grub/i386/linux.h (struct linux_kernel_params): New
41136 struct.
41137
41138 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
41139
41140 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
41141 checking.
41142 (grub_video_vbe_blit_glyph): Likewise.
41143 (grub_video_vbe_blit_bitmap): Likewise.
41144 (grub_video_vbe_blit_render_target): Likewise.
41145
41146 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
41147
41148 * configure.ac (--with-platform): Properly quote the square
41149 brackets.
41150
41151 2006-05-08 Marco Gerards <marco@gnu.org>
41152
41153 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
41154 this...
41155 (kernel_elf_HEADERS): ...to this. Updated all users.
41156 (grubof_symlist.c): Renamed from this...
41157 (kernel_elf_symlist.c): ...to this. Updated all users.
41158 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
41159 (grubof_SOURCES): Renamed from this...
41160 (kernel_elf_SOURCES): ...to this.
41161 (grubof_HEADERS): Renamed from this...
41162 (kernel_elf_HEADERS): ...to this.
41163 (grubof_CFLAGS): Renamed from this...
41164 (kernel_elf_CFLAGS): ...to this.
41165 (grubof_ASFLAGS): Renamed from this...
41166 (kernel_elf_ASFLAGS): ...to this.
41167 (grubof_LDFLAGS): Renamed from this...
41168 (kernel_elf_LDFLAGS): ...to this.
41169
41170 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
41171 this...
41172 (kernel_elf_HEADERS): ...to this. Updated all users.
41173 (grubof_symlist.c): Renamed from this...
41174 (kernel_elf_symlist.c): ...to this. Updated all users.
41175 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
41176 (grubof_SOURCES): Renamed from this...
41177 (kernel_elf_SOURCES): ...to this.
41178 (grubof_HEADERS): Renamed from this...
41179 (kernel_elf_HEADERS): ...to this.
41180 (grubof_CFLAGS): Renamed from this...
41181 (kernel_elf_CFLAGS): ...to this.
41182 (grubof_ASFLAGS): Renamed from this...
41183 (kernel_elf_ASFLAGS): ...to this.
41184 (grubof_LDFLAGS): Renamed from this...
41185 (kernel_elf_LDFLAGS): ...to this.
41186
41187 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
41188 `kernel.elf' instead of `grubof'.
41189
41190 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
41191
41192 Add --with-platform to configure. Use pkglibdir instead of
41193 pkgdatadir. This is reported by Roger Leigh.
41194
41195 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
41196 (host_vendor): Likewise.
41197 (host_os): Likewise.
41198 (pkgdatadir): Likewise.
41199 (platform): New variable.
41200 (pkglibdir): Likewise.
41201 Use PKGLIBDIR instead of PKGDATADIR.
41202
41203 * util/i386/pc/grub-install.in (datadir): Removed.
41204 (host_vendor): Likewise.
41205 (host_os): Likewise.
41206 (pkgdatadir): Likewise.
41207 (platform): New variable.
41208 (pkglibdir): Likewise.
41209 Use PKGLIBDIR instead of PKGDATADIR.
41210
41211 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
41212 instead of GRUB_DATADIR.
41213 (main): Likewise.
41214 * util/i386/pc/grub-mkimage.c (usage): Likewise.
41215 (main): Likewise.
41216 * util/i386/efi/grub-mkimage.c (usage): Likewise.
41217 (main): Likewise.
41218
41219 * configure.ac (--with-platform): New option.
41220 Use PLATFORM instead of HOST_VENDOR to specify a platform.
41221
41222 * Makefile.in: Include a makefile based on PLATFORM instead of
41223 HOST_VENDOR.
41224 (pkgdatadir): Not appended by the machine type.
41225 (pkglibdir): Appended by the machine type.
41226 (host_vendor): Removed.
41227 (platform): New variable.
41228 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
41229 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
41230 (uninstall): Likewise.
41231
41232 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
41233
41234 Use the environment context in the menu. Remove the commands
41235 "default" and "timeout", and use variables instead.
41236
41237 * normal/menu.c: Include grub/env.h.
41238 (print_entry): Cast TITLE to silence gcc.
41239 (get_timeout): New function.
41240 (set_timeout): Likewise.
41241 (get_entry_number): Likewise.
41242 (run_menu): Use a default entry, a fallback entry and a timeout
41243 in the environment variables "default", "fallback" and
41244 "timeout". Also, tweak the default entry if it is not within the
41245 current menu entries.
41246 (grub_menu_run): Use a fallback entry in the environment variable
41247 "fallback".
41248
41249 * normal/main.c (read_config_file): Do not initialize
41250 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
41251 NEWMENU->TIMEOUT.
41252 (grub_normal_execute): Use a data slot to store the menu.
41253
41254 * include/grub/normal.h (struct grub_menu): Removed default_entry,
41255 fallback_entry and timeout.
41256 (struct grub_menu_list): Removed.
41257 (grub_menu_list_t): Likewise.
41258 (struct grub_context): Likewise.
41259 (grub_context_t): Likewise.
41260 (grub_context_get): Likewise.
41261 (grub_context_get_current_menu): Likewise.
41262 (grub_context_push_menu): Likewise.
41263 (grub_context_pop_menu): Likewise.
41264 (grub_default_init): Likewise.
41265 (grub_default_fini): Likewise.
41266 (grub_timeout_init): Likewise.
41267 (grub_timeout_fini): Likewise.
41268
41269 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
41270 and timeout.mod.
41271 (normal_mod_SOURCES): Removed normal/context.c.
41272
41273 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
41274 commands/default.c, commands/timeout.c and normal/context.c.
41275 (normal_mod_SOURCES): Removed normal/context.c.
41276
41277 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
41278 commands/timeout.c and normal/context.c.
41279 (normal_mod_SOURCES): Removed normal/context.c.
41280
41281 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
41282 commands/default.c, commands/timeout.c and normal/context.c.
41283 (normal_mod_SOURCES): Removed normal/context.c.
41284
41285 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
41286 timeout.mod.
41287 (default_mod_SOURCES): Removed.
41288 (default_mod_CFLAGS): Likewise.
41289 (default_mod_LDFLAGS): Likewise.
41290 (timeout_mod_SOURCES): Removed.
41291 (timeout_mod_CFLAGS): Likewise.
41292 (timeout_mod_LDFLAGS): Likewise.
41293
41294 * DISTLIST: Removed commands/default.c, commands/timeout.c and
41295 normal/context.c.
41296
41297 * commands/default.c: Removed.
41298 * commands/timeout.c: Likewise.
41299 * normal/context.c: Likewise.
41300
41301 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
41302
41303 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
41304
41305 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
41306
41307 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
41308 "next" to "prev" for readability.
41309 (struct grub_env_sorted_var): New struct.
41310 (grub_env_context): Renamed to ...
41311 (initial_context): ... this.
41312 (grub_env_var_context): Renamed to ...
41313 (current_context): ... this.
41314 (grub_env_find): Look only at CURRENT_CONTEXT.
41315 (grub_env_context_open): Rewritten to copy exported variables from
41316 previous context.
41317 (grub_env_context_close): Rewritten according to the new
41318 scheme. Also, add an assertion to prevent the initial context from
41319 removed.
41320 (grub_env_insert): Removed the code for the sorted list.
41321 (grub_env_remove): Likewise.
41322 (grub_env_export): Simply mark the variable with
41323 GRUB_ENV_VAR_GLOBAL.
41324 (grub_env_set): A cosmetic change for naming consistency.
41325 (grub_env_get): Likewise.
41326 (grub_env_unset): Likewise.
41327 (grub_env_iterate): Rewritten to sort variables within this
41328 function.
41329 (grub_register_variable_hook): Fixed for naming consistency. Call
41330 grub_env_find again, only if NAME is not found at the first time.
41331 (mangle_data_slot_name): New function.
41332 (grub_env_set_data_slot): Likewise.
41333 (grub_env_get_data_slot): Likewise.
41334 (grub_env_unset_data_slot): Likewise.
41335
41336 * include/grub/env.h (grub_env_var_type): New enum.
41337 (GRUB_ENV_VAR_LOCAL): New constant.
41338 (GRUB_ENV_VAR_GLOBAL): Likewise.
41339 (GRUB_ENV_VAR_DATA): Likewise.
41340 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
41341 "type".
41342 (grub_env_set): Replace VAR with NAME for consistency.
41343 (grub_register_variable_hook): Likewise.
41344 (grub_env_export): Specify the name of the argument.
41345 (grub_env_set_data_slot): New prototype.
41346 (grub_env_get_data_slot): Likewise.
41347 (grub_env_unset_data_slot): Likewise.
41348
41349 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
41350
41351 Extend the loader so that GRUB can accept a loader which comes
41352 back to GRUB when a loaded image exits. Also, this change adds
41353 support for a chainloader on EFI.
41354
41355 * term/efi/console.c: Include grub/misc.h.
41356 (grub_console_checkkey): Display a scan code on the top for
41357 debugging. This will be removed once the EFI port gets stable.
41358 Correct the scan code mapping.
41359
41360 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
41361 allocate memory from larger regions, in order to reduce the number
41362 of allocated regions. Otherwise, the MacOSX loader panics.
41363 (filter_memory_map): Avoid less than 1MB for compatibility with
41364 other loaders.
41365 (add_memory_regions): Allocate from the tail of a region, if
41366 possible, to avoid allocating a region near to 1MB, for the MacOSX
41367 loader.
41368
41369 * kern/efi/init.c (grub_efi_set_prefix): Specify
41370 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
41371
41372 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
41373 argument IMAGE_HANDLE and specify it to get a loaded image.
41374 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
41375 grub_efi_get_loaded_image.
41376 (grub_efi_get_filename): Divide the length by the size of
41377 grub_efi_char16_t.
41378 (grub_efi_get_device_path): New function.
41379 (grub_efi_print_device_path): Print End Device Path nodes. Divide
41380 the length by the size of grub_efi_char16_t for a file path device
41381 path node.
41382
41383 * kern/loader.c (grub_loader_noreturn): New variable.
41384 (grub_loader_set): Accept a new argument NORETURN. Set
41385 GRUB_LOADER_NORETURN to NORETURN.
41386 All callers changed.
41387 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
41388 grub_machine_fini.
41389
41390 * include/grub/efi/efi.h (grub_efi_get_device_path): New
41391 prototype.
41392 (grub_efi_get_loaded_image): Take an argument to specify an image
41393 handle.
41394
41395 * include/grub/loader.h (grub_loader_set): Added one more argument
41396 NORETURN.
41397
41398 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
41399 instead of grub_efi_open_protocol.
41400 (grub_efidisk_get_device_name): Likewise.
41401 (grub_efidisk_close): Print a newline.
41402 (grub_efidisk_get_device_handle): Fixed to use
41403 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
41404 GRUB_EFI_DEVICE_PATH_TYPE.
41405
41406 * disk/efi/efidisk.c (device_path_guid): Moved to ...
41407 * kern/efi/efi.c (device_path_guid): ... here.
41408
41409 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
41410 chain.mod.
41411 (kernel_mod_HEADERS): Added efi/disk.h.
41412 (_chain_mod_SOURCES): New variable.
41413 (_chain_mod_CFLAGS): Likewise.
41414 (_chain_mod_LDFLAGS): Likewise.
41415 (chain_mod_SOURCES): Likewise.
41416 (chain_mod_CFLAGS): Likewise.
41417 (chain_mod_LDFLAGS): Likewise.
41418
41419 * DISTLIST: Added include/grub/efi/chainloader.h,
41420 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
41421
41422 * include/grub/efi/chainloader.h: New file.
41423 * loader/efi/chainloader.c: Likewise.
41424 * loader/efi/chainloader_normal.c: Likewise.
41425
41426 2006-04-30 Marco Gerards <marco@gnu.org>
41427
41428 * commands/configfile.c (grub_cmd_source): New function.
41429 (GRUB_MOD_INIT): Register the commands `source' and `.'.
41430 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
41431
41432 2006-04-30 Marco Gerards <marco@gnu.org>
41433
41434 * normal/execute.c (grub_script_execute_cmd): Change the return
41435 type to `grub_err_t'. Correctly return the error.
41436 (grub_script_execute_cmdline): In case a command line is not a
41437 command or a function, try to interpret it as an assignment.
41438
41439 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
41440
41441 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
41442 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
41443 skip a node whose name is obviously invalid as UTF-16,
41444 i.e. contains a NUL character. Stop the iteration when the last
41445 directory entry is found. Instead of using the return value of
41446 grub_hfsplus_btree_iterate_node, store the value in RET and use
41447 it, because the iterator can be stopped by the last directory
41448 entry.
41449
41450 2006-04-30 Marco Gerards <marco@gnu.org>
41451
41452 * include/grub/env.h (grub_env_export): New prototype. Reported
41453 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
41454
41455 2006-04-30 Marco Gerards <marco@gnu.org>
41456
41457 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
41458 size of the extents in a catalog file record.
41459
41460 2006-04-29 Marco Gerards <marco@gnu.org>
41461
41462 * commands/configfile.c (grub_cmd_configfile): Execute the
41463 configfile within its own context.
41464
41465 * include/grub/env.h (grub_env_context_open): New prototype.
41466 (grub_env_context_close): Likewise.
41467
41468 * kern/env.c (grub_env): Removed.
41469 (grub_env_sorted): Likewise.
41470 (grub_env_context): New variable.
41471 (grub_env_var_context): Likewise.
41472 (grub_env_find): Search both the active context and the global
41473 context.
41474 (grub_env_context_open): New function.
41475 (grub_env_context_close): Likewise.
41476 (grub_env_insert): Likewise.
41477 (grub_env_remove): Likewise.
41478 (grub_env_export): Likewise.
41479 (grub_env_set): Changed to use helper functions to avoid code
41480 duplication.
41481 (grub_env_iterate): Rewritten so both the current context and the
41482 global context are being used.
41483
41484 * normal/command.c (export_command): New function.
41485 (grub_command_init): Register the `export' function.
41486
41487 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
41488
41489 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
41490 explicitly to suppress gcc's warnings.
41491 * fs/fat.c (grub_fat_find_dir): Likewise.
41492 (grub_fat_label): Likewise.
41493 * fs/xfs.c (grub_xfs_read_inode): Likewise.
41494 (grub_xfs_mount): Likewise.
41495 (grub_xfs_label): Likewise.
41496 * fs/affs.c (grub_affs_mount): Likewise.
41497 (grub_affs_label): Likewise.
41498 (grub_affs_iterate_dir): Likewise.
41499 * fs/sfs.c (grub_sfs_mount): Likewise.
41500 (grub_sfs_iterate_dir): Likewise.
41501 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
41502 * fs/hfs.c (grub_hfs_mount): Likewise.
41503 (grub_hfs_cmp_catkeys): Likewise.
41504 (grub_hfs_find_dir): Likewise.
41505 (grub_hfs_dir): Likewise.
41506 (grub_hfs_label): Likewise.
41507 * fs/jfs.c (grub_jfs_mount): Likewise.
41508 (grub_jfs_opendir): Likewise.
41509 (grub_jfs_getent): Likewise.
41510 (grub_jfs_lookup_symlink): Likewise.
41511 (grub_jfs_label): Likewise.
41512 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
41513 (grub_hfsplus_iterate_dir): Likewise.
41514 (grub_hfsplus_btree_iterate_node): Made static.
41515
41516 * util/grub-emu.c (prefix): New variable.
41517 (grub_machine_set_prefix): New function.
41518 (main): Do not set the environment variable "prefix" here. Only
41519 set PREFIX, which is used later by grub_machine_set_prefix.
41520
41521 * include/grub/video.h: Do not include grub/symbol.h.
41522 (grub_video_register): Not exported. This symbol is not defined in
41523 the kernel.
41524 (grub_video_unregister): Likewise.
41525 (grub_video_iterate): Likewise.
41526 (grub_video_setup): Likewise.
41527 (grub_video_restore): Likewise.
41528 (grub_video_get_info): Likewise.
41529 (grub_video_get_blit_format): Likewise.
41530 (grub_video_set_palette): Likewise.
41531 (grub_video_get_palette): Likewise.
41532 (grub_video_set_viewport): Likewise.
41533 (grub_video_get_viewport): Likewise.
41534 (grub_video_map_color): Likewise.
41535 (grub_video_map_rgb): Likewise.
41536 (grub_video_map_rgba): Likewise.
41537 (grub_video_fill_rect): Likewise.
41538 (grub_video_blit_glyph): Likewise.
41539 (grub_video_blit_bitmap): Likewise.
41540 (grub_video_blit_render_target): Likewise.
41541 (grub_video_scroll): Likewise.
41542 (grub_video_swap_buffers): Likewise.
41543 (grub_video_create_render_target): Likewise.
41544 (grub_video_delete_render_target): Likewise.
41545 (grub_video_set_active_render_target): Likewise.
41546
41547 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
41548 Undefined.
41549 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
41550
41551 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
41552 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41553 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41554 instead of $(srcdir)/genkernsyms.sh.
41555
41556 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
41557 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41558 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41559 instead of $(srcdir)/genkernsyms.sh.
41560
41561 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
41562 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41563 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41564 instead of $(srcdir)/genkernsyms.sh.
41565
41566 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
41567 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41568 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41569 instead of $(srcdir)/genkernsyms.sh.
41570
41571 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
41572 genkernsyms.sh.
41573
41574 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
41575 genkernsyms.sh.
41576 (gensymlist.sh): New target.
41577 (genkernsyms.sh): Likewise.
41578
41579 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
41580 genkernsyms.sh.in and gensymlist.sh.in.
41581
41582 * genkernsyms.sh: Removed.
41583 * gensymlist.sh: Likewise.
41584
41585 * genkernsyms.sh.in: New file.
41586 * gensymlist.sh.in: Likewise.
41587
41588 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
41589
41590 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
41591 clobber "prefix", since we may have already set it manually.
41592
41593 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
41594
41595 * kern/misc.c (abort): New alias for grub_abort.
41596
41597 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
41598
41599 A new machine-specific function "grub_machine_set_prefix" is
41600 defined. This is called after loading modules, so that a prefix
41601 initialization can use modules. Also, this change adds an
41602 intensive debugging feature for the memory manager via the
41603 configure option "--enable-mm-debug".
41604
41605 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
41606 PART.LEN.
41607
41608 * kern/sparc64/ieee1275/init.c (abort): Removed.
41609 (grub_stop): Likewise.
41610 (grub_exit): New function.
41611 (grub_set_prefix): Renamed to ...
41612 (grub_machine_set_prefix): ... this.
41613 (grub_machine_init): Do not call grub_set_prefix.
41614
41615 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
41616 (grub_machine_set_prefix): ... this.
41617 (grub_machine_init): Do not call grub_set_prefix.
41618
41619 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
41620 (grub_machine_init): Do not set the prefix here.
41621
41622 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
41623
41624 * kern/efi/init.c: Include grub/mm.h.
41625 (grub_efi_set_prefix): New function.
41626
41627 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
41628 (grub_efi_get_filename): New function.
41629 (grub_print_device_path): Renamed to ...
41630 (grub_efi_print_device_path): ... this.
41631
41632 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
41633 [MM_DEBUG] (grub_realloc): Likewise.
41634 [MM_DEBUG] (grub_free): Likewise.
41635 [MM_DEBUG] (grub_memalign): Likewise.
41636 [MM_DEBUG] (grub_mm_debug): New variable.
41637 [MM_DEBUG] (grub_debug_malloc): New function.
41638 [MM_DEBUG] (grub_debug_free): New function.
41639 [MM_DEBUG] (grub_debug_realloc): New function.
41640 [MM_DEBUG] (grub_debug_memalign): New function.
41641
41642 * kern/misc.c (grub_abort): Print a newline to distinguish
41643 the message.
41644
41645 * kern/main.c (grub_main): Call grub_machine_set_prefix and
41646 grub_set_root_dev after loading modules. This is necessary when
41647 setting a prefix depends on modules.
41648
41649 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
41650 (grub_efi_print_device_path): ... this.
41651 (grub_efi_get_filename): New prototype.
41652 (grub_efi_set_prefix): Likewise.
41653
41654 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
41655 and grub/disk.h.
41656 (grub_efidisk_get_device_handle): New prototype.
41657 (grub_efidisk_get_device_name): Likewise.
41658
41659 * include/grub/mm.h: Include config.h.
41660 (MM_DEBUG): Removed.
41661 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
41662 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
41663 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
41664 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
41665 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
41666 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
41667 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
41668 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
41669 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
41670
41671 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
41672
41673 * disk/efi/efidisk.c: Include grub/partition.h.
41674 (iterate_child_devices): New function.
41675 (add_device): First, compare only last device path nodes, so that
41676 devices are sorted by the types.
41677 (grub_efidisk_get_device_handle): New function.
41678 (grub_efidisk_get_device_name): Likewise.
41679
41680 * configure.ac (--enable-mm-debug): New option to enable the
41681 memory manager debugging feature. This makes the binary much
41682 bigger, so is disabled by default.
41683
41684 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
41685
41686 Use grub_abort instead of grub_stop, and grub_exit must be
41687 define in each architecture now. Also, this change adds support
41688 for EFI disks.
41689
41690 * util/i386/pc/grub-probefs.c: Include grub/term.h.
41691 (grub_getkey): New function.
41692 (grub_term_get_current): Likewise.
41693
41694 * util/i386/pc/grub-setup.c: Include grub/term.h.
41695 (grub_getkey): New function.
41696 (grub_term_get_current): Likewise.
41697
41698 * util/misc.c (grub_stop): Renamed to ...
41699 (grub_exit): ... this.
41700
41701 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
41702 (grub_exit): ... this.
41703 (grub_machine_init): Use grub_abort instead of abort.
41704 (grub_stop): Removed.
41705
41706 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
41707 abort.
41708
41709 * kern/i386/pc/startup.S (grub_exit): New function.
41710 (cold_reboot): New label.
41711
41712 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
41713 (grub_efi_init): Call grub_efidisk_init.
41714 (grub_efi_fini): Call grub_efidisk_fini.
41715
41716 * kern/efi/efi.c: Include grub/mm.h.
41717 (grub_efi_console_control_guid): Renamed to ...
41718 (console_control_guid): ... this.
41719 (grub_efi_loaded_image_guid): Renamed to ...
41720 (loaded_image_guid): ... this.
41721 (grub_efi_locate_handle): New function.
41722 (grub_efi_open_protocol): Likewise.
41723 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
41724 GRUB_EFI_CONSOLE_CONTROL_GUID.
41725 (grub_efi_exit): Removed.
41726 (grub_stop): Likewise.
41727 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
41728 (grub_exit): New function.
41729 (grub_print_device_path): Likewise.
41730
41731 * kern/rescue.c (grub_rescue_cmd_exit): New function.
41732 (grub_enter_rescue_mode): Register "exit".
41733
41734 * kern/misc.c (grub_real_dprintf): A cosmetic change.
41735 (grub_abort): New function.
41736
41737 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
41738
41739 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
41740
41741 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
41742
41743 * include/grub/efi/efi.h (grub_efi_exit): Removed.
41744 (grub_print_device_path): New prototype.
41745 (grub_efi_locate_handle): Likewise.
41746 (grub_efi_open_protocol): Likewise.
41747
41748 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
41749 * disk/efi/efidisk.c: Likewise.
41750
41751 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
41752
41753 * include/grub/efi/console_control.h
41754 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
41755
41756 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
41757 last 8 bytes as an array.
41758 (GRUB_EFI_DISK_IO_GUID): New macro.
41759 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
41760 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
41761 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
41762 grub_uint8_t.
41763 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
41764 (struct grub_efi_device_path): Rename the member "sub_type" to
41765 "subtype".
41766 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
41767 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
41768 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
41769 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
41770 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
41771 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
41772 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
41773 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
41774 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
41775 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
41776 (struct grub_efi_pci_device_path): New structure.
41777 (grub_efi_pci_device_path_t): New type.
41778 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
41779 (struct grub_efi_pccard_device_path): New structure.
41780 (grub_efi_pccard_device_path_t): New type.
41781 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
41782 (struct grub_efi_memory_mapped_device_path): New structure.
41783 (grub_efi_memory_mapped_device_path_t): New type.
41784 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
41785 (struct grub_efi_vendor_device_path): New structure.
41786 (grub_efi_vendor_device_path_t): New type.
41787 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
41788 (struct grub_efi_controller_device_path): New structure.
41789 (grub_efi_controller_device_path_t): New type.
41790 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
41791 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
41792 (struct grub_efi_acpi_device_path): New structure.
41793 (grub_efi_acpi_device_path_t): New type.
41794 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
41795 (struct grub_efi_expanded_acpi_device_path): New structure.
41796 (grub_efi_expanded_acpi_device_path_t): New type.
41797 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
41798 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
41799 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
41800 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
41801 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
41802 (struct grub_efi_atapi_device_path): New structure.
41803 (grub_efi_atapi_device_path_t): New type.
41804 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
41805 (struct grub_efi_fibre_channel_device_path): New structure.
41806 (grub_efi_fibre_channel_device_path_t): New type.
41807 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
41808 (struct grub_efi_1394_device_path): New structure.
41809 (grub_efi_1394_device_path_t): New type.
41810 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
41811 (struct grub_efi_usb_device_path): New structure.
41812 (grub_efi_usb_device_path_t): New type.
41813 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
41814 (struct grub_efi_usb_class_device_path): New structure.
41815 (grub_efi_usb_class_device_path_t): New type.
41816 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
41817 (struct grub_efi_i2o_device_path): New structure.
41818 (grub_efi_i2o_device_path_t): New type.
41819 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
41820 (struct grub_efi_mac_address_device_path): New structure.
41821 (grub_efi_mac_address_device_path_t): New type.
41822 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
41823 (struct grub_efi_ipv4_device_path): New structure.
41824 (grub_efi_ipv4_device_path_t): New type.
41825 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
41826 (struct grub_efi_ipv6_device_path): New structure.
41827 (grub_efi_ipv6_device_path_t): New type.
41828 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
41829 (struct grub_efi_infiniband_device_path): New structure.
41830 (grub_efi_infiniband_device_path_t): New type.
41831 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
41832 (struct grub_efi_uart_device_path): New structure.
41833 (grub_efi_uart_device_path_t): New type.
41834 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
41835 (struct grub_efi_vendor_messaging_device_path): New structure.
41836 (grub_efi_vendor_messaging_device_path_t): New type.
41837 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
41838 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
41839 (struct grub_efi_hard_drive_device_path): New structure.
41840 (grub_efi_hard_drive_device_path_t): New type.
41841 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
41842 (struct grub_efi_cdrom_device_path): New structure.
41843 (grub_efi_cdrom_device_path_t): New type.
41844 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
41845 (struct grub_efi_vendor_media_device_path): New structure.
41846 (grub_efi_vendor_media_device_path_t): New type.
41847 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
41848 (struct grub_efi_file_path_device_path): New structure.
41849 (grub_efi_file_path_device_path_t): New type.
41850 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
41851 (struct grub_efi_protocol_device_path): New structure.
41852 (grub_efi_protocol_device_path_t): New type.
41853 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
41854 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
41855 (struct grub_efi_bios_device_path): New structure.
41856 (grub_efi_bios_device_path_t): New type.
41857 (struct grub_efi_disk_io): New structure.
41858 (grub_efi_disk_io_t): New type.
41859 (struct grub_efi_block_io_media): New structure.
41860 (grub_efi_block_io_media_t): New type.
41861 (struct grub_efi_block_io): New structure.
41862 (grub_efi_block_io_t): New type.
41863
41864 * include/grub/misc.h (grub_stop): Removed.
41865 (grub_exit): New prototype.
41866 (grub_abort): Likewise.
41867
41868 * include/grub/disk.h (enum grub_disk_dev_id): Added
41869 GRUB_DISK_DEVICE_EFIDISK_ID.
41870
41871 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
41872 disk/efi/efidisk.c.
41873 (kernel_syms.lst): Remove the target if an error occurs.
41874
41875 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
41876
41877 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
41878 as it was simply too buggy.
41879
41880 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
41881
41882 * kern/misc.c (grub_lltoa): New function.
41883 (grub_vsprintf): Added support for the long long suffix,
41884 i.e. "ll".
41885
41886 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
41887
41888 * Makefile.in (LDFLAGS): Add variable.
41889 (LD): Remove variable.
41890 * configure.ac: Add -m32 to LDFLAGS.
41891 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
41892 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
41893 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
41894 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
41895 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
41896 variables.
41897 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
41898 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
41899 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
41900
41901 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
41902
41903 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
41904 length for unknown glyph.
41905
41906 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
41907
41908 Add support for pre-loaded modules into the EFI port.
41909
41910 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
41911 completely. Accept one more argument DIR. The caller has changed.
41912
41913 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
41914
41915 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
41916 (grub_efi_loaded_image_guid): New variable.
41917 (grub_efi_get_loaded_image): New function.
41918 (grub_arch_modules_addr): Likewise.
41919
41920 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
41921 prototype.
41922
41923 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
41924 (struct grub_efi_loaded_image): New structure.
41925 (grub_efi_loaded_image_t): New type.
41926
41927 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
41928
41929 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
41930 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
41931 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
41932
41933 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
41934
41935 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
41936
41937 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
41938
41939 * DISTLIST: Added include/grub/efi/console.h,
41940 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
41941 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
41942
41943 * include/grub/efi/console.h: New file.
41944 * include/grub/efi/time.h: Likewise.
41945 * include/grub/i386/efi/kernel.h: Likewise.
41946 * kern/efi/init.c: Likewise.
41947 * kern/efi/mm.c: Likewise.
41948 * term/efi/console.c: Likewise.
41949
41950 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
41951 (grub_stop): Removed.
41952 (grub_get_rtc): Likewise.
41953 (grub_machine_init): Simply call grub_efi_init.
41954 (grub_machine_fini): Call grub_efi_fini.
41955
41956 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
41957 (grub_efi_output_string): Removed.
41958 (grub_efi_stall): New function.
41959 (grub_stop): Likewise.
41960 (grub_get_rtc): Likewise.
41961
41962 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
41963 (grub_efi_stall): New prototype.
41964 (grub_efi_allocate_pages): Likewise.
41965 (grub_efi_free_pages): Likewise.
41966 (grub_efi_get_memory_map): Likewise.
41967 (grub_efi_mm_init): Likewise.
41968 (grub_efi_mm_fini): Likewise.
41969 (grub_efi_init): Likewise.
41970 (grub_efi_fini): Likewise.
41971
41972 * include/grub/i386/efi/time.h: Do not include
41973 grub/symbol.h. Include grub/efi/time.h.
41974 (GRUB_TICKS_PER_SECOND): Removed.
41975 (grub_get_rtc): Likewise.
41976
41977 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
41978 Added padding. The EFI spec is buggy.
41979 (GRUB_EFI_BLACK): New macro.
41980 (GRUB_EFI_BLUE): Likewise.
41981 (GRUB_EFI_GREEN): Likewise.
41982 (GRUB_EFI_CYAN): Likewise.
41983 (GRUB_EFI_RED): Likewise.
41984 (GRUB_EFI_MAGENTA): Likewise.
41985 (GRUB_EFI_BROWN): Likewise.
41986 (GRUB_EFI_LIGHTGRAY): Likewise.
41987 (GRUB_EFI_BRIGHT): Likewise.
41988 (GRUB_EFI_DARKGRAY): Likewise.
41989 (GRUB_EFI_LIGHTBLUE): Likewise.
41990 (GRUB_EFI_LIGHTGREEN): Likewise.
41991 (GRUB_EFI_LIGHTCYAN): Likewise.
41992 (GRUB_EFI_LIGHTRED): Likewise.
41993 (GRUB_EFI_LIGHTMAGENTA): Likewise.
41994 (GRUB_EFI_YELLOW): Likewise.
41995 (GRUB_EFI_WHITE): Likewise.
41996 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
41997 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
41998 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
41999 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
42000 (GRUB_EFI_BACKGROUND_RED): Likewise.
42001 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
42002 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
42003 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
42004 (GRUB_EFI_TEXT_ATTR): Likewise.
42005
42006 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
42007 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
42008 (kernel_mod_HEADERS): Added efi/time.h.
42009
42010 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
42011
42012 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
42013 include/grub/efi/api.h, include/grub/efi/console_control.h,
42014 include/grub/efi/efi.h, include/grub/efi/pe32.h,
42015 include/grub/i386/efi/time.h, kern/efi/efi.c,
42016 kern/i386/efi/init.c, kern/i386/efi/startup.S,
42017 and util/i386/efi/grub-mkimage.c.
42018
42019 * Makefile.in (RMKFILES): Added i386-efi.rmk.
42020
42021 * genmk.rb (PModule#rule): Do not export symbols if
42022 #{prefix}_EXPORTS is set to "no".
42023
42024 * conf/i386-efi.mk: New file.
42025 * conf/i386-efi.rmk: Likewise.
42026 * include/grub/efi/api.h: Likewise.
42027 * include/grub/efi/console_control.h: Likewise.
42028 * include/grub/efi/efi.h: Likewise.
42029 * include/grub/efi/pe32.h: Likewise.
42030 * include/grub/i386/efi/time.h: Likewise.
42031 * kern/efi/efi.c: Likewise.
42032 * kern/i386/efi/init.c: Likewise.
42033 * kern/i386/efi/startup.S: Likewise.
42034 * util/i386/efi/grub-mkimage.c: Likewise.
42035
42036 2006-04-17 Marco Gerards <marco@gnu.org>
42037
42038 * include/grub/script.h: Include <grub/parser.h> and
42039 "grub_script.tab.h".
42040 (struct grub_lexer_param): New struct.
42041 (struct grub_parser_param): Likewise.
42042 (grub_script_create_arglist): Pass the state in an argument.
42043 (grub_script_add_arglist): Likewise.
42044 (grub_script_create_cmdline): Likewise.
42045 (grub_script_create_cmdblock): Likewise.
42046 (grub_script_create_cmdif): Likewise.
42047 (grub_script_create_cmdmenu): Likewise.
42048 (grub_script_add_cmd): Likewise.
42049 (grub_script_arg_add): Likewise.
42050 (grub_script_lexer_ref): Likewise.
42051 (grub_script_lexer_deref): Likewise.
42052 (grub_script_lexer_record_start): Likewise.
42053 (grub_script_lexer_record_stop): Likewise.
42054 (grub_script_mem_record): Likewise.
42055 (grub_script_mem_record_stop): Likewise.
42056 (grub_script_malloc): Likewise.
42057 (grub_script_yylex): Likewise.
42058 (grub_script_yyparse): Likewise.
42059 (grub_script_yyerror): Likewise.
42060 (grub_script_yylex): Likewise.
42061 (grub_script_lexer_init): Return the state.
42062
42063 * normal/lexer.c (grub_script_lexer_state): Removed variable.
42064 (grub_script_lexer_done): Likewise.
42065 (grub_script_lexer_getline): Likewise.
42066 (grub_script_lexer_refs): Likewise.
42067 (script): Likewise.
42068 (newscript): Likewise.
42069 (record): Likewise.
42070 (recording): Likewise.
42071 (recordpos): Likewise.
42072 (recordlen): Likewise.
42073 (grub_script_lexer_init): Return the state instead of setting
42074 global variables.
42075 (grub_script_lexer_ref): Use the newly added argument for state
42076 instead of globals.
42077 (grub_script_lexer_deref): Likewise.
42078 (grub_script_lexer_record_start): Likewise.
42079 (grub_script_lexer_record_stop): Likewise.
42080 (recordchar): Likewise.
42081 (nextchar): Likewise.
42082 (grub_script_yylex2): Likewise.
42083 (grub_script_yylex): Likewise.
42084 (grub_script_yyerror): Likewise.
42085
42086 * normal/parser.y (func_mem): Removed variable.
42087 (menu_entry): Likewise.
42088 (err): Likewise.
42089 (%lex-param): New parser option.
42090 (%parse-param): Likewise.
42091 (script): Always return the AST.
42092 (argument): Pass the state around.
42093 (arguments): Likewise.
42094 (grubcmd): Likewise.
42095 (commands): Likewise.
42096 (function): Likewise.
42097 (menuentry): Likewise.
42098 (if_statement): Likewise.
42099 (if): Likewise.
42100
42101 * normal/script.c (grub_script_memused): Removed variable.
42102 (grub_script_parsed): Likewise.
42103 (grub_script_malloc): Added a state argument. Use that instead of
42104 global variables.
42105 (grub_script_mem_record): Likewise.
42106 (grub_script_mem_record_stop): Likewise.
42107 (grub_script_arg_add): Likewise.
42108 (grub_script_add_arglist): Likewise.
42109 (grub_script_create_cmdline): Likewise.
42110 (grub_script_create_cmdif): Likewise.
42111 (grub_script_create_cmdmenu): Likewise.
42112 (grub_script_add_cmd): Likewise.
42113 (grub_script_parse): Setup the state before calling the parser.
42114
42115 2006-04-16 Marco Gerards <marco@gnu.org>
42116
42117 * normal/command.c (grub_command_init): Remove the title command.
42118
42119 * normal/lexer.c (grub_script_yylex): Renamed from this...
42120 (grub_script_yylex2): ... to this.
42121 (grub_script_yylex): New function. Temporary
42122 introduced to filter some tokens.
42123 (grub_script_yyerror): Print a newline.
42124
42125 * normal/main.c (read_config_file): Output information about the
42126 lines that contain errors. Wait for a key after all lines have
42127 been processed. Don't return an empty menu.
42128
42129 * normal/parser.y (func_mem): Don't initialize.
42130 (menu_entry): Likewise.
42131 (err): New variable.
42132 (script): Don't return anything when an error was encountered.
42133 (ws, returns): Removed rules.
42134 (argument): Disabled concatenated variable support.
42135 (arguments): Remove explicit separators.
42136 (grubcmd): Likewise.
42137 (function): Likewise.
42138 (menuentry): Likewise.
42139 (if): Likewise.
42140 (commands): Likewise. Add error handling.
42141
42142 * normal/script.c (grub_script_create_cmdline): If
42143 `grub_script_parsed' is 0, assume the parser encountered an error.
42144
42145 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
42146
42147 * configure.ac: Add support for EFI. Fix the typo
42148 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
42149
42150 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
42151
42152 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
42153 foreign multibyte characters should be shown correctly.
42154
42155 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
42156
42157 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
42158 calculation.
42159 (read_config_file): Made it to close file before returning.
42160
42161 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
42162
42163 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
42164 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
42165 video/i386/pc/vbefill.c.
42166
42167 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
42168 video/i386/pc/vbefill.c.
42169
42170 * include/grub/video.h (grub_video_blit_format): New enum.
42171 (grub_video_mode_info): Added new member blit_format.
42172 (grub_video_get_blit_format): New function prototype.
42173
42174 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
42175 function prototype.
42176 (grub_video_vbe_map_rgb): Likewise.
42177 (grub_video_vbe_unmap_color): Likewise.
42178
42179 * include/grub/i386/pc/vbeblit.h: New file.
42180
42181 * include/grub/i386/pc/vbefill.h: New file.
42182
42183 * video/video.c (grub_video_get_blit_format): New function.
42184 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
42185 (grub_video_vbe_map_rgb): Likewise.
42186 (grub_video_vbe_unmap_color): Likewise.
42187
42188 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
42189 optimized fills.
42190 (grub_video_vbe_blit_render_target): Changed to use more optimized
42191 blits.
42192 (grub_video_vbe_setup): Added detection for optimized settings.
42193 (grub_video_vbe_create_render_target): Likewise.
42194
42195 * video/i386/pc/vbeblit.c: New file.
42196
42197 * video/i386/pc/vbefill.c: New file.
42198
42199 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
42200
42201 * font/manager.c (grub_font_get_glyph): Removed font fixup from
42202 here...
42203
42204 * util/unifont2pff.rb: ... and moved it to here. Improved argument
42205 parsing to support both hex and dec ranges. If filename was missing
42206 show usage information.
42207
42208 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
42209
42210 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
42211 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
42212
42213 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
42214 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
42215 (video_mod_SOURCES): Added.
42216 (video_mod_CFLAGS): Likewise.
42217 (video_mod_LDFLAGS): Likewise.
42218 (gfxterm_mod_SOURCES): Likewise.
42219 (gfxterm_mod_CFLAGS): Likewise.
42220 (gfxterm_mod_LDFLAGS): Likewise.
42221 (videotest_mod_SOURCES): Likewise.
42222 (videotest_mod_CFLAGS): Likewise.
42223 (videotest_mod_LDFLAGS): Likewise.
42224 (vesafb_mod_SOURCES): Removed.
42225 (vesafb_mod_CFLAGS): Likewise.
42226 (vesafb_mod_LDFLAGS): Likewise.
42227 (vga_mod_SOURCES): Likewise.
42228 (vga_mod_CFLAGS): Likewise.
42229 (vga_mod_LDFLAGS): Likewise.
42230
42231 * commands/videotest.c: New file.
42232
42233 * font/manager.c (fill_with_default_glyph): Modified to use
42234 grub_font_glyph.
42235 (grub_font_get_glyph): Likewise.
42236 (fontmanager): Renamed from this...
42237 (font_manager): ... to this.
42238
42239 * include/grub/font.h (grub_font_glyph): Added new structure.
42240 (grub_font_get_glyph): Modified to use grub_font_glyph.
42241
42242 * include/grub/misc.h (grub_abs): Added as inline function.
42243
42244 * include/grub/video.h: New file.
42245
42246 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
42247 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
42248 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
42249 (grub_vbe_get_controller_info): Renamed from this...
42250 (grub_vbe_bios_get_controller_info): ... to this.
42251 (grub_vbe_get_mode_info): Renamed from this...
42252 (grub_vbe_bios_get_mode_info): ... to this.
42253 (grub_vbe_set_mode): Renamed from this...
42254 (grub_vbe_bios_set_mode): ... to this.
42255 (grub_vbe_get_mode): Renamed from this...
42256 (grub_vbe_bios_get_mode): ... to this.
42257 (grub_vbe_set_memory_window): Renamed from this...
42258 (grub_vbe_bios_set_memory_window): ... to this.
42259 (grub_vbe_get_memory_window): Renamed from this...
42260 (grub_vbe_bios_get_memory_window): ... to this.
42261 (grub_vbe_set_scanline_length): Renamed from this...
42262 (grub_vbe_set_scanline_length): ... to this.
42263 (grub_vbe_get_scanline_length): Renamed from this...
42264 (grub_vbe_bios_get_scanline_length): ... to this.
42265 (grub_vbe_set_display_start): Renamed from this...
42266 (grub_vbe_bios_set_display_start): ... to this.
42267 (grub_vbe_get_display_start): Renamed from this...
42268 (grub_vbe_bios_get_display_start): ... to this.
42269 (grub_vbe_set_palette_data): Renamed from this...
42270 (grub_vbe_bios_set_palette_data): ... to this.
42271 (grub_vbe_set_pixel_rgb): Removed.
42272 (grub_vbe_set_pixel_index): Likewise.
42273
42274 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
42275 from this...
42276 (grub_vbe_bios_get_controller_info): ... to this.
42277 (grub_vbe_get_mode_info): Renamed from this...
42278 (grub_vbe_bios_get_mode_info): ... to this.
42279 (grub_vbe_set_mode): Renamed from this...
42280 (grub_vbe_bios_set_mode): ... to this.
42281 (grub_vbe_get_mode): Renamed from this...
42282 (grub_vbe_bios_get_mode): ... to this.
42283 (grub_vbe_set_memory_window): Renamed from this...
42284 (grub_vbe_bios_set_memory_window): ... to this.
42285 (grub_vbe_get_memory_window): Renamed from this...
42286 (grub_vbe_bios_get_memory_window): ... to this.
42287 (grub_vbe_set_scanline_length): Renamed from this...
42288 (grub_vbe_set_scanline_length): ... to this.
42289 (grub_vbe_get_scanline_length): Renamed from this...
42290 (grub_vbe_bios_get_scanline_length): ... to this.
42291 (grub_vbe_set_display_start): Renamed from this...
42292 (grub_vbe_bios_set_display_start): ... to this.
42293 (grub_vbe_get_display_start): Renamed from this...
42294 (grub_vbe_bios_get_display_start): ... to this.
42295 (grub_vbe_set_palette_data): Renamed from this...
42296 (grub_vbe_bios_set_palette_data): ... to this.
42297 (grub_vbe_bios_get_controller_info): Fixed problem with registers
42298 getting corrupted after calling it. Added more pushes and pops.
42299 (grub_vbe_bios_set_mode): Likewise.
42300 (grub_vbe_bios_get_mode): Likewise.
42301 (grub_vbe_bios_get_memory_window): Likewise.
42302 (grub_vbe_bios_set_scanline_length): Likewise.
42303 (grub_vbe_bios_get_scanline_length): Likewise.
42304 (grub_vbe_bios_get_display_start): Likewise.
42305 (grub_vbe_bios_set_palette_data): Likewise.
42306
42307 * normal/cmdline.c (cl_set_pos): Refresh the screen.
42308 (cl_insert): Likewise.
42309 (cl_delete): Likewise.
42310
42311 * term/gfxterm.c: New file.
42312
42313 * term/i386/pc/vesafb.c: Removed file.
42314
42315 * video/video.c: New file.
42316
42317 * video/i386/pc/vbe.c (real2pm): Added new function.
42318 (grub_video_vbe_draw_pixel): Likewise.
42319 (grub_video_vbe_get_video_ptr): Likewise.
42320 (grub_video_vbe_get_pixel): Likewise
42321 (grub_video_vbe_init): Likewise.
42322 (grub_video_vbe_fini): Likewise.
42323 (grub_video_vbe_setup): Likewise.
42324 (grub_video_vbe_get_info): Likewise.
42325 (grub_video_vbe_set_palette): Likewise.
42326 (grub_video_vbe_get_palette): Likewise.
42327 (grub_video_vbe_set_viewport): Likewise.
42328 (grub_video_vbe_get_viewport): Likewise.
42329 (grub_video_vbe_map_color): Likewise.
42330 (grub_video_vbe_map_rgb): Likewise.
42331 (grub_video_vbe_map_rgba): Likewise.
42332 (grub_video_vbe_unmap_color): Likewise.
42333 (grub_video_vbe_fill_rect): Likewise.
42334 (grub_video_vbe_blit_glyph): Likewise.
42335 (grub_video_vbe_blit_bitmap): Likewise.
42336 (grub_video_vbe_blit_render_target): Likewise.
42337 (grub_video_vbe_scroll): Likewise.
42338 (grub_video_vbe_swap_buffers): Likewise.
42339 (grub_video_vbe_create_render_target): Likewise.
42340 (grub_video_vbe_delete_render_target): Likewise.
42341 (grub_video_vbe_set_active_render_target): Likewise.
42342 (grub_vbe_set_pixel_rgb): Remove function.
42343 (grub_vbe_set_pixel_index): Likewise.
42344 (index_color_mode): Remove static variable.
42345 (active_mode): Likewise.
42346 (framebuffer): Likewise.
42347 (bytes_per_scan_line): Likewise.
42348 (grub_video_vbe_adapter): Added new static variable.
42349 (framebuffer): Likewise.
42350 (render_target): Likewise.
42351 (initial_mode): Likewise.
42352 (mode_in_use): Likewise.
42353 (mode_list): Likewise.
42354
42355 2006-03-10 Marco Gerards <marco@gnu.org>
42356
42357 * configure.ac (AC_INIT): Bumped to 1.93.
42358
42359 * DISTLIST: Added `include/grub/hfs.h'.
42360
42361 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
42362
42363 * boot/i386/pc/boot.S (general_error): Before looping, try INT
42364 18H, which might help the BIOS falling back to next boot media.
42365
42366 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
42367
42368 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
42369 Poe Chen <poe.poechen@gmail.com>.
42370
42371 2006-01-17 Marco Gerards <marco@gnu.org>
42372
42373 * include/grub/normal.h: Include <grub/script.h>.
42374 (grub_command_list): Removed struct.
42375 (grub_command_list_t): Removed type.
42376 (grub_menu_entry): Remove members `num' and `command_list'. Add
42377 members `commands' and `sourcecode'.
42378 * include/grub/script.h: Add inclusion guards.
42379 (grub_script_cmd_menuentry): New struct.
42380 (grub_script_execute_menuentry): New prototype.
42381 (grub_script_lexer_record_start): Likewise.
42382 (grub_script_lexer_record_stop): Likewise.
42383 * normal/execute.c (grub_script_execute_menuentry): New function.
42384 * normal/lexer.c (record, recording, recordpos, recordlen): New
42385 variables.
42386 (grub_script_lexer_record_start): New function.
42387 (grub_script_lexer_record_stop): Likewise.
42388 (recordchar): Likewise.
42389 (nextchar): Likewise.
42390 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
42391 2048 as the buffer size. Add the tokens `menuentry' and `@'.
42392 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
42393 (current_menu): New variable.
42394 (free_menu): Mainly rewritten.
42395 (grub_normal_menu_addentry): New function.
42396 (read_config_file): Rewritten.
42397 * normal/menu.c (run_menu_entry): Mainly rewritten.
42398 * normal/menu_entry.c (make_screen): Rewritten the code to insert
42399 the menu entry.
42400 (run): Mainly rewritten.
42401 * normal/parser.y (menu_entry): New variable.
42402 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
42403 (menuentry): New rule.
42404 (command): Add `menuentry'.
42405 (if_statement): Allow additional returns before `fi'.
42406 * normal/script.c (grub_script_create_cmdmenu): New function.
42407
42408 2006-01-03 Marco Gerards <marco@gnu.org>
42409
42410 * INSTALL: GNU Bison is required.
42411 * configure.ac: Rewritten the test to detect Bison.
42412 * Makefile.in (YACC): New variable. Reported by Xun Sun
42413 <xun.sun.cn@gmail.com>.
42414
42415 2006-01-03 Marco Gerards <marco@gnu.org>
42416
42417 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
42418 the HFS+ filesystem to filesystem blocks.
42419 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
42420 GCC warning is silenced.
42421
42422 2006-01-03 Marco Gerards <marco@gnu.org>
42423
42424 * partmap/apple.c (apple_partition_map_iterate): Convert the data
42425 read from disk from big endian to host byte order.
42426
42427 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
42428
42429 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
42430 documentation.
42431 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
42432 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
42433 embedded HFS+ filesystem.
42434 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
42435 (grub_hfs_sblock): Move from here...
42436 * include/grub/hfs.h: To here... New file.
42437 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
42438 documentation.
42439 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
42440 New macros.
42441 (grub_hfsplus_volheader): Change type of member `magic' to
42442 `grub_uint16_t'.
42443 (grub_hfsplus_data): Add new member `embedded_offset'.
42444 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
42445 returned block.
42446 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
42447 Calculate the offset.
42448
42449 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42450
42451 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
42452 Removed.
42453 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
42454
42455 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42456
42457 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
42458 ENV->NAME is NULL after allocating ENV->VALUE.
42459
42460 2005-12-25 Marco Gerards <marco@gnu.org>
42461
42462 * kern/env.c (grub_env_set): Rewritten the error handling code.
42463
42464 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42465
42466 * geninit.sh: Made more robust, and more portable.
42467
42468 2005-12-25 Marco Gerards <marco@gnu.org>
42469
42470 Add support for Apple HFS+ filesystems.
42471
42472 * fs/hfsplus.c: New file.
42473
42474 * DISTLIST: Added `fs/hfsplus.c'.
42475
42476 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
42477 (hfsplus_mod_SOURCES): New variable.
42478 (hfsplus_mod_CFLAGS): Likewise.
42479 (hfsplus_mod_LDFLAGS): Likewise.
42480 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
42481 (grub_setup_SOURCES): Likewise.
42482 (grub_mkdevicemap_SOURCES): Likewise.
42483 (grub_emu_SOURCES): Likewise.
42484 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42485
42486 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
42487
42488 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
42489
42490 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42491
42492 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
42493 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
42494 include/grub/parser.h, include/grub/script.h, kern/parser.c,
42495 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
42496 normal/lexer.c, normal/parser.y, normal/script.c, and
42497 partmap/gpt.c.
42498 Removed kern/sparc64/cache.c.
42499
42500 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
42501 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
42502 grub_emu_init.c.
42503
42504 * configure.ac (AC_INIT): Bumped to 1.92.
42505
42506 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
42507
42508 * kern/err.c (grub_error_push): Added new function to support error
42509 stacks.
42510 (grub_error_pop): Likewise.
42511 (grub_error_stack_items): New local variable to support error stacks.
42512 (grub_error_stack_pos): Likewise.
42513 (grub_error_stack_assert): Likewise.
42514 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
42515 stack depth.
42516 (grub_print_error): Added support to print errors from error stack.
42517
42518 * include/grub/err.h (grub_error_push): Added function prototype.
42519 (grub_error_pop): Likewise.
42520
42521 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
42522
42523 * configure.ac: Accept `powerpc64' as host_cpu.
42524 (amd64): Rename to `biarch32'.
42525
42526 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
42527 non-cacheline-aligned addresses.
42528
42529 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
42530 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
42531 if `size' is non-zero.
42532
42533 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
42534
42535 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
42536 and `cd' to make sure the filename is not prefixed with a
42537 directory name.
42538 (pkgdata_MODULES): Add `gpt.mod'.
42539 (gpt_mod_SOURCES): New variable.
42540 (gpt_mod_CFLAGS): Likewise.
42541 (gpt_mod_LDFLAGS): Likewise.
42542
42543 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
42544
42545 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
42546 New macro.
42547
42548 * partmap/gpt.c: New file.
42549
42550 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
42551 GPT partition map is detected.
42552
42553 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
42554
42555 * commands/i386/pc/play.c: New file.
42556 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
42557 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
42558 macros.
42559
42560 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
42561
42562 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
42563 ((unused))' to silence gcc warning.
42564
42565 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
42566
42567 * configure.ac: Correct `AC_PROG_YACC' test.
42568
42569 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42570
42571 * util/powerpc/ieee1275/grub-install.in: Run the mount point
42572 check before installing files.
42573
42574 2005-11-22 Mike Small <smallm@panix.com>
42575
42576 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
42577 number regex so multidigit numbers are recognized correctly.
42578
42579 2005-11-22 Mike Small <smallm@panix.com>
42580
42581 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
42582 debugging message before attempting to claim memory.
42583 (grub_rescue_cmd_initrd): Add a claim debugging message and try
42584 multiple addresses in case of failure.
42585
42586 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42587
42588 * term/tparm.c (get_space): Remove empty `if' statement.
42589
42590 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
42591
42592 * kern/parser.c (check_varstate): Rename `state' to 's'.
42593
42594 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42595
42596 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
42597 variable definitions to the beginning of each function. Sort stack
42598 variables by size.
42599 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
42600 `buf' argument to `char *'.
42601
42602 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42603
42604 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
42605 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
42606 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
42607 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
42608 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
42609 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
42610 configfile.mod, search.mod, gzio.mod and test.mod.
42611 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
42612 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
42613 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
42614 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
42615 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
42616 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
42617 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
42618 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
42619 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
42620 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
42621 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
42622 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
42623 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
42624 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
42625 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
42626 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
42627 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
42628 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
42629 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
42630 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
42631 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
42632 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
42633 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
42634
42635 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
42636 `grep --include'.
42637 (pkgdata_MODULES): Add test.mod.
42638
42639 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42640
42641 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
42642 appending to variables with "+=".
42643 (PModule): Use full pathname to generate *.lst filenames.
42644
42645 * Makefile.in: Fixed list rules moved from genmk.rb.
42646 (.DELETE_ON_ERROR): New special target.
42647 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
42648
42649 * conf/i386-pc.rmk: Include conf/common.mk.
42650 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
42651 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
42652 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
42653 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
42654 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
42655 configfile.mod, search.mod, gzio.mod and test.mod.
42656 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
42657 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
42658 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
42659 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
42660 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
42661 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
42662 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
42663 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
42664 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
42665 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
42666 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
42667 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
42668 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
42669 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
42670 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
42671 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
42672 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
42673 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
42674 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
42675 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
42676 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
42677 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
42678 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
42679 here...
42680 * conf/common.rmk: ... to here. New file.
42681
42682 * conf/common.mk: New file.
42683
42684 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
42685
42686 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
42687 (grub_script.tab.c): ... here.
42688
42689 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
42690 (grub_script.tab.c): ... here.
42691
42692 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
42693 (grub_script.tab.c): ... here.
42694
42695 * normal/command.c (grub_command_find): Fixed a memory leak of
42696 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
42697
42698 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42699
42700 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
42701 "@" which marks the start of a comment on ARM.
42702 (VARIABLE): Likewise.
42703
42704 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42705
42706 Add support for Linux/ADFS partition tables.
42707
42708 * partmap/acorn.c: New file.
42709
42710 * include/grub/acorn_filecore.h: Likewise.
42711
42712 * DISTLIST: Added `partmap/acorn.c' and
42713 `include/grub/acorn_filecore.h'.
42714
42715 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42716 `partmap/acorn.c'.
42717 (pkgdata_MODULES): Add `acorn.mod'.
42718 (acorn_mod_SOURCES): New variable.
42719 (acorn_mod_CFLAGS): Likewise.
42720
42721 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
42722 `partmap/acorn.c'.
42723 (pkgdata_MODULES): Add `acorn.mod'.
42724 (acorn_mod_SOURCES): New variable.
42725 (acorn_mod_CFLAGS): Likewise.
42726
42727 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
42728 (pkgdata_MODULES): Add `acorn.mod'.
42729 (acorn_mod_SOURCES): New variable.
42730 (acorn_mod_CFLAGS): Likewise.
42731 (acorn_mod_LDFLAGS): Likewise.
42732
42733 * include/types.h (grub_disk_addr_t): New typedef.
42734
42735 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
42736
42737 * geninit.sh: New file.
42738
42739 * geninitheader.sh: Likewise.
42740
42741 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
42742 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
42743 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
42744 * commands/configfile.c (grub_configfile_init)
42745 (grub_configfile_fini): Likewise.
42746 * commands/default.c (grub_default_init, grub_default_fini):
42747 Likewise.
42748 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
42749 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
42750 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
42751 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
42752 Likewise.
42753 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
42754 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
42755 Likewise.
42756 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
42757 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
42758 Likewise.
42759 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
42760 Likewise.
42761 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
42762 Likewise.
42763 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
42764 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
42765 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
42766 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
42767 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
42768 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
42769 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
42770 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
42771 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
42772 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
42773 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
42774 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
42775 * partmap/amiga.c (grub_amiga_partition_map_init)
42776 (grub_amiga_partition_map_fini): Likewise.
42777 * partmap/apple.c (grub_apple_partition_map_init)
42778 (grub_apple_partition_map_fini): Likewise.
42779 * partmap/pc.c (grub_pc_partition_map_init)
42780 (grub_pc_partition_map_fini): Likewise.
42781 * partmap/sun.c (grub_sun_partition_map_init,
42782 grub_sun_partition_map_fini): Likewise.
42783 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
42784 Likewise.
42785
42786 * util/grub-emu.c: Include <grub_modules_init.h>.
42787 (main): Don't initialize and de-initialize any modules directly,
42788 use `grub_init_all' and `grub_fini_all' instead.
42789
42790 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
42791 `grub_vesafb_mod_init'.
42792 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
42793 all users.
42794 * term/i386/pc/vga.c (grub_vga_init): Renamed to
42795 `grub_vga_mod_init'. Updated all users.
42796 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
42797
42798 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
42799 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
42800 rules.
42801
42802 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
42803 Generate a function to initialize the module in utilities.
42804 Updated all callers.
42805 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
42806 initialize the module in utilities. Updated all callers.
42807
42808 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
42809
42810 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
42811 escape sequence and a literal ^L to clear the screen.
42812
42813 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
42814 when returning from Open Firmware.
42815
42816 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
42817
42818 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
42819 (grub_ofconsole_height): Likewise.
42820 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
42821 manually insert a '\n'.
42822 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
42823 `grub_ofconsole_height'. Return early if these are already set.
42824
42825 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
42826
42827 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
42828 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
42829 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
42830 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
42831 and `normal/script.c'.
42832 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
42833 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
42834 (test_mod_SOURCES): New variable.
42835 (test_mod_CFLAGS): Likewise.
42836 (test_mod_LDFLAGS): Likewise.
42837 (pkgdata_MODULES): Add `test.mod'.
42838 (grub_script.tab.c): New rule.
42839 (grub_script.tab.h): Likewise.
42840
42841 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
42842
42843 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42844 `commands/test.c', `normal/execute.c', `normal/lexer.c',
42845 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
42846 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
42847 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
42848 (test_mod_SOURCES): New variable.
42849 (test_mod_CFLAGS): Likewise.
42850 (pkgdata_MODULES): Add `test.mod'.
42851 (grub_script.tab.c): New rule.
42852 (grub_script.tab.h): Likewise.
42853
42854 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
42855
42856 Add initial scripting support.
42857
42858 * commands/test.c: New file.
42859 * include/grub/script.h: Likewise.
42860 * normal/execute.c: Likewise.
42861 * normal/function.c: Likewise.
42862 * normal/lexer.c: Likewise.
42863 * normal/parser.y: Likewise.
42864 * normal/script.c: Likewise.
42865
42866 * configure.ac: Add `AC_PROG_YACC' test.
42867
42868 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
42869 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
42870 `normal/function.c' and `normal/script.c'.
42871 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
42872 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
42873 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
42874 variables.
42875 (pkgdata_MODULES): Add `test.mod'.
42876 (grub_script.tab.c): New rule.
42877 (grub_script.tab.h): Likewise.
42878
42879 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
42880
42881 * include/grub/normal.h (grub_test_init): New prototype.
42882 (grub_test_fini): Likewise.
42883
42884 * normal/command.c: Include <grub/script.h>.
42885 (grub_command_execute): Rewritten.
42886
42887 * util/grub-emu.c (main): Call `grub_test_init' and
42888 `grub_test_fini'.
42889
42890 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
42891
42892 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
42893 to 0.
42894 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
42895 there are no pending characters.
42896
42897 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
42898
42899 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
42900 `grub_strndup' to drop device arguments. Replace unnecessary
42901 `grub_strndup' with `grub_strdup'.
42902
42903 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
42904
42905 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
42906 `debug' environment variable has been set.
42907
42908 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
42909
42910 * Makefile.in (install-local): Use $(DATA).
42911 (uninstall): Likewise.
42912 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
42913 (sbin_UTILITIES): ... to here.
42914 (sbin_SCRIPTS): New variable.
42915 (grub_install_SOURCES): New variable.
42916 * util/powerpc/ieee1275/grub-install.in: New file.
42917 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
42918 variable.
42919 (add_segments): Call `grub_util_get_path'.
42920
42921 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
42922
42923 From Timothy Baldwin:
42924 * commands/ls.c (grub_ls_list_files): Close FILE with
42925 grub_file_close.
42926 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
42927
42928 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
42929
42930 * include/grub/parser.h: New file.
42931
42932 * kern/parser.c: Likewise.
42933
42934 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
42935 (grub_setup_SOURCES): Likewise.
42936 (grub_probefs_SOURCES): Likewise.
42937 (grub_emu_SOURCES): Likewise.
42938 (kernel_img_HEADERS): Add `parser.h'.
42939
42940 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
42941 (grub_emu_SOURCES): Add `kern/parser.c'.
42942 (grubof_SOURCES): Likewise.
42943
42944 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
42945 (grubof_SOURCES): Add `kern/parser.c'.
42946
42947 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
42948
42949 * kern/misc.c (grub_split_cmdline): Removed function.
42950
42951 * kern/rescue.c: Include <grub/parser.h>.
42952 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
42953 of `grub_split_cmdline'.
42954
42955 * normal/command.c: Include <grub/parser.h>.
42956 (grub_command_execute): Use `grub_parser_split_cmdline' instead
42957 of `grub_split_cmdline'.
42958
42959 * normal/completion.c: Include <grub/parser.h>.
42960 (cmdline_state): New variable.
42961 (iterate_dir): End the filename with a quote depending on the
42962 command line state.
42963 (get_state): new function.
42964 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
42965 split the arguments and determine the current argument. When the
42966 argument string is not quoted, escape all spaces.
42967
42968 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
42969
42970 * normal/sparc64/setjmp.S: New file.
42971
42972 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
42973
42974 * include/grub/sparc64/libgcc.h: New file.
42975 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
42976 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
42977 normal/sparc64/setjmp.c.
42978
42979 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
42980
42981 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
42982 * kern/sparc64/cache.S: New file.
42983 * kern/sparc64/cache.c: Removed.
42984 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
42985 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
42986 -mtune=ultrasparc.
42987 (COMMON_LDFLAGS): Add -melf64_sparc.
42988 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
42989 (grubof_SOURCES): Use cache.S instead of cache.c.
42990 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
42991 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
42992 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
42993 commented though.
42994 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
42995 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
42996 (linux_mod_CFLAGS): Commented out.
42997 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
42998 out because module isn't built.
42999 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
43000 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
43001 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
43002 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
43003 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
43004 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
43005 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
43006 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
43007 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
43008 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
43009 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
43010 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
43011 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
43012 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
43013
43014 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
43015
43016 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
43017 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
43018 longer, because HFS should not be used on PC.
43019
43020 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
43021
43022 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
43023 consistently within the loop.
43024
43025 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
43026
43027 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
43028 directory can not be read.
43029
43030 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43031
43032 * configure.ac (AC_INIT): Increase the version number to 1.91.
43033
43034 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
43035 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
43036 term/i386/pc/serial.c.
43037
43038 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43039
43040 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
43041 file size must be permitted.
43042
43043 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
43044 between %ah and %al.
43045
43046 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43047
43048 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
43049 grub_uint64_t.
43050 Call the hook with a NUL-terminated filename.
43051 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
43052 grub_cpu_to_be32.
43053
43054 * kern/term.c (cursor_state): New variable.
43055 (grub_term_set_current): Reset the cursor state on a new
43056 terminal.
43057 (grub_setcursor): Rewritten to use CURSOR_STATE.
43058 (grub_getcursor): New function.
43059
43060 * include/grub/term.h (grub_getcursor): New prototype.
43061
43062 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
43063 integers on ARM. Reported by Timothy Baldwin
43064 <T.E.Baldwin99@members.leeds.ac.uk>.
43065
43066 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
43067
43068 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
43069 allocated.
43070 (grub_sfs_dir): Likewise.
43071
43072 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
43073
43074 Add support for the SFS filesystem.
43075
43076 * fs/sfs.c: New file.
43077
43078 * DISTLIST: Added `fs/sfs.c'.
43079
43080 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
43081 (grub_probefs_SOURCES): Likewise.
43082 (grub_emu_SOURCES): Likewise.
43083 (pkgdata_MODULES): Add `sfs.mod'.
43084 (sfs_mod_SOURCES): New variable.
43085 (sfs_mod_CFLAGS): Likewise.
43086 (sfs_mod_LDFLAGS): Likewise.
43087
43088 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
43089 (pkgdata_MODULES): Add `sfs.mod'.
43090 (sfs_mod_SOURCES): New variable.
43091 (sfs_mod_CFLAGS): Likewise.
43092
43093 * util/grub-emu.c (main): Call `grub_sfs_init' and
43094 `grub_sfs_fini'.
43095
43096 * include/grub/fs.h (grub_sfs_init): New prototype.
43097 (grub_sfs_fini): Likewise.
43098
43099 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
43100
43101 Add support for the AFFS filesystem.
43102
43103 * fs/affs.c: New file.
43104
43105 * DISTLIST: Added `fs/affs.c'.
43106
43107 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
43108 (grub_probefs_SOURCES): Likewise.
43109 (grub_emu_SOURCES): Likewise.
43110 (pkgdata_MODULES): Add `affs.mod'.
43111 (affs_mod_SOURCES): New variable.
43112 (affs_mod_CFLAGS): Likewise.
43113 (affs_mod_LDFLAGS): Likewise.
43114
43115 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
43116 (pkgdata_MODULES): Add `affs.mod'.
43117 (affs_mod_SOURCES): New variable.
43118 (affs_mod_CFLAGS): Likewise.
43119
43120 * util/grub-emu.c (main): Call `grub_affs_init' and
43121 `grub_affs_fini'.
43122
43123 * include/grub/fs.h (grub_affs_init): New prototype.
43124 (grub_affs_fini): Likewise.
43125
43126 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
43127
43128 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
43129
43130 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
43131
43132 * configure.ac: Accept `x86_64' as host_cpu. In that case add
43133 `-m32' to CFLAGS.
43134
43135 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
43136 linking.
43137
43138 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
43139 (COMMON_LDFLAGS): New variable.
43140 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
43141 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
43142 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
43143 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
43144 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
43145 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
43146 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
43147 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
43148 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
43149 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
43150 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
43151 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
43152 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
43153 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
43154 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
43155 variables.
43156 (normal_mod_ASFLAGS): Add `-m32'.
43157
43158 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
43159 (grub_host_size_t, grub_host_ssize_t): New types.
43160 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
43161 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
43162 `GRUB_HOST_SIZEOF_VOID_P'.
43163
43164 * include/grub/kernel.h (struct grub_module_header): Type of
43165 member offset changed to `grub_host_off_t'. Type of member size
43166 changed to `grub_host_size_t'.
43167 (struct grub_module_info): Type of member offset changed to
43168 `grub_host_off_t'. Type of member size changed to
43169 `grub_host_size_t'.
43170
43171 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
43172
43173 Make GRUB's kernel compliant to Multiboot Specification.
43174
43175 * kern/i386/pc/startup.S (multiboot_header): New label.
43176 (multiboot_entry): Likewise.
43177 (multiboot_trampoline): Likewise.
43178
43179 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
43180 Increased to 0x4A0.
43181
43182 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
43183 put parentheses after a question mark.
43184 [!GRUB_UTIL] (my_mod): New variable.
43185
43186 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
43187
43188 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
43189
43190 Adds support for the XFS filesystem. Btrees are not supported
43191 yet.
43192
43193 * fs/xfs.c: New file.
43194
43195 * DISTLIST: Added `fs/xfs.c'.
43196
43197 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
43198 (grub_probefs_SOURCES): Likewise.
43199 (grub_emu_SOURCES): Likewise.
43200 (pkgdata_MODULES): Add `xfs.mod'.
43201 (xfs_mod_SOURCES): New variable.
43202 (xfs_mod_CFLAGS): Likewise.
43203
43204 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
43205 (pkgdata_MODULES): Add `xfs.mod'.
43206 (xfs_mod_SOURCES): New variable.
43207 (xfs_mod_CFLAGS): Likewise.
43208
43209 * util/grub-emu.c (main): Call `grub_xfs_init' and
43210 `grub_xfs_fini'.
43211
43212 * include/grub/fs.h (grub_xfs_init): New prototype.
43213 (grub_xfs_fini): Likewise.
43214
43215
43216 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
43217
43218 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
43219 color modes, allow greater than 16 colors to be configured as
43220 a default palette.
43221
43222 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
43223
43224 * normal/completion.c (complete_arguments): Add the qualifier
43225 const into OPTIONS.
43226
43227 From Omniflux <omniflux+lists@omniflux.com>:
43228 * include/grub/terminfo.h: New file.
43229 * include/grub/tparm.h: Likewise.
43230 * include/grub/i386/pc/serial.h: Likewise.
43231 * term/terminfo.c: Likewise.
43232 * term/tparm.c: Likewise.
43233 * term/i386/pc/serial.c: Likewise.
43234 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
43235 serial.mod.
43236 (terminfo_mod_SOURCES): New variable.
43237 (terminfo_mod_CFLAGS): Likewise.
43238 (serial_mod_SOURCES): Likewise.
43239 (serial_mod_CFLAGS): Likewise.
43240
43241 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
43242
43243 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
43244 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
43245 and kern/powerpc/ieee1275/cmain.c, respectively.
43246
43247 * boot/powerpc/ieee1275/crt0.S: Moved to ...
43248 * kern/powerpc/ieee1275/crt0.S: ... here.
43249
43250 * boot/powerpc/ieee1275/cmain.c: Moved to ...
43251 * kern/powerpc/ieee1275/cmain.c: ... here.
43252
43253 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
43254 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
43255 instead of boot/powerpc/ieee1275/crt0.S and
43256 boot/powerpc/ieee1275/cmain.c, respectively.
43257
43258 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
43259 sectors. It was not used anyway.
43260
43261 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
43262
43263 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
43264 `unused parameter' warning.
43265
43266 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
43267
43268 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
43269 function.
43270 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
43271 getcharwidth.
43272
43273 2005-08-28 Marco Gerards <metgerards@student.han.nl>
43274
43275 * include/grub/normal.h (enum grub_completion_type): Added
43276 `GRUB_COMPLETION_TYPE_ARGUMENT'.
43277
43278 * normal/cmdline.c (print_completion): Handle
43279 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
43280 * normal/menu_entry.c (store_completion): Likewise.
43281
43282 * normal/completion.c (complete_arguments): New function.
43283 (grub_normal_do_completion): Call `complete_arguments' when the
43284 current words start with a dash.
43285
43286 2005-08-27 Marco Gerards <metgerards@student.han.nl>
43287
43288 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
43289 `gzio.mod' instead of `io.mod').
43290
43291 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
43292
43293 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
43294 (DISTDIRS): Added io and video.
43295 Rewrite the search routine to make an output consistently.
43296
43297 * DISTLIST: Added conf/sparc64-ieee1275.mk,
43298 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
43299 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
43300 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
43301 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
43302 util/powerpc/ieee1275/misc.c.
43303
43304 * include/grub/gzio.h: New file.
43305 * io/gzio.c: Likewise.
43306
43307 * kern/file.c (grub_file_close): Call grub_device_close only if
43308 FILE->DEVICE is not NULL.
43309
43310 * include/grub/mm.h [!NULL] (NULL): New macro.
43311
43312 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
43313
43314 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
43315 (pkgdata_MODULES): Added gzio.mod.
43316 (gzio_mod_SOURCES): New variable.
43317 (gzio_mod_CFLAGS): Likewise.
43318
43319 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
43320 (pkgdata_MODULES): Added gzio.mod.
43321 (gzio_mod_SOURCES): New variable.
43322 (gzio_mod_CFLAGS): Likewise.
43323
43324 * commands/cat.c: Include grub/gzio.h.
43325 (grub_cmd_cat): Use grub_gzfile_open instead of
43326 grub_file_open.
43327
43328 * commands/cmp.c: Include grub/gzio.h.
43329 (grub_cmd_cmp): Use grub_gzfile_open instead of
43330 grub_file_open.
43331
43332 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
43333 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
43334 grub_file_open.
43335 (grub_rescue_cmd_module): Likewise.
43336
43337 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
43338
43339 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
43340 kern/sparc64/ieee1275/init.c because it contains _start.
43341 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
43342
43343 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
43344
43345 * configure.ac: Add support for sparc64 host with ieee1275
43346 firmware.
43347 * configure: Generated from configure.ac.
43348 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
43349 instead of int.
43350 (grub_ofdisk_read): Likewise.
43351 (grub_ofdisk_open): Use %p to print pointer values, and cast the
43352 pointers as (void *) to remove a warning.
43353 (grub_ofdisk_close): Likewise.
43354 (grub_ofdisk_read): Likewise.
43355 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
43356 returns, so make it return void to remove a warning.
43357 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
43358 Corresponding prototype change.
43359 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
43360 values, and cast the pointers as (void *) to remove a warning.
43361 (grub_mm_dump): Likewise.
43362 * conf/sparc64-ieee1275.mk: New file.
43363 * conf/sparc64-ieee1275.rmk: Likewise.
43364 * include/grub/sparc64/setjmp.h: Likewise.
43365 * include/grub/sparc64/types.h: Likewise.
43366 * include/grub/sparc64/ieee1275/console.h: Likewise.
43367 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
43368 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
43369 * include/grub/sparc64/ieee1275/time.h: Likewise.
43370 * kern/sparc64/cache.c: Likewise.
43371 * kern/sparc64/dl.c: Likewise.
43372 * kern/sparc64/ieee1275/init.c: Likewise.
43373 * kern/sparc64/ieee1275/openfw.c: Likewise.
43374
43375 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
43376
43377 * util/console.c (grub_ncurses_putchar): If C is greater than
43378 0x7f, set C to a question mark.
43379 (grub_ncurses_getcharwidth): New function.
43380 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
43381 getcharwidth.
43382
43383 * normal/menu.c (print_entry): Made aware of Unicode. First,
43384 convert TITLE to UCS-4, and predict the cursor position by
43385 grub_getcharwidth.
43386
43387 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
43388 const to SRC.
43389 * kern/misc.c (grub_utf16_to_utf8): Likewise.
43390
43391 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
43392
43393 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
43394 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
43395 grub_strcat.
43396
43397 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
43398 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
43399 grub_strcpy and grub_strlen. Take it into account that a space
43400 character is inserted as a delimiter.
43401
43402 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
43403
43404 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
43405 invalid magic in the error.
43406
43407 * commands/search.c: New file.
43408
43409 * util/grub-emu.c (main): Call grub_search_init and
43410 grub_search_fini.
43411
43412 * kern/rescue.c (grub_rescue_print_disks): Removed.
43413 (grub_rescue_print_devices): New function.
43414 (grub_rescue_cmd_ls): Use grub_device_iterate with
43415 grub_rescue_print_devices instead of grub_disk_dev_iterate with
43416 grub_rescue_print_disks.
43417
43418 * kern/partition.c (grub_partition_iterate): Return the result of
43419 PARTMAP->ITERATE instead of GRUB_ERRNO.
43420
43421 * kern/device.c: Include grub/partition.h.
43422 (grub_device_iterate): New function.
43423
43424 * include/grub/partition.h (grub_partition_iterate): Return int
43425 instead of grub_err_t.
43426
43427 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
43428 prototype.
43429 [GRUB_UTIL] (grub_search_fini): Likewise.
43430
43431 * include/grub/device.h (grub_device_iterate): New prototype.
43432
43433 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
43434 commands/search.c.
43435 (pkgdata_MODULES): Added search.mod.
43436 (search_mod_SOURCES): New variable.
43437 (search_mod_CFLAGS): Likewise.
43438
43439 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
43440 (pkgdata_MODULES): Added search.mod.
43441 (search_mod_SOURCES): New variable.
43442 (search_mod_CFLAGS): Likewise.
43443
43444 * commands/ls.c (grub_ls_list_disks): Renamed to ...
43445 (grub_ls_list_devices): ... this, and use grub_device_iterate.
43446 All callers changed.
43447
43448 * DISTLIST: Added commands/search.c.
43449
43450 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
43451
43452 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
43453 conversion.
43454 (grub_getcharwidth): New function.
43455
43456 * kern/misc.c (grub_utf8_to_ucs4): New function.
43457
43458 * include/grub/term.h (struct grub_term): Added a new member
43459 "getcharwidth".
43460 (grub_getcharwidth): New prototype.
43461
43462 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
43463
43464 * term/i386/pc/console.c (map_char): New function. Segregated from
43465 grub_console_putchar.
43466 (grub_console_putchar): Use map_char.
43467 (grub_console_getcharwidth): New function.
43468 (grub_console_term): Specified grub_console_getcharwidth as
43469 getcharwidth.
43470
43471 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
43472 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
43473
43474 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
43475 GRUB_ERRNO.
43476 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
43477 on grub_strtoul completely.
43478 (write_char): Declare local variables in the beginning of the
43479 function.
43480 (grub_vesafb_getcharwidth): New function.
43481 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
43482 getcharwidth.
43483
43484 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
43485
43486 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
43487 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
43488 commands/i386/pc/vbetest.c.
43489
43490 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
43491 call grub_vbe_get_controller_info again, because the returned
43492 information is volatile.
43493 (grub_vbe_set_video_mode): Mostly rewritten.
43494 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
43495 grub_vbe_status_t correctly.
43496 (grub_vbe_get_video_mode_info): Likewise.
43497 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
43498 several if statements.
43499
43500 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
43501 * commands/i386/pc/vbeinfo.c: ... this.
43502
43503 * commands/i386/pc/vbe_test.c: Renamed to ...
43504 * commands/i386/pc/vbetest.c: ... this.
43505
43506 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
43507 ...
43508 (grub_cmd_vbeinfo): ... this. Save video modes before
43509 iterating. Skip a video mode, if it is not available, not enough
43510 information is given or it is monochrome. Show the memory
43511 model. Leave the interpretation of MODEVAR to grub_strtoul
43512 completely.
43513 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
43514 (GRUB_MOD_FINI): Likewise.
43515
43516 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
43517 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
43518 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
43519 duplicated grub_env_get. Leave the interpretation of MODEVAR to
43520 grub_strtoul completely.
43521 (real2pm): Removed.
43522 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
43523 (GRUB_MOD_FINI): Likewise.
43524
43525 * normal/misc.c: Include grub/mm.h.
43526
43527 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
43528 vbe_list_modes with vbetest.mod and vbeinfo.mod.
43529 (vbe_list_modes_mod_SOURCES): Removed.
43530 (vbe_list_modes_mod_CFLAGS): Likewise.
43531 (vbe_test_mod_SOURCES): Likewise.
43532 (vbe_test_mod_CFLAGS): Likewise.
43533 (vbeinfo_mod_SOURCES): New variable.
43534 (vbeinfo_mod_CFLAGS): Likewise.
43535 (vbetest_mod_SOURCES): Likewise.
43536 (vbetest_mod_CFLAGS): Likewise.
43537
43538 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
43539
43540 * normal/misc.c: New file.
43541
43542 * DISTLIST: Added normal/misc.c.
43543
43544 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
43545 DISK to HOOK. Call HOOK with DISK.
43546 * partmap/apple.c (apple_partition_map_iterate): Likewise.
43547 * partmap/pc.c (pc_partition_map_iterate): Likewise.
43548 * partmap/sun.c (sun_partition_map_iterate): Likewise.
43549
43550 * normal/menu_entry.c (struct screen): Added a new member
43551 "completion_shown".
43552 (completion_buffer): New global variable.
43553 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
43554 (store_completion): New function.
43555 (complete): Likewise.
43556 (clear_completions): Likewise.
43557 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
43558 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
43559 a tab, call complete.
43560
43561 * normal/completion.c (disk_dev): Removed.
43562 (print_simple_completion): Likewise.
43563 (print_partition_completion): Likewise.
43564 (print_func): New global variable.
43565 (add_completion): Do not take the arguments WHAT or PRINT any
43566 longer. Added a new argument TYPE. Instead of printing directly,
43567 call PRINT_FUNC if not NULL.
43568 All callers changed.
43569 (complete_device): Use a local variable DEV instead of
43570 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
43571 (grub_normal_do_completion): Take a new argument HOOK. Do not
43572 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
43573 empty string, return NULL instead.
43574 All callers changed.
43575
43576 * normal/cmdline.c (print_completion): New function.
43577
43578 * kern/partition.c (grub_partition_iterate): Add an argument DISK
43579 to HOOK.
43580 All callers changed.
43581
43582 * kern/disk.c (grub_print_partinfo): Removed.
43583
43584 * include/grub/partition.h (struct grub_partition_map): Add a new
43585 argument DISK into HOOK of ITERATE.
43586 (grub_partition_iterate): Add a new argument DISK to HOOK.
43587
43588 * include/grub/normal.h (enum grub_completion_type): New enum.
43589 (grub_completion_type_t): New type.
43590 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
43591 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
43592 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
43593 (GRUB_COMPLETION_TYPE_FILE): Likewise.
43594 (grub_normal_do_completion): Added a new argument HOOK.
43595 (grub_normal_print_device_info): New prototype.
43596
43597 * include/grub/disk.h (grub_print_partinfo): Removed.
43598
43599 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
43600 (normal_mod_SOURCES): Likewise.
43601 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43602 (normal_mod_SOURCES): Likewise.
43603
43604 * commands/ls.c (grub_ls_list_disks): Use
43605 grub_normal_print_device_info instead of grub_print_partinfo. Free
43606 PNAME.
43607 (grub_ls_list_files): Use grub_normal_print_device_info instead of
43608 duplicating the code.
43609
43610 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
43611
43612 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
43613 follow GCS more precisely.
43614 * commands/i386/pc/vbe_test.c: Likewise.
43615 * include/grub/i386/pc/vbe.h: Likewise.
43616 * term/i386/pc/vesafb.c: Likewise.
43617 * video/i386/pc/vbe.c: Likewise.
43618
43619 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
43620
43621 * DISTLIST: Added term/i386/pc/vesafb.c
43622 DISTLIST: Added video/i386/pc/vbe.c
43623 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
43624 DISTLIST: Added commands/i386/pc/vbe_test.c.
43625 * commands/i386/pc/vbe_list_modes.c: New file.
43626 * commands/i386/pc/vbe_test.c: Likewise.
43627 * term/i386/pc/vesafb.c: Likewise.
43628 * video/i386/pc/vbe.c: Likewise.
43629 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
43630 (grub_vbe_probe) Added prototype.
43631 (grub_vbe_set_video_mode) Likewise.
43632 (grub_vbe_get_video_mode) Likewise.
43633 (grub_vbe_get_video_mode_info) Likewise.
43634 (grub_vbe_set_pixel_rgb) Likewise.
43635 (grub_vbe_set_pixel_index) Likewise.
43636 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
43637 (pkgdata_MODULES): Added vesafb.mod.
43638 (pkgdata_MODULES): Added vbe_list_modes.mod.
43639 (pkgdata_MODULES): Added vbe_test.mod.
43640 (vbe_mod_SOURCES): Added.
43641 (vbe_mod_CFLAGS): Likewise.
43642 (vesafb_mod_SOURCES): Likewise.
43643 (vesafb_mod_CFLAGS): Likewise.
43644 (vbe_list_modes_mod_SOURCES): Likewise.
43645 (vbe_list_modes_mod_CFLAGS): Likewise.
43646 (vbe_test_mod_SOURCES): Likewise.
43647 (vbe_test_mod_CFLAGS): Likewise.
43648
43649 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
43650
43651 * normal/command.c (grub_command_execute): If INTERACTIVE is
43652 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
43653 CMDLINE. Disable the pager if INTERACTIVE is true.
43654 All callers are changed.
43655
43656 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
43657 before reading a config file.
43658 * normal/main.c (read_config_file): Even if a command is not
43659 found, register it if it is within an entry.
43660
43661 * util/grub-emu.c: Include sys/types.h and unistd.h.
43662 (options): Added --hold.
43663 (struct arguments): Added a new member "hold".
43664 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
43665 missing.
43666 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
43667 cleared by a debugger, if it is not zero.
43668
43669 * include/grub/normal.h (grub_command_execute): Add an argument
43670 INTERACTIVE.
43671
43672 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
43673
43674 * DISTLIST: Added include/grub/i386/pc/vbe.h.
43675
43676 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
43677
43678 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
43679 program with another one, because the old one didn't detect a bug
43680 in gcc-3.4. Always use regparm 2, because the new test is still
43681 not enough for gcc-4.0. Someone must investigate a simple test
43682 case which detects a bug in gcc-4.0.
43683
43684 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
43685
43686 * DISTLIST: Added normal/completion.c.
43687
43688 * normal/completion.c: New file.
43689
43690 * term/i386/pc/console.c (grub_console_getwh): New function.
43691 (grub_console_term): Assign grub_console_getwh to getwh.
43692
43693 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
43694 function is defined in normal/completion.c as
43695 grub_normal_do_completion.
43696 (grub_cmdline_get): Use grub_normal_do_completion instead of
43697 grub_tab_complete.
43698
43699 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
43700 returns non-zero, otherwise return 0.
43701 (grub_partition_iterate): First, probe the partition map. Then,
43702 call ITERATE only for this partition map.
43703
43704 * kern/misc.c (grub_strncmp): Rewritten.
43705
43706 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
43707 returns non-zero. Otherwise return 0.
43708
43709 * include/grub/partition.h (grub_partition_map_iterate): Return
43710 int instead of void.
43711
43712 * include/grub/normal.h (grub_normal_do_completion): New prototype.
43713
43714 * include/grub/misc.h (grub_strncmp): Change the type of N to
43715 grub_size_t.
43716
43717 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
43718 of void.
43719
43720 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
43721 unsigned explicitly before comparing it with I.
43722
43723 * kern/main.c (grub_env_write_root): Add the attribute unused into
43724 VAR.
43725
43726 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
43727 normal/completion.c.
43728 (normal_mod_SOURCES): Likewise.
43729 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
43730 (normal_mod_SOURCES): Likewise.
43731
43732 * normal/command.c (grub_iterate_commands): If ITERATE returns
43733 non-zero, return one immediately.
43734
43735 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
43736
43737 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
43738 * kern/i386/pc/startup.S: Updated Global Descriptor table's
43739 descriptions.
43740 (grub_vbe_get_controller_info): New function.
43741 (grub_vbe_get_mode_info): Likewise.
43742 (grub_vbe_set_mode): Likewise.
43743 (grub_vbe_get_mode): Likewise.
43744 (grub_vbe_set_memory_window): Likewise.
43745 (grub_vbe_get_memory_window): Likewise.
43746 (grub_vbe_set_scanline_length): Likewise.
43747 (grub_vbe_get_scanline_length): Likewise.
43748 (grub_vbe_set_display_start): Likewise.
43749 (grub_vbe_get_display_start): Likewise.
43750 (grub_vbe_set_palette_data): Likewise.
43751 * include/grub/i386/pc/vbe.h: New file.
43752
43753 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
43754
43755 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
43756 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
43757 * DISTLIST: Likewise.
43758 * kern/ieee1275/of.c: Moved to ...
43759 * kern/ieee1275/ieee1275.c: ... here.
43760
43761 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
43762
43763 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
43764 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
43765 Pass 0 as `end' parameter to grub_strtoul().
43766
43767 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
43768
43769 * include/grub/powerpc/ieee1275/console.h: Do not include
43770 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
43771 ifdef.
43772 (grub_console_cur_color): Remove i386-specific prototype.
43773 (grub_console_real_putchar): Likewise.
43774 (grub_console_checkkey): Likewise.
43775 (grub_console_getkey): Likewise.
43776 (grub_console_getxy): Likewise.
43777 (grub_console_gotoxy): Likewise.
43778 (grub_console_cls): Likewise.
43779 (grub_console_setcursor): Likewise.
43780 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
43781 Include <grub/machine/console.h>.
43782 * term/ieee1275/ofconsole.c: Likewise.
43783
43784 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
43785
43786 * Makefile.in (LIBLZO): New variable.
43787
43788 * configure.ac: Check for LZO version 2.
43789
43790 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
43791 lzo/lzo1x.h instead of lzo1x.h.
43792
43793 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
43794 of -llzo.
43795
43796 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
43797 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
43798
43799 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
43800 copying the data from PARTITION to P.
43801
43802 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
43803
43804 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
43805 negative, unload the module.
43806
43807 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
43808 map is "pc_partition_map" but not "pc".
43809 (usage): Fix the description. The options are --boot-image and
43810 --core-image but not --boot-file or --core-file.
43811 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
43812 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
43813 DEFAULT_DIRECTORY.
43814
43815 * util/i386/pc/grub-install.in: Do not specify --boot-file or
43816 --core-file. Specify INSTALL_DEVICE as an argument.
43817
43818 * util/console.c: Include config.h.
43819 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
43820 [HAVE_NCURSES_H]: Include ncurses.h.
43821 [HAVE_CURSES_H]: Include curses.h.
43822 [!A_NORMAL] (A_NORMAL): Defined as zero.
43823 [!A_STANDOUT] (A_STANDOUT): Likewise.
43824
43825 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
43826 -lncurses.
43827 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
43828
43829 * configure.ac: Check for curses libraries and headers.
43830
43831 * Makefile.in (LIBCURSES): New variable.
43832
43833 * genmk.rb (Script::rule): Set the executable bits.
43834
43835 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
43836 name of the PC partition map is "pc_partition_map" but not "pc".
43837
43838 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
43839
43840 * util/i386/pc/grub-install.in (grub_probefs): New variable.
43841 (modules): Likewise.
43842 (usage): Added descriptions for --modules and --grub-probefs.
43843 Handle --modules and --grub-probefs. Save the arguments in MODULES
43844 and GRUB_PROBEFS, respectively.
43845 Auto-detect a filesystem module against GRUBDIR. If the result is
43846 empty and modules are not specified explicitly, abort the
43847 installation. Add the result to MODULES.
43848
43849 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
43850 disk/powerpc/ieee1275/ofdisk.c,
43851 include/grub/powerpc/ieee1275/init.h and
43852 term/powerpc/ieee1275/ofconsole.c.
43853 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
43854 term/ieee1275/ofconsole.c.
43855
43856 * include/grub/powerpc/ieee1275/console.h: Resurrected.
43857
43858 * COPYING: Upgraded to the latest version. Only the address of the
43859 FSF office has changed.
43860
43861 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
43862
43863 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
43864 kern/ieee1275.c with kern/ieee1275/of.c.
43865
43866 * kern/ieee1275.c: Moved to ...
43867 * kern/ieee1275/of.c: ... here.
43868
43869 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
43870
43871 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
43872 readability.
43873
43874 * config.guess: Updated to the latest version from gnulib.
43875 * config.sub: Likewise.
43876 * install.sh: Likewise.
43877 * mkinstalldirs: Likewise.
43878
43879 * include/grub/console.h: Removed. This file is arch-specific. Do
43880 not put this in include/grub.
43881
43882 * include/grub/i386/pc/console.h: Resurrected.
43883
43884 * util/console.c: Include grub/machine/console.h instead of
43885 grub/console.h.
43886 * util/grub-emu.c: Likewise.
43887
43888 2005-08-04 Marco Gerards <metgerards@student.han.nl>
43889
43890 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
43891 hardcoded value.
43892
43893 From Vincent Pelletier <subdino2004@yahoo.fr>
43894 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
43895 Redefined to use grub_getwh.
43896 (grub_term): New member named getwh.
43897 (grub_getwh): New prototype.
43898 * kern/term.c (grub_getwh): New function.
43899 * term/i386/pc/console.c (grub_console_getwh): New function.
43900 (grub_console_term): New member `getwh'.
43901 * term/i386/pc/vga.c (grub_vga_getwh): New function.
43902 (grub_vga_term): New member `getwh'.
43903 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
43904 grub_ssize_t.
43905 (grub_ofconsole_getw): New function.
43906 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
43907 (grub_ofconsole_term): New field named getwh and new initial
43908 value.
43909
43910 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
43911
43912 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
43913 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
43914 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
43915 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
43916 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
43917 of <grub/machine/ieee1275.h>.
43918 * commands/ieee1275/reboot.c: Likewise.
43919 * boot/powerpc/ieee1275/ieee1275.c: Move ...
43920 * kern/ieee1275.c: ... to here. All users updated. Change all
43921 parameter structs to use new type `grub_ieee1275_cell_t'.
43922 * term/powerpc/ieee1275/ofconsole.c: Move ...
43923 * term/ieee1275/ofconsole.c: ... to here. All users updated.
43924 * disk/powerpc/ieee1275/ofdisk.c: Move ...
43925 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
43926 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
43927 to return int.
43928 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
43929 Remove unused prototypes. All users updated.
43930 * include/grub/powerpc/ieee1275/console.h: Removed.
43931 * include/grub/powerpc/ieee1275/ieee1275.h: Define
43932 `grub_ieee1275_cell_t'.
43933 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
43934 Cast comparisons with -1 to the correct type.
43935 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
43936 type to match `grub_ieee1275_entry_fn'.
43937
43938 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
43939
43940 * DISTLIST: Added util/i386/pc/grub-probefs.c.
43941
43942 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
43943 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
43944 partmap/sun.c.
43945 (grub_probefs_SOURCES): New variable.
43946
43947 * util/i386/pc/grub-probefs.c: New file.
43948
43949 * util/i386/pc/grub-setup.c (main): Call
43950 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
43951 grub_hfs_init and grub_jfs_init to initialize the system. Call
43952 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
43953 grub_pc_partition_map_fini to finish the system.
43954
43955 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
43956
43957 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
43958 function.
43959 (grub_multiboot_load_elf32): Likewise.
43960 (grub_multiboot_is_elf64): Likewise.
43961 (grub_multiboot_load_elf64): Likewise.
43962 (grub_multiboot_load_elf): Likewise.
43963 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
43964 an ELF32 or ELF64 file.
43965 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
43966
43967 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
43968 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
43969 NULL before calling FS->LABEL.
43970 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
43971 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
43972 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
43973 before calling FS->LABEL.
43974
43975 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
43976
43977 * util/i386/pc/grub-install.in (datadir): New variable.
43978 (libdir): Removed.
43979 (pkgdatadir): New variable.
43980 (pkglibdir): Removed.
43981
43982 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
43983
43984 * DISTLIST: Added util/i386/pc/grub-install.in.
43985
43986 * util/i386/pc/grub-install.in: New file.
43987
43988 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
43989 (grub_install_SOURCES): Likewise.
43990
43991 * genmk.rb: Added support for scripts.
43992 (Script): New class.
43993 (scripts): New variable.
43994
43995 * Makefile.in (install-local): Install sbin_SCRIPTS by
43996 INSTALL_SCRIPT.
43997 (uninstall): Remove sbin_SCRIPTS.
43998
43999 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
44000 device, try to get a GRUB device by
44001 grub_util_biosdisk_get_grub_dev.
44002 Free DEST_DEV.
44003
44004 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
44005 description for --device-map.
44006
44007 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
44008
44009 Change the semantics of variable hooks. They now return strings
44010 instead of error values.
44011
44012 * util/i386/pc/grub-setup.c: Include grub/env.h.
44013 (setup): Use grub_device_set_root instead of grub_env_set.
44014
44015 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
44016 grub_env_get instead of grub_device_set_root and
44017 grub_device_get_root, respectively.
44018
44019 * kern/main.c (grub_env_write_root): New function.
44020 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
44021 grub_env_set instead of grub_device_set_root.
44022
44023 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
44024 many variables.
44025 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
44026 rather than calling ENV->WRITE_HOOK afterwards.
44027 (grub_env_get): Return the result of ENV->READ_HOOK rather than
44028 passing a pointer of a pointer.
44029 (grub_register_variable_hook): Change the types of "read_hook" and
44030 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
44031 respectively.
44032 Allocate the default empty string on the heap, because this string
44033 may be freed later.
44034
44035 * kern/device.c: Include grub/env.h.
44036 (grub_device_set_root): Removed.
44037 (grub_device_get_root): Likewise.
44038 (grub_device_open): Use grub_env_get instead of
44039 grub_device_get_root.
44040
44041 * include/grub/env.h (grub_env_read_hook_t): New type.
44042 (grub_env_write_hook_t): Likewise.
44043 (grub_env_var): Change the types of "read_hook" and "write_hook"
44044 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
44045 (grub_register_variable_hook): Likewise.
44046
44047 * include/grub/device.h (grub_device_set_root): Removed.
44048 (grub_device_set_root): Likewise.
44049
44050 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
44051 make sure that DIRNAME terminates with '/', so that
44052 grub_fat_find_dir will fail if PATH is not a directory.
44053
44054 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
44055 from DIRNAME.
44056 Use the qualifier auto for print_files and print_files_long.
44057 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
44058 as a regular file.
44059 Put a newline only if there is no error.
44060 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
44061 used.
44062
44063 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
44064
44065 * kern/partition.c (grub_partition_probe): Initialize PART to
44066 NULL. Otherwise, when no partition map is registered, this returns
44067 a garbage.
44068
44069 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
44070
44071 * partmap/apple.c (apple_partition_map_iterate): Check if POS
44072 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
44073 valid.
44074
44075 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
44076
44077 * commands/ls.c (grub_ls_list_disks): Print the filesystem
44078 information on each device, if it does not have partitions. Print
44079 "Device" instead of "Disk", because this function is not specific
44080 to disk devices.
44081
44082 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
44083 static to ensure that it is put on the memory rather than a
44084 register.
44085
44086 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
44087
44088 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
44089 (grub_cat_init): Likewise.
44090 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
44091 (options): Likewise.
44092 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
44093 (grub_configfile_init): Likewise.
44094 * font/manager.c (GRUB_MOD_INIT): Likewise.
44095 * commands/help.c (GRUB_MOD_INIT): Likewise.
44096 (grub_help_init): Likewise.
44097 * normal/command.c (grub_command_init): Likewise.
44098 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
44099 * disk/loopback.c (grub_loop_init): Likewise.
44100 (GRUB_MOD_INIT): Likewise.
44101 * commands/ls.c (grub_ls_init): Likewise.
44102 (GRUB_MOD_INIT): Likewise.
44103 (options): Likewise.
44104 * commands/boot.c (grub_boot_init): Likewise.
44105 (GRUB_MOD_INIT): Likewise.
44106 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
44107 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
44108 (GRUB_MOD_INIT): Likewise.
44109 * commands/cmp.c (grub_cmp_init): Likewise.
44110 (GRUB_MOD_INIT): Likewise.
44111
44112 * normal/arg.c: Use <> instead of "" to include header files.
44113 (SHORT_ARG_HELP): New macro.
44114 (SHORT_ARG_USAGE): Likewise.
44115 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
44116 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
44117 descriptions.
44118 (find_short): Check if C is 'h' or 'u' explicitly.
44119 (grub_arg_show_help): Use space characters instead of tabs. Treat
44120 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
44121 are shown with --help and --usage only if they are not used for
44122 the command itself.
44123 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
44124 'h' and 'u'.
44125
44126 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
44127 const into "longarg". Change the type of "shortarg" to int.
44128
44129 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
44130
44131 * boot/i386/pc/boot.S (boot_drive_check): New label.
44132
44133 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
44134 macro.
44135
44136 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
44137 which do not pass a boot drive correctly. Copied from GRUB Legacy.
44138
44139 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
44140
44141 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
44142 When turning off Gate A20, skip the check and return immediately,
44143 because this is not fatal usually.
44144
44145 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
44146
44147 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
44148 be 0x7C00 instead of 0x8000.
44149
44150 * boot/i386/pc/pxeboot.S: Rewritten.
44151
44152 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
44153 EXT_C.
44154 (gate_a20_check_state): Read a byte from 0x108000. Invert the
44155 result.
44156
44157 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
44158
44159 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
44160 robustness. This routine now supports a BIOS call and System
44161 Control Port A to modify the gate A20.
44162
44163 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
44164 Increased to 0x440.
44165
44166 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
44167
44168 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
44169 device path and resulting ihandle.
44170 (grub_ofdisk_close): dprintf the ihandle being closed.
44171 (grub_ofdisk_read): dprintf function parameters.
44172 * kern/mm.c (grub_mm_init_region): Likewise.
44173 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
44174 (grub_linux_boot): dprintf the Linux entry point, initrd address and
44175 size, and boot arguments.
44176 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
44177 before loading into memory.
44178 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
44179 before loading into memory.
44180
44181 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
44182
44183 * kern/mm.c: Added much documentation.
44184 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
44185 8, set to 5 instead of 8.
44186
44187 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
44188
44189 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
44190
44191 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
44192 (grub_mkdevicemap_SOURCES): New variable.
44193
44194 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
44195 lib/device.c of GRUB Legacy.
44196
44197 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
44198
44199 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
44200 instead of PATH is NULL.
44201
44202 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
44203
44204 * commands/cmp.c (BUFFER_SIZE): New macro.
44205 (grub_cmd_cmp): Close the right file at the right time. Compare
44206 only data just read. Don't report files of different size as
44207 identical. Dynamically allocate buffers. Move variable
44208 declarations at the beginning of function.
44209
44210 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
44211
44212 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
44213 reverse.
44214
44215 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
44216
44217 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
44218 when backspace is pressed at beginning of line.
44219
44220 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
44221
44222 * DISTLIST: Added genfslist.sh.
44223
44224 * normal/main.c (fs_module_list): New variable.
44225 (autoload_fs_module): New function.
44226 (read_fs_list): Likewise.
44227 (grub_normal_execute): Call read_fs_list.
44228
44229 * kern/fs.c (grub_fs_autoload_hook): New variable.
44230 (grub_fs_probe): Added support for auto-loading.
44231
44232 * include/grub/normal.h (struct grub_fs_module_list): New struct.
44233 (grub_fs_module_list_t): New type.
44234
44235 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
44236 (grub_fs_autoload_hook): New prototype.
44237
44238 * genfslist.sh: New file.
44239
44240 * genmk.rb: Added a rule to generate a filesystem list.
44241
44242 2005-06-30 Marco Gerards <metgerards@student.han.nl>
44243
44244 * configure.ac: Fix the test for cross-compiling.
44245
44246 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
44247 define GRUB_UTIL anymore.
44248
44249 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
44250 so this function works on other systems than just big endian.
44251 (load_modules): Likewise.
44252 (add_segments): Likewise.
44253
44254 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
44255
44256 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
44257 contains `l' modifier, get a long from va_arg().
44258
44259 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
44260
44261 * kern/mm.c (grub_free): If the next free block which is being
44262 merged is the first free block, set the first block to the block
44263 being freed.
44264 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
44265
44266 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
44267
44268 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
44269 `grub_ieee1275_chosen'.
44270
44271 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
44272
44273 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
44274 (grub_ieee1275_chosen): New variable.
44275 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
44276 `chosen'.
44277 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
44278 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
44279 Rename first argument to `phandle' for consistency.
44280 (grub_ieee1275_get_property_length): Likewise.
44281 (grub_ieee1275_next_property): Likewise. Change type of first argument
44282 to grub_ieee1275_phandle_t.
44283 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
44284 Move export next to declaration.
44285 (grub_ieee1275_chosen): New variable.
44286 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
44287 Correct cosmetic typo.
44288 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
44289 `grub_ieee1275_chosen'.
44290 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
44291 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
44292 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
44293 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
44294 `grub_ieee1275_chosen'.
44295
44296 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
44297
44298 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
44299 /chosen/bootargs.
44300 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
44301 /chosen/bootargs as "variable=value" pairs.
44302
44303 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
44304
44305 * include/grub/misc.h (grub_dprintf): New macro.
44306 (grub_real_dprintf): New prototype.
44307 (grub_strword): Likewise.
44308 (grub_iswordseparator): Likewise.
44309 * kern/misc.c (grub_real_dprintf): New function.
44310 (grub_strword): Likewise.
44311 (grub_iswordseparator): Likewise.
44312
44313 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
44314
44315 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
44316 (roundup): Remove macro.
44317 (grub_ieee1275_flags): Make static.
44318 (grub_ieee1275_realmode): Remove.
44319 (grub_ieee1275_test_flag): New function.
44320 (grub_ieee1275_set_flag): Likewise.
44321 (find_options): Rename to `grub_ieee1275_find_options'; update
44322 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
44323 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
44324 (cmain): New prototype.
44325 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
44326 `grub_ieee1275_flags' directly.
44327 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
44328 machine/biosdisk.h.
44329 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
44330 Don't include grub/machine/init.h.
44331 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
44332 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
44333 Remove prototype.
44334 (grub_ieee1275_realmode): Likewise.
44335 (grub_ieee1275_flag): New enum.
44336 (grub_ieee1275_test_flag): New prototype.
44337 (grub_ieee1275_set_flag): New prototype.
44338 * include/grub/powerpc/ieee1275/init.h: Remove file.
44339 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
44340 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
44341 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
44342 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
44343 comment.
44344 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
44345 `grub_ieee1275_test_flag'.
44346 (grub_ieee1275_encode_devname): Likewise.
44347
44348 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
44349
44350 * include/grub/powerpc/ieee1275/ieee1275.h
44351 (grub_ieee1275_encode_devname): New prototype.
44352 (grub_ieee1275_get_filename): Likewise.
44353 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
44354 function.
44355 (grub_set_prefix): Likewise.
44356 (grub_machine_init): Call grub_set_prefix.
44357 * kern/powerpc/ieee1275/openfw.c: Fix typos.
44358 (grub_parse_type): New enum.
44359 (grub_ieee1275_get_devargs): New function.
44360 (grub_ieee1275_get_devname): Likewise.
44361 (grub_ieee1275_parse_args): Likewise.
44362 (grub_ieee1275_get_filename): Likewise.
44363 (grub_ieee1275_encode_devname): Likewise.
44364
44365 2005-03-30 Marco Gerards <metgerards@student.han.nl>
44366
44367 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
44368 `grub_loader_unset'.
44369
44370 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
44371
44372 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
44373 instead of grub_ieee1275_interpret.
44374 (grub_halt_init): New function.
44375 (grub_halt_fini): Likewise.
44376 (GRUB_MOD_INIT): Correct message grammar.
44377 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
44378 instead of grub_ieee1275_interpret.
44379 (grub_reboot_init): New function.
44380 (grub_reboot_fini): Likewise.
44381 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
44382 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
44383 util/i386/pc/misc.c with commands/ieee1275/halt.c,
44384 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
44385 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
44386 function.
44387 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
44388 Add prototype.
44389 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
44390 prototype.
44391 (grub_halt): Likewise.
44392 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
44393 (cmain): Remove __attribute__((unused)).
44394 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
44395 (grub_heap_len): Likewise.
44396 (grub_machine_fini): New function.
44397 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
44398 (grub_halt): Likewise.
44399 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
44400 function.
44401 * util/powerpc/ieee1275/misc.c: New file.
44402
44403 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
44404
44405 * DISTLIST: New file.
44406 * gendistlist.sh: Likewise.
44407
44408 * Makefile.in (COMMON_DISTFILES): Removed.
44409 (BOOT_DISTFILES): Likewise.
44410 (CONF_DISTFILES): Likewise.
44411 (DISK_DISTFILES): Likewise.
44412 (FS_DISTFILES): Likewise.
44413 (INCLUDE_DISTFILES): Likewise.
44414 (KERN_DISTFILES): Likewise.
44415 (LOADER_DISTFILES): Likewise.
44416 (TERM_DISTFILES): Likewise.
44417 (UTIL_DISTFILES): Likewise.
44418 (DISTFILES): Likewise.
44419 (uninstall): Uninstall files in $(pkgdata_DATA).
44420 (DISTLIST): New target.
44421 (distdir): Use the contents of the file DISTLIST to get a list of
44422 distributed files.
44423
44424 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
44425
44426 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
44427 descriptor. This is ported from GRUB Legacy.
44428
44429 * gencmdlist.sh: Added an extra semicolon to make it work with
44430 old sed versions. Reported by Robert Bihlmeyer
44431 <robbe@orcus.priv.at>.
44432
44433 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
44434
44435 Automatic loading of commands is supported.
44436
44437 * normal/main.c (read_command_list): New function.
44438 (grub_normal_execute): Call read_command_list.
44439
44440 * normal/command.c (grub_register_command): Return zero or CMD.
44441 Allocate CMD->NAME from the heap.
44442 Initialize CMD->MODULE_NAME to zero.
44443 Find the same name as well. If the same command is found and it is
44444 a dummy command, overwrite members. If it is not a dummy command,
44445 return zero.
44446 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
44447 (grub_command_find): If a dummy command is found, load a module
44448 and retry to find a command only once.
44449
44450 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
44451 make sure that each command is loaded.
44452
44453 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
44454 macro.
44455 (struct grub_command): Remove const from the member `name'.
44456 Add a new member `module_name'.
44457 (grub_register_command): Return grub_command_t.
44458
44459 * commands/help.c (grub_cmd_help): Call grub_command_find to make
44460 sure that each command is loaded.
44461
44462 * genmk.rb (PModule::rule): Specify a module name without the
44463 suffix ".mod" to gencmdlist.sh.
44464
44465 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
44466
44467 * gencmdlist.sh: New file.
44468
44469 * genmk.rb (PModule::rule): Generate a rule for a command list.
44470 Clean command.lst.
44471 Generate command.lst from $(COMMANDFILES).
44472
44473 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
44474 (DATA): Added $(pkgdata_DATA).
44475 (install-local): Install files in $(pkgdata_DATA).
44476
44477 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
44478
44479 * term/i386/pc/vga.c (debug_command): Removed.
44480 (GRUB_MOD_INIT): Do not register the command "debug".
44481
44482 From Hollis Blanchard:
44483 * commands/configfile.c: New file.
44484 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
44485 commands/configfile.c.
44486 (pkgdata_MODULES): Added configfile.mod.
44487 (configfile_mod_SOURCES): New variable.
44488 (configfile_mod_CFLAGS): Likewise.
44489 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
44490 commands/configfile.c.
44491 (pkgdata_MODULES): Added configfile.mod.
44492 (configfile_mod_SOURCES): New variable.
44493 (configfile_mod_CFLAGS): Likewise.
44494 * util/grub-emu.c (main): Call grub_configfile_init and
44495 grub_configfile_fini.
44496 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
44497 prototype.
44498 [GRUB_UTIL] (grub_configfile_fini): Likewise.
44499
44500 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
44501
44502 * normal/arg.c (grub_arg_show_help): Do not show the bug report
44503 address.
44504
44505 * commands/help.c (grub_cmd_help): Do not print newlines after
44506 the last command in print_command_help.
44507
44508 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
44509
44510 * commands/default.h: New file.
44511 * commands/timeout.h: Likewise.
44512 * normal/context.c: Likewise.
44513
44514 * util/misc.c: Do not include sys/times.h.
44515 Include sys/time.h and grub/machine/time.h.
44516 (grub_get_rtc): Rewritten with gettimeofday.
44517
44518 * util/grub-emu.c (main): Call grub_default_init and
44519 grub_timeout_init before grub_normal_init, and call
44520 grub_timeout_fini and grub_default_fini after grub_main.
44521
44522 * util/console.c (grub_ncurses_checkkey): Return the read
44523 character or -1.
44524
44525 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
44526 timeouts.
44527
44528 * normal/main.c (read_config_file): Push MENU. If this fails,
44529 print an error and wait for a user input.
44530 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
44531 If a menu is empty or an error occurs, pop MENU.
44532 (grub_normal_execute): Pop and free MENU after grub_menu_run
44533 returns.
44534
44535 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
44536
44537 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
44538 include time.h.
44539 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
44540 without GRUB_UTIL.
44541 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
44542 time.h.
44543 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
44544 without GRUB_UTIL.
44545
44546 * include/grub/normal.h (struct grub_menu_list): New struct.
44547 (grub_menu_list_t): New type.
44548 (struct grub_context): New struct.
44549 (grub_context_t): New type.
44550 (grub_register_command): Got rid of EXPORT_FUNC.
44551 (grub_unregister_command): Likewise.
44552 (grub_context_get): New prototype.
44553 (grub_context_get_current_menu): Likewise.
44554 (grub_context_push_menu): Likewise.
44555 (grub_context_pop_menu): Likewise.
44556 [GRUB_UTIL] (grub_default_init): Likewise.
44557 [GRUB_UTIL] (grub_default_fini): Likewise.
44558 [GRUB_UTIL] (grub_timeout_init): Likewise.
44559 [GRUB_UTIL] (grub_timeout_fini): Likewise.
44560
44561 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
44562 commands/timeout.c and normal/context.c.
44563 (pkgdata_MODULES): Added default.mod and timeout.mod.
44564 (normal_mod_SOURCES): Added normal/context.c.
44565 (default_mod_SOURCES): New variable.
44566 (default_mod_CFLAGS): Likewise.
44567 (timeout_mod_SOURCES): Likewise.
44568 (timeout_mod_CFLAGS): Likewise.
44569 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
44570 conf/i386-pc.rmk.
44571 (pkgdata_MODULES): Added default.mod and timeout.mod.
44572 (normal_mod_SOURCES): Added normal/context.c.
44573 (default_mod_SOURCES): New variable.
44574 (default_mod_CFLAGS): Likewise.
44575 (timeout_mod_SOURCES): Likewise.
44576 (timeout_mod_CFLAGS): Likewise.
44577
44578 * Makefile.in (all-local): Added $(MKFILES).
44579
44580 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
44581
44582 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
44583 (grub_emu_SOURCES): Likewise.
44584 (pkgdata_MODULES): Add `sun.mod'.
44585 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
44586 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
44587 `partmap/sun.c'.
44588 (pkgdata_MODULES): Add `sun.mod'.
44589 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
44590 * include/grub/partition.h (grub_sun_partition_map_init): New
44591 prototype.
44592 (grub_sun_partition_map_fini): Likewise.
44593 * partmap/sun.c: New file.
44594 * util/grub-emu.c (main): Initialize and de-initialize the sun
44595 partitionmap support.
44596
44597 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
44598
44599 This implements an Emacs-like menu entry editor.
44600
44601 * normal/menu_entry.c: New file.
44602
44603 * util/console.c (grub_ncurses_putchar): Translate some Unicode
44604 characters to ASCII.
44605 (saved_char): New variable.
44606 (grub_ncurses_checkkey): Rewritten completely.
44607 (grub_ncurses_getkey): Likewise.
44608 (grub_ncurses_init): Call raw instead of cbreak.
44609
44610 * normal/menu.c (print_entry): Do not put a space.
44611 (init_page): Renamed to ...
44612 (grub_menu_init_page): ... this. All callers changed.
44613 (edit_menu_entry): Removed.
44614 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
44615
44616 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
44617
44618 * kern/misc.c (grub_vprintf): Call grub_refresh.
44619
44620 * normal/menu.c (DISP_LEFT): Renamed to ...
44621 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
44622 * normal/menu.c (DISP_UP): Renamed to ...
44623 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
44624 * normal/menu.c (DISP_RIGHT): Renamed to ...
44625 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
44626 * normal/menu.c (DISP_DOWN): Renamed to ...
44627 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
44628 * normal/menu.c (DISP_HLINE): Renamed to ...
44629 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
44630 * normal/menu.c (DISP_VLINE): Renamed to ...
44631 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
44632 * normal/menu.c (DISP_UL): Renamed to ...
44633 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
44634 * normal/menu.c (DISP_UR): Renamed to ...
44635 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
44636 * normal/menu.c (DISP_LL): Renamed to ...
44637 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
44638 * normal/menu.c (DISP_LR): Renamed to ...
44639 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
44640 * normal/menu.c (TERM_WIDTH): Renamed to ...
44641 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
44642 * normal/menu.c (TERM_HEIGHT): Renamed to ...
44643 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
44644 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
44645 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
44646 * normal/menu.c (TERM_MARGIN): Renamed to ...
44647 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
44648 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
44649 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
44650 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
44651 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
44652 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
44653 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
44654 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
44655 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
44656 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
44657 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
44658 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
44659 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
44660 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
44661 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
44662 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
44663 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
44664 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
44665 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
44666 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
44667 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
44668 All callers changed.
44669
44670 * include/grub/normal.h: New prototype.
44671
44672 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
44673 normal/menu_entry.c.
44674 (normal_mod_SOURCES): Likewise.
44675 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44676 (normal_mod_SOURCES): Likewise.
44677
44678 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
44679
44680 * include/grub/normal.h (grub_halt_init): New prototype.
44681 (grub_halt_fini): Likewise.
44682 (grub_reboot_init): Likewise.
44683 (grub_reboot_fini): Likewise.
44684
44685 * util/grub-emu.c: Include signal.h.
44686 (main_env): New global variable.
44687 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
44688 catch C-c.
44689 (grub_machine_fini): New function.
44690 (main): Call grub_halt_init and grub_reboot_init before
44691 grub_main, and grub_reboot_fini and grub_halt_fini after it.
44692 Call setjmp with MAIN_ENV to go back afterwards.
44693 Call grub_machine_fini right before return.
44694
44695 * include/grub/util/misc.h: Include setjmp.h.
44696 (main_env): New prototype.
44697
44698 * include/grub/kernel.h (grub_machine_fini): New prototype.
44699 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
44700 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
44701
44702 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
44703 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
44704 * term/i386/pc/console.c (grub_console_fini): Likewise.
44705
44706 * util/i386/pc/misc.c: New file.
44707
44708 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
44709 util/i386/pc/misc.c, commands/i386/pc/halt.c and
44710 commands/i386/pc/reboot.c.
44711
44712 2005-02-14 Guillem Jover <guillem@hadrons.org>
44713
44714 * include/grub/dl.h (grub_dl_check_header): New prototype.
44715 (grub_arch_dl_check_header): Change return type to grub_err_t,
44716 remove size parameter and export function. Update all callers.
44717 * kern/dl.c (grub_dl_check_header): New function.
44718 (grub_dl_load_core): Use `grub_dl_check_header' instead of
44719 `grub_arch_dl_check_header'. Check ELF type. Check if sections
44720 are inside the core.
44721 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
44722 independent ELF header checks.
44723 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
44724 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
44725 `grub_dl_check_header' instead of explicit checks. Check for the
44726 ELF type.
44727 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
44728 `grub_dl_check_header' instead of explicit checks. Remove arch
44729 specific ELF header checks.
44730
44731 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
44732 argument SIZE.
44733
44734 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
44735
44736 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
44737 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
44738
44739 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
44740
44741 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
44742 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
44743 (part_map_iterate): Clear `grub_errno' and return 0 if
44744 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
44745 * partmap/amiga.c (amiga_partition_map_iterate): Return
44746 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
44747 * partmap/apple.c (apple_partition_map_iterate): Likewise.
44748
44749 2005-02-01 Guillem Jover <guillem@hadrons.org>
44750
44751 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
44752 help info.
44753
44754 2005-01-31 Marco Gerards <metgerards@student.han.nl>
44755
44756 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
44757 Removed prototype.
44758 (grub_rescue_cmd_linux): New prototype.
44759 (grub_rescue_cmd_initrd): Likewise.
44760 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
44761 `bi_rec'.
44762 (grub_linux_release_mem): Release the memory for the initrd.
44763 (grub_load_linux): Renamed from this...
44764 (grub_rescue_cmd_linux): ...To this. Changed all callers.
44765 Changed `entry' not to be static. Loop over memory regions to
44766 find another one when the default fails.
44767 (grub_rescue_cmd_initrd): New function.
44768 (grub_linux_init): Remove function.
44769 (grub_linux_fini): Likewise.
44770 (GRUB_MOD_INIT): Register `initrd'.
44771 (GRUB_MOD_FINI): Unregister `initrd'.
44772 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
44773 Function removed.
44774 (grub_linux_normal_fini): Likewise.
44775 (GRUB_MOD_INIT): Register `initrd'.
44776 (GRUB_MOD_FINI): Unregister `initrd'.
44777
44778 2005-01-31 Marco Gerards <metgerards@student.han.nl>
44779
44780 * commands/help.c: New file.
44781 * normal/arg.c (show_help): Renamed to...
44782 (grub_arg_show_help): ... this.
44783 * commands/i386/pc/halt.c: New file.
44784 * commands/i386/pc/reboot.c: Likewise.
44785 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
44786 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
44787 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
44788 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
44789 variables.
44790 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
44791 `commands/help.c'.
44792 (pkgdata_MODULES): Add `help.mod'.
44793 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
44794 * grub/i386/pc/init.h (grub_reboot): New prototype.
44795 (grub_halt): Likewise.
44796 * include/grub/normal.h (grub_arg_show_help): New prototype.
44797 (grub_help_init): Likewise.
44798 (grub_help_fini): Likewise.
44799 * util/grub-emu.c (main): Initialize and deinitialize the help
44800 command.
44801
44802 * normal/cmdline.c (grub_cmdline_get): Doc fix.
44803
44804 * normal/command.c (grub_command_init): Fixed the description of
44805 the `set' and `unset' commands.
44806
44807 2005-01-31 Marco Gerards <metgerards@student.han.nl>
44808
44809 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
44810 function.
44811 * commands/ieee1275/halt.c: New file.
44812 * commands/ieee1275/reboot.c: Likewise.
44813 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
44814 `__attribute__ ((unused))'. Some GCS related fixed.
44815 (grub_suspend_init) [GRUB_UTIL]: Function removed.
44816 (grub_suspend_fini): Likewise.
44817 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
44818 and `halt.mod'.
44819 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
44820 (halt_mod_CFLAGS): New variables.
44821 * include/grub/powerpc/ieee1275/ieee1275.h
44822 (grub_ieee1275_interpret): New prototype.
44823
44824 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
44825
44826 * include/grub/misc.h (memmove): New prototype.
44827 (memcpy): Likewise.
44828
44829 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
44830
44831 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
44832 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
44833
44834 2005-01-22 Marco Gerards <metgerards@student.han.nl>
44835
44836 * kern/misc.c (grub_strndup): Function rewritten.
44837
44838 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
44839
44840 * normal/menu.c (TERM_WIDTH): Macro redefined.
44841 (TERM_TOP_BORDER_Y): Likewise.
44842 (draw_border): Replaced while-loop by a for-loop. Make the number
44843 of lines consistent with the number of lines displayed in
44844 print_entries. Added a margin below the rectangle.
44845 (print_entry): Make the entry fit in the rectangle.
44846 (print_entries): Display the scroll arrows next to the right
44847 border.
44848
44849 2005-01-21 Marco Gerards <metgerards@student.han.nl>
44850
44851 * fs/minix.c (grub_minix_find_file): Reserve more space for
44852 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
44853 `grub_strncpy' to copy `path' into it.
44854
44855 2005-01-21 Marco Gerards <metgerards@student.han.nl>
44856
44857 Add the loopback device, a device via which files can be accessed
44858 as devices.
44859
44860 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
44861 (pkgdata_MODULES): Add loopback.mod.
44862 (loopback_mod_SOURCES): New variable.
44863 (loopback_mod_CFLAGS): Likewise.
44864 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
44865 `disk/loopback.c'.
44866 (pkgdata_MODULES): Add loopback.mod.
44867 (loopback_mod_SOURCES): New variable.
44868 (loopback_mod_CFLAGS): Likewise.
44869 * disk/loopback.c: new file.
44870 * include/grub/normal.h (grub_loop_init): New prototype.
44871 (grub_loop_fini): New prototype.
44872 * util/grub-emu.c (main): Initialize and de-initialize loopback
44873 support.
44874 * include/grub/disk.h (grub_disk_dev_id): Add
44875 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
44876
44877 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
44878
44879 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
44880 function.
44881 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
44882 (suspend_mod_SOURCES): New variable.
44883 (suspend_mod_CFLAGS): Likewise.
44884 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
44885 New prototype.
44886 * commands/ieee1275/suspend.c: New file.
44887
44888 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
44889
44890 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
44891 ((unused))' to `__attribute__ ((used))'.
44892 (GRUB_MOD_FINI): Likewise.
44893 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
44894 * genmk.rb (PModule): Assign space to common symbols when linking
44895 modules.
44896
44897 2005-01-20 Marco Gerards <metgerards@student.han.nl>
44898
44899 * include/grub/mm.h (grub_mm_init_region): Change the type of the
44900 `unsigned' arguments to `grub_size_t'.
44901 (grub_malloc): Likewise.
44902 (grub_realloc): Likewise.
44903 (grub_memalign): Likewise.
44904 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
44905 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
44906 * util/misc.c (grub_malloc): Likewise.
44907 (grub_realloc): Likewise.
44908 * kern/mm.c (get_header_from_pointer): Change the casts to
44909 `unsigned' into a cast to `grub_size_t'.
44910
44911 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
44912 point to `currnode' when `currnode' is changed.
44913
44914 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
44915 Schottelius <nico-linux@schottelius.org>.
44916
44917 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
44918
44919 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
44920 (note_path): Remove variable.
44921 (GRUB_IEEE1275_NOTE_NAME): New macro.
44922 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
44923 (grub_ieee1275_note_hdr): New structure.
44924 (grub_ieee1275_note_desc): Likewise.
44925 (grub_ieee1275_note): Likewise.
44926 (load_note): Remove `dir' argument. All callers updated. Remove
44927 `note_img' and `path'. Do not load a file from `note_path'.
44928 Initialize a struct grub_ieee1275_note and write that to `out'.
44929 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
44930
44931 2005-01-05 Marco Gerards <metgerards@student.han.nl>
44932
44933 * util/misc.c (grub_util_read_image): Revert last change. It
44934 called `grub_util_read_at', which seeks from the beginning of the
44935 file.
44936
44937 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
44938
44939 * TODO: Add note about endianness in grub-mkimage.
44940 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
44941 section.
44942 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
44943 (grub_mkimage_SOURCES): New target.
44944 * include/grub/kernel.h (grub_start_addr): Remove variable.
44945 (grub_end_addr): Likewise.
44946 (grub_total_module_size): Likewise.
44947 (grub_kernel_image_size): Likewise.
44948 (GRUB_MODULE_MAGIC): New constant.
44949 (grub_module_info): New structure.
44950 (grub_arch_modules_addr): New prototype.
44951 (grub_get_end_addr): Remove prototype.
44952 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
44953 * include/grub/powerpc/ieee1275/kernel.h: New file.
44954 * include/grub/util/misc.h (grub_util_get_fp_size): New
44955 prototype.
44956 (grub_util_read_at): Likewise.
44957 (grub_util_write_image_at): Likewise.
44958 * kern/main.c (grub_get_end_addr): Remove function.
44959 (grub_load_modules): Call grub_arch_modules_addr instead of using
44960 grub_end_addr. Look for a grub_module_info struct in memory. Use
44961 the grub_module_info fields instead of calling grub_get_end_addr
44962 as loop conditions. Move grub_add_unused_region code here.
44963 (grub_add_unused_region): Remove function.
44964 * kern/i386/pc/init.c: Include grub/cache.h.
44965 (grub_machine_init): Remove call to grub_get_end_addr. Remove
44966 one call to add_mem_region.
44967 (grub_arch_modules_addr): New function.
44968 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
44969 (grub_total_module_size): Likewise.
44970 Include grub/machine/kernel.h.
44971 (grub_arch_modules_addr): New function.
44972 * util/grub-emu.c (grub_end_addr): Remove variable.
44973 (grub_total_module_size): Likewise.
44974 (grub_arch_modules_addr): New function.
44975 * util/misc.c: Include unistd.h.
44976 (grub_util_get_fp_size): New function.
44977 (grub_util_read_at): Likewise.
44978 (grub_util_write_image_at): Likewise.
44979 (grub_util_read_image): Call grub_util_read_at.
44980 (grub_util_write_image): Call grub_util_write_image_at.
44981 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
44982 additional memory in kernel_img for a struct grub_module_info.
44983 Fill in that grub_module_info.
44984 * util/powerpc/ieee1275/grub-mkimage.c: New file.
44985
44986 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
44987
44988 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
44989 New function.
44990 * include/grub/powerpc/ieee1275/ieee1275.h
44991 (grub_ieee1275_milliseconds): New prototype.
44992 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
44993 Change to 1000.
44994 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
44995 grub_ieee1275_milliseconds.
44996
44997 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
44998
44999 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
45000 variable.
45001 (find_options): New function.
45002 (cmain): Call find_options.
45003 * include/grub/powerpc/ieee1275/ieee1275.h
45004 (grub_ieee1275_realmode): New extern variable.
45005 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
45006 grub_map if grub_ieee1275_realmode is false.
45007
45008 2004-12-29 Marco Gerards <metgerards@student.han.nl>
45009
45010 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
45011 lines are inserted and make it work like readline. Reported by
45012 Vincent Pelletier <subdino2004@yahoo.fr>.
45013
45014 2004-12-28 Marco Gerards <metgerards@student.han.nl>
45015
45016 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
45017
45018 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
45019 `kern/powerpc/cache.S'.
45020
45021 2004-12-27 Marco Gerards <metgerards@student.han.nl>
45022
45023 * genmk.rb: Handle the `Program' class in the main loop. Written
45024 by Johan Rydberg <jrydberg@gnu.org>.
45025 (Program): New class.
45026 (programs): New variable.
45027 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
45028 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
45029 instead of "grub/kernel.h". Include <grub/machine/init.h>.
45030 (help_arch): Function removed.
45031 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
45032 `powerpc/libgcc.h' and `loader.h'.
45033 (pkgdata_PROGRAMS): New variable.
45034 (sbin_UTILITIES): Variable removed.
45035 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
45036 (grubof_SOURCES): Variable re-defined so it only includes the
45037 core functionality.
45038 (grubof_CFLAGS): Remove `-DGRUBOF'.
45039 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
45040 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
45041 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
45042 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
45043 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
45044 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
45045 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
45046 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
45047 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
45048 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
45049 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
45050 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
45051 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
45052 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
45053 (pc_mod_CFLAGS): New variables.
45054 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
45055 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
45056 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
45057 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
45058 Moved from here...
45059 * include/grub/i386/pc/init.h (grub_os_area_addr)
45060 (rub_os_area_size): ... to here.
45061 * include/grub/powerpc/ieee1275/ieee1275.h
45062 (grub_ieee1275_entry_fn): Export symbol.
45063 * include/grub/powerpc/ieee1275/init.h: New file.
45064 * include/grub/powerpc/libgcc.h: Likewise.
45065 * include/grub/cache.h: Likewise.
45066 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
45067 <hollis@penguinppc.org>.
45068 * kern/dl.c: Include <grub/cache.h>.
45069 (grub_dl_flush_cache): New function.
45070 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
45071 for this module.
45072 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
45073 (grub_console_init): Removed prototypes.
45074 (grub_machine_init): Don't initialize the modules anymore.
45075 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
45076 static.
45077 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
45078 Macro undef removed.
45079 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
45080 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
45081 relocation `R_PPC_REL32'. Return an error when the relocation is
45082 unknown.
45083 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
45084 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
45085 * util/misc.c (grub_arch_sync_caches): Likewise.
45086
45087 2004-12-19 Marco Gerards <metgerards@student.han.nl>
45088
45089 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
45090 `symlist.c', add `grubof_symlist.c'.
45091 (symlist.c): Variable removed.
45092 (grubof_HEADERS): Variable added.
45093 (grubof_symlist.c): New target.
45094 (kernel_syms.lst): Use `grubof_HEADERS' instead of
45095 `kernel_img_HEADERS'.
45096 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
45097 * kern/powerpc/dl.c: New file.
45098 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
45099 Function removed.
45100 (grub_arch_dl_relocate_symbols): Likewise.
45101 (grub_register_exported_symbols): Likewise.
45102
45103 2004-12-13 Marco Gerards <metgerards@student.han.nl>
45104
45105 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
45106 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
45107 to fail instead. Reported by Vincent Pelletier
45108 <subdino2004@yahoo.fr>.
45109
45110 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
45111 it is not allocated. Reported by Vincent Pelletier
45112 <subdino2004@yahoo.fr>.
45113
45114 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
45115 output so the output looks better.
45116
45117 2004-12-04 Marco Gerards <metgerards@student.han.nl>
45118
45119 Modulize the partition map support and add support for the amiga
45120 partition map.
45121
45122 * commands/ls.c: Include <grub/partition.h> instead of
45123 <grub/machine/partition.h>.
45124 * kern/disk.c: Likewise.
45125 * kern/rescue.c: Likewise.
45126 * loader/i386/pc/chainloader.c: Likewise.
45127 * normal/cmdline.c: Likewise.
45128 * kern/powerpc/ieee1275/init.c: Likewise.
45129 (grub_machine_init): Call `grub_pc_partition_map_init',
45130 `grub_amiga_partition_map_init' and
45131 `grub_apple_partition_map_init'.
45132 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
45133 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
45134 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
45135 `partition.h' and `pc_partition.h'.
45136 (grub_setup_SOURCES): Remove
45137 `disk/i386/pc/partition.c'. Add `kern/partition.c',
45138 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
45139 (grub_emu_SOURCES): Likewise.
45140 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
45141 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
45142 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
45143 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
45144 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
45145 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
45146 (grubof_SOURCES): Likewise.
45147 * disk/i386/pc/partition.c: File removed.
45148 * disk/powerpc/ieee1275/partition.c: Likewise.
45149 * include/grub/powerpc/ieee1275/partition.h: Likewise.
45150 * include/grub/i386/pc/partition.h: Likewise.
45151 * kern/partition.c: New file.
45152 * partmap/amiga.c: Likewise.
45153 * partmap/apple.c: Likewise.
45154 * partmap/pc.c: Likewise.
45155 * include/grub/partition.h: Likewise..
45156 * include/grub/pc_partition.h: Likewise.
45157 * util/grub-emu.c: Include <grub/partition.h> instead of
45158 <grub/machine/partition.h>.
45159 (main): Call `grub_pc_partition_map_init',
45160 `grub_amiga_partition_map_init' and
45161 `grub_apple_partition_map_init' and deinitialize afterwards.
45162 * util/i386/pc/biosdisk.c: Include `#include
45163 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
45164 `<grub/machine/partition.h>'.
45165 * util/i386/pc/grub-setup.c: Likewise.
45166 * util/i386/pc/biosdisk.c: Likewise.
45167 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
45168 partition information in case of a PC partition.
45169 * util/i386/pc/grub-setup.c: Include `#include
45170 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
45171 `<grub/machine/partition.h>'.
45172 (setup): Only access the PC specific partition information in case
45173 of a PC partition.
45174
45175 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
45176
45177 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
45178 (grub_longjmp): Likewise.
45179 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
45180 20.
45181 * normal/powerpc/setjmp.S: New file.
45182 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
45183 `normal/powerpc/setjmp.S'.
45184 (grubof_CFLAGS): Add `-DGRUBOF'.
45185 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
45186 [GRUB_UTIL && !GRUBOF].
45187
45188 2004-11-16 Marco Gerards <metgerards@student.han.nl>
45189
45190 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
45191 property named `name'. Correctly handle the error returned by
45192 `grub_ieee1275_finddevice' if a device can not be opened.
45193
45194 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
45195
45196 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
45197 `actual' for negativity.
45198 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
45199 kern/fshelp.c.
45200
45201 2004-11-01 Marco Gerards <metgerards@student.han.nl>
45202
45203 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
45204 (PAGE_OFFSET): New macro.
45205 (CRTC_ADDR_PORT): Likewise.
45206 (CRTC_DATA_PORT): Likewise.
45207 (START_ADDR_HIGH_REGISTER): Likewise.
45208 (START_ADDR_LOW_REGISTER): Likewise.
45209 (GRAPHICS_ADDR_PORT): Likewise.
45210 (GRAPHICS_DATA_PORT): Likewise.
45211 (READ_MAP_REGISTER): Likewise.
45212 (INPUT_STATUS1_REGISTER): Likewise.
45213 (INPUT_STATUS1_VERTR_BIT): Likewise.
45214 (page): New variable.
45215 (wait_vretrace): New function.
45216 (set_read_map): Likewise.
45217 (set_start_address): Likewise.
45218 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
45219 the right page.
45220 (check_vga_mem): Take the page into account.
45221 (write_char): Likewise.
45222 (write_cursor): Likewise.
45223 (scroll_up): Likewise. Copy the page to the page that is not
45224 shown and switch between both pages.
45225 (grub_vga_putchar): Fix off by one error.
45226 (grub_vga_cls): Wait for the vertical retrace. Take the page into
45227 account.
45228
45229 2004-11-01 Marco Gerards <metgerards@student.han.nl>
45230
45231 Add support for iso9660 (including rockridge).
45232
45233 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
45234 (iso9660_mod_SOURCES): New variable.
45235 (iso9660_mod_CFLAGS): Likewise.
45236 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
45237 * include/grub/fs.h (grub_iso9660_init): New prototype.
45238 * util/grub-emu.c (main): Call `grub_iso9660_init'.
45239 * fs/iso9660.c: New file.
45240
45241 * include/grub/misc.h (grub_strncat): New prototype.
45242 * kern/misc.c (grub_strncat): New function.
45243
45244 * fs/hfs.c (grub_hfs_mount): Translate the error
45245 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
45246 * fs/jfs.c (grub_jfs_mount): Likewise.
45247 * fs/ufs.c (grub_ufs_mount): Likewise.
45248
45249 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
45250
45251 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
45252 which initialized BAT registers.
45253 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
45254 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
45255 Move from here...
45256 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
45257 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
45258 ... to here.
45259 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
45260 (grub_mapclaim): Likewise.
45261 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
45262 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
45263 hand.
45264
45265 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
45266
45267 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
45268 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
45269 -ffreestanding and -msoft-float.
45270
45271 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
45272
45273 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
45274 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
45275 set in grub_ieee1275_flags.
45276
45277 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
45278
45279 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
45280 prototype.
45281 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
45282 grub_console_init first.
45283 Change the memory range used for grub_ieee1275_claim and
45284 grub_mm_init_region.
45285 Print an error message if the claim fails.
45286 Include <grub/misc.h>.
45287
45288 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
45289
45290 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
45291 Call grub_children_iterate for device nodes of type `scsi',
45292 `ide', or `ata'.
45293 (grub_ofdisk_open): Remove manual device alias resolution.
45294 Fix memory leak when device cannot be opened.
45295 * include/grub/powerpc/ieee1275/ieee1275.h
45296 (grub_children_iterate): New prototype.
45297 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
45298 New function.
45299 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
45300 Return -1 if args.size was -1.
45301
45302 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
45303
45304 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
45305 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
45306 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
45307 Open Firmware's memory for it; claim memory from _start to _end.
45308 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
45309 (_end): New extern.
45310 (_start): Zero BSS from __bss_start to _end.
45311 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
45312 New extern.
45313 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
45314
45315 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
45316
45317 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
45318 -1 if args.base was -1.
45319
45320 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
45321
45322 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
45323 escape sequence instead of a literal ^L. Also call
45324 grub_ofconsole_gotoxy.
45325
45326 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
45327
45328 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
45329 void * arguments to grub_addr_t. All callers updated. Also make
45330 the `result' argument optional.
45331 (grub_ieee1275_release): change void * arguments to grub_addr_t.
45332 All callers updated.
45333
45334 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
45335
45336 * commands/ls.c (grub_ls_list_files): Use the string following the
45337 initial ')', if present, as the filesystem path.
45338 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
45339
45340 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
45341
45342 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
45343
45344 Make the source code of the menu interface more readable.
45345
45346 * normal/menu.c: Include grub/mm.h.
45347 (TERM_WIDTH): New macro.
45348 (TERM_HEIGHT): Likewise.
45349 (TERM_INFO_HEIGHT): Likewise.
45350 (TERM_MARGIN): Likewise.
45351 (TERM_SCROLL_WIDTH): Likewise.
45352 (TERM_TOP_BORDER_Y): Likewise.
45353 (TERM_LEFT_BORDER_X): Likewise.
45354 (TERM_BORDER_WIDTH): Likewise.
45355 (TERM_MESSAGE_HEIGHT): Likewise.
45356 (TERM_BORDER_HEIGHT): Likewise.
45357 (TERM_NUM_ENTRIES): Likewise.
45358 (TERM_FIRST_ENTRY_Y): Likewise.
45359 (TERM_ENTRY_WIDTH): Likewise.
45360 (TERM_CURSOR_X): Likewise.
45361 (draw_border): Use macros instead of magic numbers.
45362 (print_entry): Likewise.
45363 (print_entries): Likewise.
45364 (run_menu): Likewise. Also, handle the key 'e'.
45365 (run_menu_entry): Ignore empty command lines.
45366 (print_message): Added a new argument EDIT. If EDIT is true,
45367 print a different message.
45368 (init_page): Likewise.
45369 (edit_menu_entry): New function. Not implemented yet.
45370
45371 2004-09-17 Marco Gerards <metgerards@student.han.nl>
45372
45373 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
45374 can be loaded from normal mode.
45375
45376 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
45377 `multiboot.mod'.
45378 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
45379 (multiboot_mod_CFLAGS): New variables.
45380 * loader/i386/pc/linux_normal.c: New file.
45381 * loader/i386/pc/multiboot_normal.c: Likewise.
45382
45383 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
45384 attribute `unused'.
45385
45386 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
45387 `fdiro' to read the mode information from instead of `diro'.
45388
45389 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
45390 looking up a symlink.
45391
45392 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
45393 macro.
45394 * normal/command.c (grub_command_execute): Don't parse the
45395 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
45396 flags of the command.
45397
45398 * normal/menu.c (grub_menu_run): Fix typo.
45399
45400 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
45401
45402 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
45403
45404 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
45405 `y + 1' instead of `y - 1'.
45406
45407 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
45408
45409 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
45410
45411 From Hollis Blanchard <hollis@penguinppc.org>:
45412 * kern/misc.c (memmove): New alias for grub_memmove.
45413 (memcmp): New alias for grub_memcmp.
45414 (memset): New alias for grub_memset.
45415 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
45416 Change "int handle" to "grub_ieee1275_phandle_t handle".
45417 * include/grub/powerpc/ieee1275/ieee1275.h
45418 (grub_ieee1275_get_property): Likewise.
45419
45420 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
45421
45422 Added normal mode command `chainloader' as module chain.mod, which
45423 depends on normal.mod and _chain.mod.
45424
45425 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
45426 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
45427 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
45428 Deleted prototype.
45429 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
45430 but arguments parsing moved to ...
45431 (grub_chainloader_cmd): ... here. New function.
45432 * include/grub/i386/pc/chainloader.h: New file.
45433 * loader/i386/pc/chainloader_normal.c: Likewise.
45434
45435 2004-09-11 Marco Gerards <metgerards@student.han.nl>
45436
45437 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
45438 (grub_mkimage_LDFLAGS): Likewise.
45439 (grub_emu_SOURCES): Likewise.
45440 (kernel_img_HEADERS): Added fshelp.h.
45441 * fs/ext2.c: Include <grub/fshelp.h>.
45442 (FILETYPE_REG): New macro.
45443 (FILETYPE_INO_REG): Likewise.
45444 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
45445 Changed all users.
45446 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
45447 all users.
45448 (grub_fshelp_node): New struct.
45449 (grub_ext2_data): Added member `diropen'. Changed member `inode'
45450 to a pointer.
45451 (grub_ext2_get_file_block): Removed function.
45452 (grub_ext2_read_block): New function.
45453 (grub_ext2_read_file): Replaced parameter `data' by `node'.
45454 This function was written.
45455 (grub_ext2_mount): Read the root inode. Create a diropen struct.
45456 (grub_ext2_find_file): Removed function.
45457 (grub_ext2_read_symlink): New function.
45458 (grub_ext2_iterate_dir): Likewise.
45459 (grub_ext2_open): Rewritten.
45460 (grub_ext2_dir): Rewritten.
45461 * include/grub/fshelp.h: New file.
45462 * fs/fshelp.c: Likewise.
45463
45464 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
45465
45466 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
45467 (print_message): Add a missing newline.
45468 (run_menu): Added timeout support.
45469 (run_menu_entry): New local function.
45470 (grub_menu_run): Added support for booting.
45471
45472 * kern/loader.c (grub_loader_is_loaded): New function.
45473
45474 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
45475 (grub_get_rtc): Exported.
45476
45477 * include/grub/i386/pc/time.h: Include grub/symbol.h.
45478 (grub_get_rtc): Exported.
45479
45480 * include/grub/normal.h (struct grub_command_list): Remove
45481 constant from the member `command'.
45482
45483 * include/grub/loader.h (grub_loader_is_loaded): Declared.
45484
45485 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
45486
45487 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
45488
45489 2004-08-28 Marco Gerards <metgerards@student.han.nl>
45490
45491 Add support for the JFS filesystem.
45492
45493 * fs/jfs.c: New file.
45494 * include/grub/fs.h (grub_jfs_init): New prototype.
45495 (grub_jfs_fini): New prototype.
45496 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
45497 (grub_emu_SOURCES): Likewise.
45498 (pkgdata_MODULES): Add jfs.mod.
45499 (jfs_mod_SOURCES): New variable.
45500 (jfs_mod_CFLAGS): Likewise.
45501 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
45502 (grubof_SOURCES): Likewise.
45503 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
45504
45505 * fs/fat.c (grub_fat_find_dir): Convert the filename little
45506 endian to the host endian.
45507 (grub_fat_utf16_to_utf8): Move function from there...
45508 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
45509 the endianness of the source string anymore.
45510 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
45511
45512 2004-08-24 Marco Gerards <metgerards@student.han.nl>
45513
45514 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
45515 (grub_boot_fini) [GRUB_UTIL]: Likewise.
45516 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
45517 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
45518
45519 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
45520 (grub_hfs_iterate_dir): Make the function static. Add prototypes
45521 for `node_found' and `it_dir'.
45522 (grub_hfs_dir): Add prototype for `dir_hook'.
45523
45524 * fs/minix.c (grub_minix_get_file_block): Add prototype for
45525 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
45526 and `indir32' to silence a gcc warning.
45527
45528 * include/grub/fs.h (grub_hfs_init): New prototype.
45529 (grub_hfs_fini): Likewise.
45530
45531
45532 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
45533
45534 Each disk device has its own id now. This is useful to make use
45535 of multiple disk devices.
45536
45537 * include/grub/disk.h (grub_disk_dev_id): New enum.
45538 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
45539 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
45540
45541 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
45542 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
45543
45544 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
45545 GRUB_DISK_DEVICE_OFDISK_ID as an id.
45546
45547 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
45548 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
45549
45550 * include/grub/disk.h (struct grub_disk_dev): Added a new member
45551 "id" which is used by the cache manager.
45552
45553 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
45554 of just "GRUB".
45555
45556 2004-08-18 Marco Gerards <metgerards@student.han.nl>
45557
45558 * fs/hfs.c: New file.
45559 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
45560 (grub_emu_SOURCES): Likewise.
45561 (pkgdata_MODULES): Add hfs.mod.
45562 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
45563 (grubof_SOURCES): Likewise.
45564 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
45565
45566 * include/grub/misc.h (grub_strncasecmp): Add prototype.
45567 * kern/misc.c (grub_strncasecmp): Add function.
45568
45569 2004-08-14 Marco Gerards <metgerards@student.han.nl>
45570
45571 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
45572 with parentheses.
45573
45574 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
45575 (grub_ext2_dir): In case the directory entry type is unknown, read
45576 it from the inode.
45577
45578 2004-08-02 Peter Bruin <pjbruin@dds.nl>
45579
45580 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
45581 grub_load_linux instead of grub_rescue_cmd_linux as second
45582 argument of grub_rescue_register_command.
45583
45584 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
45585
45586 2004-07-27 Marco Gerards <metgerards@student.han.nl>
45587
45588 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
45589 function.
45590 * commands/boot.c: Remove the check for `GRUB_UTIL'.
45591 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
45592 `loader/powerpc/ieee1275/linux.c',
45593 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
45594 * include/grub/powerpc/ieee1275/ieee1275.h
45595 (grub_ieee1275_release): New prototype.
45596 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
45597 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
45598 normal, boot, linux and linux_normal.
45599 * loader/powerpc/ieee1275/linux.c: New file.
45600 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
45601
45602 2004-07-12 Marco Gerards <metgerards@student.han.nl>
45603
45604 * normal/arg.c (grub_arg_parse): Correct error handling after
45605 reallocating the argumentlist (check if `argl' is not null instead
45606 of checking if `args' is not null).
45607 * kern/mm.c (grub_realloc): Return the same pointer when using the
45608 same region, instead of returning the header address.
45609
45610 2004-07-11 Marco Gerards <metgerards@student.han.nl>
45611
45612 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
45613 one block instead of two when looking for the initial partition.
45614 (grub_partition_probe): Initialize the local variable `p' with 0.
45615 Use base 10 for the grub_strtoul call.
45616 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
45617 need for one local variable.
45618 (grub_strtoul): Don't add the new value to `num', instead of that
45619 just assign it.
45620
45621 2004-07-11 Marco Gerards <metgerards@student.han.nl>
45622
45623 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
45624 (pxeboot_img_SOURCES): New variable.
45625 (pxeboot_img_ASFLAGS): Likewise.
45626 (pxeboot_img_LDFLAGS): Likewise.
45627 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
45628 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
45629 <lode_leroy@hotmail.com>.
45630
45631 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
45632
45633 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
45634 there was no input.
45635
45636 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
45637
45638 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
45639 the history buffer logic.
45640
45641 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
45642
45643 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
45644 (FILETYPE_INO_SYMLINK): New macros.
45645 (grub_ext2_find_file): Check if the node is a directory using the
45646 inode stat information instead of using the filetype in the
45647 dirent. Exclude the first character of an absolute symlink.
45648 (grub_ext2_dir): Mask out the filetype part of the mode member of
45649 the inode.
45650
45651 2004-05-24 Marco Gerards <metgerards@student.han.nl>
45652
45653 Add support for UFS version 1 and 2. Add support for the minix
45654 filesystem version 1 and 2, both the variants with 14 and 30 long
45655 filenames.
45656
45657 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
45658 fs/minix.c.
45659 (grub_emu_SOURCES): Likewise.
45660 (pkgdata_MODULES): Add ufs.mod and minix.mod.
45661 (ufs_mod_SOURCES): New variable.
45662 (ufs_mod_CFLAGS): Likewise.
45663 (minix_mod_SOURCES): Likewise.
45664 (minix_mod_CFLAGS): Likewise.
45665 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
45666 fs/minix.c.
45667 (grubof_SOURCES): Likewise.
45668 * fs/ufs.c: New file.
45669 * fs/minix.c: New file.
45670 * include/grub/fs.h (grub_ufs_init): New prototype.
45671 (grub_ufs_fini): Likewise.
45672 (grub_minix_init): Likewise.
45673 (grub_minix_fini): Likewise.
45674 * util/grub-emu.c (main): Initialize and deinitialize UFS and
45675 minix fs.
45676
45677 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
45678
45679 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
45680 commands/ls.c, commands/terminal.c, commands/boot.c,
45681 commands/cmp.c and commands/cat.c.
45682 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
45683
45684 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
45685 "env.h"
45686
45687 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
45688
45689 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
45690 and grub_, respectively. Because the conversion is trivial and
45691 mechanical, I omit the details here. Please refer to the CVS
45692 if you need more information.
45693
45694 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
45695
45696 * include/pupa: Renamed to ...
45697 * include/grub: ... this.
45698 * util/i386/pc/pupa-mkimage.c: Renamed to ...
45699 * util/i386/pc/grub-mkimage.c: ... this.
45700 * util/i386/pc/pupa-setup.c: Renamed to ...
45701 * util/i386/pc/grub-setup.c: ... this.
45702 * util/pupa-emu.c: Renamed to ...
45703 * util/grub-emu.c: ... this.
45704
45705 2004-03-29 Marco Gerards <metgerards@student.han.nl>
45706
45707 Add support for the newworld apple macintosh (PPC). This has been
45708 tested on the powerbook 2000 only. It only adds support for
45709 generic ieee1275 functions, console and disk support. This should
45710 be easy to port to other architectures with support for Open
45711 Firmware.
45712
45713 * configure.ac: Accept the powerpc as host_cpu. In the case of
45714 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
45715 specific tests are only executed while building for the i386.
45716 Inverse test for crosscompile.
45717 * genmk.rb (Utility): Allow assembler files.
45718 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
45719 * conf/powerpc-ieee1275.rmk: New file.
45720 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
45721 * disk/powerpc/ieee1275/partition.c: Likewise.
45722 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
45723 * include/pupa/powerpc/ieee1275/console.h: Likewise.
45724 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
45725 * include/pupa/powerpc/ieee1275/time.h: Likewise.
45726 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
45727 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
45728 * include/pupa/powerpc/ieee1275/loader.h
45729 * include/pupa/powerpc/setjmp.h: Likewise.
45730 * include/pupa/powerpc/types.h: Likewise.
45731 * kern/powerpc/ieee1275/init.c: Likewise.
45732 * kern/powerpc/ieee1275/openfw.c: Likewise.
45733 * term/powerpc/ieee1275/ofconsole.c: Likewise.
45734
45735 These files were written by Johan Rydberg
45736 (jrydberg@night.trouble.net) and I only modified them slightly.
45737
45738 * boot/powerpc/ieee1275/cmain.c: New file.
45739 * boot/powerpc/ieee1275/crt0.S: Likewise.
45740 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
45741 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
45742
45743 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
45744
45745 * Makefile.in: Update copyright.
45746 * genmodsrc.sh: Likewise.
45747 * gensymlist.sh: Likewise.
45748 * term/i386/pc/vga.c: Indent correctly.
45749
45750 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
45751 bugreporting address.
45752 * util/i386/pc/pupa-setup.c (usage): Likewise,
45753 (main): Call pupa_ext2_init and pupa_ext2_fini.
45754
45755 * fs/fat.c (log2): Renamed to ...
45756 (fat_log2): ... this.
45757 All callers changed.
45758 * kern/misc.c (memcpy): Alias to pupa_memmove.
45759 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
45760 lvalue cast.
45761 * util/console.c (pupa_ncurses_fini): Return 0.
45762
45763 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
45764 Move fail label here.
45765 [__GNU__]: Don't warn when using stat.
45766 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
45767 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
45768 long int. Use strtol instead of strtoul.
45769
45770 2004-03-14 Marco Gerards <metgerards@student.han.nl>
45771
45772 * commands/boot.c: New file.
45773 * commands/cat.c: Likewise.
45774 * commands/cmp.c: Likewise.
45775 * commands/ls.c: Likewise.
45776 * commands/terminal.c: Likewise.
45777 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
45778 (pupa_register_command): Changed interface to match the new
45779 argument parser.
45780 (pupa_command_execute): Changed (almost rewritten) so it uses
45781 pupa_split_command. Added support for setting variables using the
45782 syntax `foo=bar'.
45783 (rescue_command): Changed to work with the new argument parser.
45784 (terminal_command): Moved from here to commands/terminal.c.
45785 (set_command): New function.
45786 (unset_command): New function.
45787 (insmod_command): New function.
45788 (rmmod_command): New function.
45789 (lsmod_command): New function.
45790 (pupa_command_init): Don't initialize the command terminal
45791 anymore. Initialize the commands set, unset, insmod, rmmod and
45792 lsmod.
45793 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
45794 (kernel_img_HEADERS): Add arg.h and env.h.
45795 (pupa_mkimage_LDFLAGS): Add kern/env.c.
45796 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
45797 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
45798 normal/arg.c.
45799 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
45800 terminal.mod.
45801 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
45802 (boot_mod_SOURCES): New variable.
45803 (terminal_mod_SOURCES): Likewise.
45804 (ls_mod_SOURCES): Likewise.
45805 (cmp_mod_SOURCES): Likewise.
45806 (cat_mod_SOURCES): Likewise.
45807
45808 * normal/arg.c: New file.
45809 * kern/env.c: Likewise.
45810 * include/pupa/arg.h: Likewise.
45811 * include/pupa/env.h: Likewise.
45812 * font/manager.c (font_command): Changed to match argument parsing
45813 interface changes.
45814 (PUPA_MOD_INIT): Likewise.
45815 * hello/hello.c (pupa_cmd_hello): Likewise.
45816 (PUPA_MOD_INIT): Likewise.
45817 * include/pupa/disk.h: Include <pupa/device.h>.
45818 (pupa_print_partinfo): New prototype.
45819 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
45820 (pupa_dl_get_prefix): Likewise.
45821 * include/pupa/misc.h: Include <pupa/err.h>.
45822 (pupa_isgraph): New prototype.
45823 (pupa_isdigit): Likewise.
45824 (pupa_split_cmdline): Likewise.
45825 * include/pupa/normal.h: Include <pupa/arg.h>.
45826 (pupa_command): Changed the prototype of the member `func' to
45827 match the argument parsing interface. Added member `options'.
45828 (pupa_register_command): Updated to match function.
45829 (pupa_arg_parse): New prototype.
45830 (pupa_hello_init) [PUPA_UTIL]: New prototype.
45831 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
45832 (pupa_ls_init) [PUPA_UTIL]: Likewise.
45833 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
45834 (pupa_cat_init) [PUPA_UTIL]: Likewise.
45835 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
45836 (pupa_boot_init) [PUPA_UTIL]: Likewise.
45837 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
45838 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
45839 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
45840 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
45841 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
45842 * kern/disk.c: Include <pupa/file.h>.
45843 (pupa_print_partinfo): New function.
45844 * kern/dl.c: Include <pupa/env.h>.
45845 (pupa_dl_dir): Variable removed.
45846 (pupa_dl_load): Use the environment variable `prefix' instead of
45847 the variable pupa_dl_dir.
45848 (pupa_dl_set_prefix): Function removed.
45849 (pupa_dl_get_prefix): Likewise.
45850 * kern/i386/pc/init.c: Include <pupa/env.h>.
45851 (pupa_machine_init): Use the environment variable `prefix' instead of
45852 using pupa_dl_set_prefix to set the prefix.
45853 * kern/main.c: Include <pupa/env.h>.
45854 (pupa_set_root_dev): Use the environment variable `prefix' instead of
45855 using pupa_dl_get_prefix to get the prefix.
45856 * kern/misc.c: Include <pupa/env.h>.
45857 (pupa_isdigit): New function.
45858 (pupa_isgraph): Likewise.
45859 (pupa_ftoa): Likewise.
45860 (pupa_vsprintf): Added support for printing values of the type
45861 `double'. Make it possible to format variable output when using
45862 formatting like `%1.2%f'.
45863 (pupa_split_cmdline): New function.
45864 * kern/rescue.c: Include <pupa/env.h>.
45865 (next_word): Removed function.
45866 (pupa_rescue_cmd_prefix): Likewise.
45867 (pupa_rescue_cmd_set): New function.
45868 (pupa_rescue_cmd_unset): New function.
45869 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
45870 split the command line instead of splitting it here. Added
45871 support for setting variables using the syntax `foo=bar'. Don't
45872 initialize the prefix command anymore. Initialized the set and
45873 unset commands.
45874 * normal/cmdline.c: Include <pupa/env.h>.
45875 (pupa_tab_complete): Added prototypes for print_simple_completion,
45876 print_partition_completion, add_completion, iterate_commands,
45877 iterate_dev, iterate_part and iterate_dir. Moved code to print
45878 partition information from here to kern/disk.c.
45879 (pupa_cmdline_run): Don't check if the function exists anymore.
45880 * normal/main.c: Include <pupa/env.h>.
45881 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
45882 instead of using pupa_dl_get_prefix to get the prefix.
45883 * term/i386/pc/vga.c: Include <pupa/arg.h>.
45884 (check_vga_mem): Cast pointers to `void *' to silence a gcc
45885 warning.
45886 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
45887 (pupa_vga_setcolor): Declare unused variables with `__attribute__
45888 ((unused))' to silence a gcc warning.
45889 (pupa_vga_setcolor): Likewise.
45890 (debug_command): Changed to match argument parsing
45891 interface changes.
45892 * util/pupa-emu.c: Include <pupa/env.h>.
45893 (options): Added 0's for unused fields to silence a gcc warning.
45894 (argp): Likewise.
45895 (main): Use the environment variable `prefix' instead of using
45896 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
45897 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
45898 and terminal.
45899
45900 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
45901 * util/misc.c: Include <malloc.h>.
45902 (pupa_malloc): Rewritten so errors are correctly reported.
45903 (pupa_realloc): Likewise.
45904 (pupa_memalign): Likewise.
45905 (pupa_mm_init_region): Declare unused variables with
45906 `__attribute__ ((unused))' to silence a gcc warning.
45907 * normal/i386/setjmp.S: Remove tab at the end of the file to
45908 silence a gcc warning.
45909 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
45910 variables with `__attribute__ ((unused))' to silence a gcc
45911 warning.
45912 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
45913 local variable i unsigned to silence a gcc warning.
45914
45915 * kern/term.c: Include <pupa/misc.h>.
45916 (pupa_more_lines): New variable.
45917 (pupa_more): Likewise.
45918 (pupa_putcode): When the pager is active pause at the end of every
45919 screen.
45920 (pupa_set_more): New function.
45921 * include/pupa/term.h (pupa_set_more): New prototype.
45922
45923
45924 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
45925
45926 Now this project is GRUB 2 rather than PUPA. The location of
45927 the CVS repository was moved to GRUB's.
45928
45929 * configure.ac: Use bug-grub as the reporting address.
45930 Use GRUB instead of PUPA.
45931 Change the version number to 1.90.
45932
45933 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
45934
45935 * genkernsyms.sh: Updated copyright information.
45936 * genmk.rb: Likewise.
45937 * genmodsrc.sh: Likewise.
45938 * gensymlist.sh: Likewise.
45939 * boot/i386/pc/boot.S: Likewise.
45940 * boot/i386/pc/diskboot.S: Likewise.
45941 * disk/i386/pc/biosdisk.c: Likewise.
45942 * disk/i386/pc/partition.c: Likewise.
45943 * font/manager.c: Likewise.
45944 * fs/ext2.c: Likewise.
45945 * fs/fat.c: Likewise.
45946 * include/pupa/boot.h: Likewise.
45947 * include/pupa/device.h: Likewise.
45948 * include/pupa/disk.h: Likewise.
45949 * include/pupa/dl.h: Likewise.
45950 * include/pupa/elf.h: Likewise.
45951 * include/pupa/err.h: Likewise.
45952 * include/pupa/file.h: Likewise.
45953 * include/pupa/font.h: Likewise.
45954 * include/pupa/fs.h: Likewise.
45955 * include/pupa/kernel.h: Likewise.
45956 * include/pupa/loader.h: Likewise.
45957 * include/pupa/misc.h: Likewise.
45958 * include/pupa/mm.h: Likewise.
45959 * include/pupa/net.h: Likewise.
45960 * include/pupa/normal.h: Likewise.
45961 * include/pupa/rescue.h: Likewise.
45962 * include/pupa/setjmp.h: Likewise.
45963 * include/pupa/symbol.h: Likewise.
45964 * include/pupa/term.h: Likewise.
45965 * include/pupa/types.h: Likewise.
45966 * include/pupa/i386/setjmp.h: Likewise.
45967 * include/pupa/i386/types.h: Likewise.
45968 * include/pupa/i386/pc/biosdisk.h: Likewise.
45969 * include/pupa/i386/pc/boot.h: Likewise.
45970 * include/pupa/i386/pc/console.h: Likewise.
45971 * include/pupa/i386/pc/init.h: Likewise.
45972 * include/pupa/i386/pc/kernel.h: Likewise.
45973 * include/pupa/i386/pc/linux.h: Likewise.
45974 * include/pupa/i386/pc/loader.h: Likewise.
45975 * include/pupa/i386/pc/memory.h: Likewise.
45976 * include/pupa/i386/pc/multiboot.h: Likewise.
45977 * include/pupa/i386/pc/partition.h: Likewise.
45978 * include/pupa/i386/pc/time.h: Likewise.
45979 * include/pupa/i386/pc/vga.h: Likewise.
45980 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
45981 * include/pupa/util/getroot.h: Likewise.
45982 * include/pupa/util/misc.h: Likewise.
45983 * include/pupa/util/resolve.h: Likewise.
45984 * kern/device.c: Likewise.
45985 * kern/disk.c: Likewise.
45986 * kern/dl.c: Likewise.
45987 * kern/err.c: Likewise.
45988 * kern/file.c: Likewise.
45989 * kern/fs.c: Likewise.
45990 * kern/loader.c: Likewise.
45991 * kern/main.c: Likewise.
45992 * kern/misc.c: Likewise.
45993 * kern/mm.c: Likewise.
45994 * kern/rescue.c: Likewise.
45995 * kern/term.c: Likewise.
45996 * kern/i386/dl.c: Likewise.
45997 * kern/i386/pc/init.c: Likewise.
45998 * kern/i386/pc/lzo1x.S: Likewise.
45999 * kern/i386/pc/startup.S: Likewise.
46000 * loader/i386/pc/chainloader.c: Likewise.
46001 * loader/i386/pc/linux.c: Likewise.
46002 * loader/i386/pc/multiboot.c: Likewise.
46003 * normal/cmdline.c: Likewise.
46004 * normal/command.c: Likewise.
46005 * normal/main.c: Likewise.
46006 * normal/menu.c: Likewise.
46007 * normal/i386/setjmp.S: Likewise.
46008 * term/i386/pc/console.c: Likewise.
46009 * term/i386/pc/vga.c: Likewise.
46010 * util/console.c: Likewise.
46011 * util/genmoddep.c: Likewise.
46012 * util/misc.c: Likewise.
46013 * util/pupa-emu.c: Likewise.
46014 * util/resolve.c: Likewise.
46015 * util/unifont2pff.rb: Likewise.
46016 * util/i386/pc/biosdisk.c: Likewise.
46017 * util/i386/pc/getroot.c: Likewise.
46018 * util/i386/pc/pupa-mkimage.c: Likewise.
46019 * util/i386/pc/pupa-setup.c: Likewise.
46020
46021 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
46022
46023 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
46024 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
46025 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
46026 reading and reset it after reading.
46027 (pupa_ext2_close): Return PUPA_ERR_NONE.
46028
46029 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
46030 Correct value.
46031 (struct linux_kernel_header): Add kernel_version and
46032 initrd_addr_max.
46033 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
46034 pupa_file_read succeeds.
46035 (pupa_rescue_cmd_initrd): Implement.
46036
46037 2003-12-03 Marco Gerards <metgerards@student.han.nl>
46038
46039 * fs/ext2.c (pupa_ext2_label): New function.
46040 (pupa_ext2_fs): Added label.
46041 * fs/fat.c (pupa_fat_label): New function.
46042 (pupa_fat_fs): Added label.
46043 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
46044
46045 * kern/misc.c (pupa_strndup): New function.
46046 * include/pupa/misc.h (pupa_strndup): New prototype.
46047
46048 * include/pupa/normal.h: Include <pupa/err.h>.
46049 (pupa_set_history): New prototype.
46050 (pupa_iterate_commands): New prototype.
46051 * normal/cmdline.c: Include <pupa/machine/partition.h>,
46052 <pupa/disk.h>, <pupa/file.h>.
46053 (hist_size): New variable.
46054 (hist_lines): Likewise.
46055 (hist_end): Likewise.
46056 (hist_used): Likewise.
46057 (pupa_set_history): New function.
46058 (pupa_history_get): Likewise.
46059 (pupa_history_add): Likewise.
46060 (pupa_history_replace): Likewise.
46061 (pupa_tab_complete): Likewise.
46062 (pupa_cmdline_run): Added tab completion and history buffer. Tab
46063 completion shows partitionnames while completing partitions, this
46064 feature was suggested by Jeff Bailey.
46065 * normal/command.c (pupa_iterate_commands): New function.
46066 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
46067 (pupa_normal_init): Initialize history buffer.
46068 (PUPA_MOD_INIT): Likewise.
46069 (pupa_normal_fini): Free the history buffer.
46070 (PUPA_MOD_FINI): Likewise.
46071
46072 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
46073 key.
46074
46075 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
46076 * configure.ac [i386]: Check for regparam bug.
46077 (NESTED_FUNC_ATTR) [! i386]: Defined.
46078
46079 2003-11-17 Marco Gerards <metgerards@student.han.nl>
46080
46081 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
46082 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
46083 (pupa_emu_SOURCES): New variable.
46084 (pupa_emu_LDFLAGS): Likewise.
46085 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
46086 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
46087 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
46088 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
46089 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
46090 (pupa_jmp_buf): New typedef.
46091 (pupa_setjmp) [PUPA_UTIL]: New macro.
46092 (pupa_longjmp) [PUPA_UTIL]: Likewise.
46093 * include/pupa/term.h (struct pupa_term): New member `refresh'.
46094 (pupa_refresh): New prototype.
46095 * include/pupa/util/getroot.h: New file.
46096 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
46097 it.
46098 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
46099 (pupa_rescue_cmd_cat): Likewise.
46100 (pupa_rescue_cmd_ls): Likewise.
46101 (pupa_rescue_cmd_testload): Likewise.
46102 (pupa_rescue_cmd_lsmod): Likewise.
46103 * normal/cmdline.c (pupa_cmdline_get): Likewise.
46104 * normal/menu.c (run_menu): Likewise.
46105 * kern/term.c (pupa_cls): Likewise.
46106 (pupa_refresh): New function.
46107 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
46108 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
46109 * util/console.c: New file.
46110
46111 * util/i386/pc/getroot.c: New file.
46112 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
46113 (pupa_putchar): New function.
46114 (pupa_refresh): Likewise.
46115 (xgetcwd): Function moved to ...
46116 (strip_extra_slashes): Likewise.
46117 (get_prefix): Likewise.
46118 * util/i386/pc/getroot.c: ... here.
46119 (find_root_device): Function moved and renamed to...
46120 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
46121 Changed all callers.
46122 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
46123 and renamed to...
46124 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
46125 Changed all callers.
46126 * util/misc.c (pupa_memalign): New function.
46127 (pupa_mm_init_region): Likewise.
46128 (pupa_register_exported_symbols): Likewise.
46129 (pupa_putchar): Function removed.
46130 * util/pupa-emu.c: New file.
46131
46132 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
46133
46134 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
46135 (_multiboot_mod_SOURCES): New variable.
46136 (_multiboot_mod_CFLAGS): Likewise.
46137 * loader/i386/pc/multiboot.c: New file.
46138 * include/pupa/i386/pc/multiboot.h: Likewise.
46139 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
46140 (pupa_multiboot_real_boot): New function.
46141 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
46142 (pupa_multiboot_real_boot): New prototype.
46143 (pupa_rescue_cmd_multiboot): Likewise
46144 (pupa_rescue_cmd_module): Likewise.
46145
46146 * kern/loader.c (pupa_loader_set): Continue when
46147 pupa_loader_unload_func() fails.
46148 (pupa_loader_unset): New function.
46149 * include/pupa/loader.h (pupa_loader_unset): New prototype.
46150
46151 * kern/misc.c (pupa_stpcpy): New function.
46152 * include/pupa/misc.h (pupa_stpcpy): New prototype.
46153
46154 2003-11-12 Marco Gerards <metgerards@student.han.nl>
46155
46156 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
46157 for available extensions.
46158
46159 * include/pupa/i386/pc/time.h: New file.
46160 * kern/disk.c: Include <pupa/machine/time.h>.
46161 (PUPA_CACHE_TIMEOUT): New macro.
46162 (pupa_last_time): New variable.
46163 (pupa_disk_open): Flush the cache when there was a timeout.
46164 (pupa_disk_close): Reset the timer.
46165 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
46166 pupa_currticks.
46167 * util/misc.c: Include <sys/times.h>
46168 (pupa_get_rtc): New function.
46169
46170 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
46171
46172 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
46173 as blocks.
46174 (pupa_ext2_get_file_block): Use blocks member.
46175
46176 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
46177 first block. Return -1 instead of pupa_errno on error.
46178
46179 2003-10-27 Marco Gerards <metgerards@student.han.nl>
46180
46181 * README: In the pupa-mkimage example use _chain instead of chain
46182 and ext2 instead of fat.
46183 * TODO: Replace ext2fs with jfs as an example. Add an item for
46184 adding journal playback for ext2fs.
46185 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
46186 (pkgdata_MODULES): Added ext2.mod.
46187 (ext2_mod_SOURCES): New variable.
46188 (ext2_mod_CFLAGS): Likewise.
46189 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
46190 * include/pupa/misc.h (pupa_strncpy): New prototype.
46191 (pupa_strcat): Likewise.
46192 (pupa_strncmp): Likewise.
46193 * kern/misc.c (pupa_strcat): Enable function.
46194 (pupa_strncpy): New function.
46195 (pupa_strncmp): Likewise.
46196 * fs/ext2.c: New file.
46197
46198 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
46199 when the read failed before retrying.
46200 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
46201 (_FILE_OFFSET_BITS): Likewise.
46202 * configure.ac: Added AC_SYS_LARGEFILE.
46203
46204 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
46205
46206 * genmk.rb (PModule#rule): Make sure to get only symbol names
46207 from the output of nm.
46208 Reported by Robert Millan <rmh.grub@aybabtu.com>.
46209
46210 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
46211
46212 I forgot to check in these changes for a long time. This adds
46213 incomplete support for VGA console, and this is still very
46214 buggy. Also, a lot of consideration is required for I18N,
46215 UNICODE, and VGA font issues. Therefore, assume that this is
46216 such that "better than nothing".
46217
46218 * font/manager.c: New file.
46219 * include/pupa/font.h: Likewise.
46220 * include/pupa/i386/pc/vga.h: Likewise.
46221 * term/i386/pc/vga.c: Likewise.
46222 * util/unifont2pff.rb: Likewise.
46223
46224 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
46225 (pkgdata_MODULES): Added vga.mod and font.mod.
46226 (vga_mod_SOURCES): New variables.
46227 (vga_mod_CFLAGS): Likewise.
46228 (font_mod_SOURCES): Likewise.
46229 (font_mod_CFLAGS): Likewise.
46230
46231 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
46232
46233 * include/pupa/term.h: Include pupa/err.h.
46234 (struct pupa_term): Added init and fini.
46235 Changed the argument of putchar to pupa_uint32_t.
46236
46237 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
46238 (pupa_console_real_putchar): New prototype.
46239 (pupa_console_putchar): Removed.
46240 (pupa_console_checkkey): Exported.
46241 (pupa_console_getkey): Likewise.
46242
46243 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
46244 characters.
46245
46246 * kern/term.c (pupa_term_set_current): Rewritten.
46247 (pupa_putchar): Likewise.
46248 (pupa_putcode): New function.
46249
46250 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
46251 (pupa_console_real_putchar): ... this.
46252 (pupa_vga_set_mode): New function.
46253 (pupa_vga_get_font): Likewise.
46254
46255 * normal/command.c: Include pupa/term.h.
46256 (terminal_command): New function.
46257 (pupa_command_init): Register the command "terminal".
46258
46259 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
46260 (DISP_UP): Likewise.
46261 (DISP_RIGHT): Likewise.
46262 (DISP_DOWN): Likewise.
46263 (DISP_HLINE): Likewise.
46264 (DISP_VLINE): Likewise.
46265 (DISP_UL): Likewise.
46266 (DISP_UR): Likewise.
46267 (DISP_LL): Likewise.
46268 (DISP_LR): Likewise.
46269
46270 * term/i386/pc/console.c (pupa_console_putchar): New function.
46271
46272 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
46273
46274 * util/resolve.c (pupa_util_resolve_dependencies): BUG
46275 FIX. Reverse the path_list.
46276
46277 * include/pupa/normal.h: Export pupa_register_command and
46278 pupa_unregister_command.
46279
46280 * hello/hello.c (pupa_cmd_hello): New module.
46281 * conf/i386-pc.rmk: Added hello.mod.
46282
46283 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
46284
46285 * kern/i386/pc/lzo1x.S: New file.
46286
46287 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
46288 (compress_kernel): New variable.
46289 (generate_image): Heavily modified to support compressing a
46290 large part of the core image.
46291
46292 * util/misc.c (pupa_util_read_image): Fix a file descriptor
46293 leak.
46294 (pupa_util_load_image): New function.
46295
46296 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
46297 (pupa_compressed_size): New variable.
46298 (codestart): Enable Gate A20 here.
46299 Decompress the compressed part of the core image.
46300 Rearrange the code to put functions and variables which are
46301 required for initialization in the non-compressed part.
46302 Include lzo1x.S.
46303
46304 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
46305 here.
46306
46307 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
46308
46309 * include/pupa/i386/pc/kernel.h
46310 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
46311 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
46312 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
46313 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
46314 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
46315
46316 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
46317
46318 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
46319 (Utility#rule): Likewise.
46320
46321 * configure.ac: Check if LZO is available.
46322
46323 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
46324
46325 * include/pupa/normal.h: New file.
46326 * include/pupa/setjmp.h: Likewise.
46327 * include/pupa/i386/setjmp.h: Likewise.
46328 * normal/cmdline.c: Likewise.
46329 * normal/command.c: Likewise.
46330 * normal/main.c: Likewise.
46331 * normal/menu.c: Likewise.
46332 * normal/i386/setjmp.S: Likewise.
46333
46334 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
46335 (pupa_rescue_cmd_initrd): Likewise.
46336
46337 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
46338 Likewise.
46339
46340 * kern/i386/pc/startup.S (translation_table): New variable.
46341 (translate_keycode): New function.
46342 (pupa_console_getkey): Call translate_keycode.
46343
46344 * kern/rescue.c (attempt_normal_mode): New function.
46345 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
46346 it failed, print a message.
46347
46348 * kern/mm.c (pupa_real_malloc): Print more information when a
46349 free magic is broken.
46350 (pupa_free): If the first free header is not free actually, set
46351 it to P.
46352
46353 * kern/main.c (pupa_load_normal_mode): Just load the module
46354 "normal".
46355 (pupa_main): Don't print the message
46356 "Entering into rescue mode..." here.
46357
46358 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
46359 Declared.
46360 (pupa_rescue_cmd_initrd): Likewise.
46361 (pupa_rescue_cmd_initrd): Likewise.
46362
46363 * include/pupa/symbol.h (FUNCTION): Specify the type.
46364 (VARIABLE): Likewise.
46365
46366 * include/pupa/err.h (pupa_err_t): Added
46367 PUPA_ERR_UNKNOWN_COMMAND.
46368
46369 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
46370 (pupa_dl_get_prefix): Likewise.
46371
46372 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
46373 Added _chain.mod and _linux.mod instead of chain.mod and
46374 linux.mod.
46375 (chain_mod_SOURCES): Renamed to ...
46376 (_chain_mod_SOURCES): ... this.
46377 (chain_mod_CFLAGS): Renamed to ...
46378 (_chain_mod_CFLAGS): ... this.
46379 (linux_mod_SOURCES): Renamed to ...
46380 (_linux_mod_SOURCES): ... this.
46381 (linux_mod_CFLAGS): Renamed to ...
46382 (_linux_mod_CFLAGS): ... this.
46383 (normal_mod_SOURCES): New variable.
46384 (normal_mod_CFLAGS): Likewise.
46385 (normal_mod_ASFLAGS): Likewise.
46386
46387 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
46388
46389 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
46390 possible.
46391
46392 * kern/dl.c (pupa_dl_ref): Refer depending modules
46393 recursively.
46394 (pupa_dl_unref): Unrefer depending modules recursively.
46395 Don't call pupa_dl_unload implicitly, because PUPA can crash if
46396 a module is unloaded before one depending on that module is
46397 unloaded.
46398 (pupa_dl_unload): Unload depending modules explicitly,
46399 if possible.
46400
46401 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
46402
46403 * include/pupa/i386/pc/linux.h: New file.
46404 * loader/i386/pc/linux.c: Likewise.
46405
46406 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
46407 Removed.
46408 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
46409 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
46410 of PUPA_CHAINLOADER_BOOT_SECTOR.
46411
46412 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
46413 (pupa_linux_prot_size): New variable.
46414 (pupa_linux_tmp_addr): Likewise.
46415 (pupa_linux_real_addr): Likewise.
46416 (pupa_linux_boot_zimage): New function.
46417 (pupa_linux_boot_bzimage): Likewise.
46418
46419 * kern/i386/pc/init.c (struct mem_region): New structure.
46420 (MAX_REGIONS): New macro.
46421 (mem_regions): New variable.
46422 (num_regions): Likewise.
46423 (pupa_os_area_addr): Likewise.
46424 (pupa_os_area_size): Likewise.
46425 (pupa_lower_mem): Likewise.
46426 (pupa_upper_mem): Likewise.
46427 (add_mem_region): New function.
46428 (compact_mem_regions): Likewise.
46429 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
46430 the size of the conventional memory and that of so-called upper
46431 memory (before the first memory hole).
46432 Instead of adding each found region to free memory, use
46433 add_mem_region and add them after removing overlaps.
46434 Also, add only 1/4 of the upper memory to free memory. The rest
46435 is used for loading OS images. Maybe this is ad hoc, but this
46436 makes it much easier to relocate OS images when booting.
46437
46438 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
46439 (pupa_enter_rescue_mode): Don't register initrd and module.
46440
46441 * kern/mm.c: Include pupa/dl.h.
46442
46443 * kern/main.c: Include pupa/file.h and pupa/device.h.
46444
46445 * kern/loader.c (pupa_loader_load_module_func): Removed.
46446 (pupa_loader_load_module): Likewise.
46447
46448 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
46449 ``.o''.
46450
46451 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
46452 (pupa_linux_tmp_addr): Likewise.
46453 (pupa_linux_real_addr): Likewise.
46454 (pupa_linux_boot_zimage): Likewise.
46455 (pupa_linux_boot_bzimage): Likewise.
46456
46457 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
46458 (pupa_upper_mem): Likewise.
46459 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
46460 module is too dangerous.
46461
46462 * include/pupa/loader.h (pupa_os_area_addr): Declared.
46463 (pupa_os_area_size): Likewise.
46464 (pupa_loader_set): Remove the first argument. Loader doesn't
46465 manage modules or initrd any longer.
46466 (pupa_loader_load_module): Removed.
46467
46468 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
46469 (linux_mod_SOURCES): New variable.
46470 (linux_mod_CFLAGS): Likewise.
46471
46472 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
46473
46474 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
46475 the length of a blocklist correctly.
46476
46477 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
46478 Use ioctl only if the OS file is a block device.
46479 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
46480 not very useful for normal files.
46481
46482 * kern/main.c (pupa_set_root_dev): New function.
46483 (pupa_load_normal_mode): Likewise.
46484 (pupa_main): Call those above.
46485
46486 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
46487 pupa_uint16_t.
46488
46489 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
46490
46491 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
46492
46493 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
46494 (setup): Configure the installed partition information and the
46495 dl prefix.
46496
46497 * loader/i386/pc/chainloader.c (my_mod): New variable.
46498 (pupa_chainloader_unload): New function.
46499 (pupa_rescue_cmd_chainloader): Refer itself.
46500 (PUPA_MOD_INIT): Save its own module in MY_MOD.
46501
46502 * kern/i386/pc/startup.S (install_partition): Removed.
46503 (version_string): Likewise.
46504 (config_file): Likewise.
46505 (pupa_install_dos_part): New variable.
46506 (pupa_install_bsd_part): Likewise.
46507 (pupa_prefix): Likewise.
46508 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
46509
46510 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
46511 and pupa/misc.h.
46512 (make_install_device): New function.
46513 (pupa_machine_init): Set the dl prefix.
46514
46515 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
46516 (buf): Renamed to ...
46517 (linebuf): ... this.
46518 (pupa_rescue_cmd_prefix): New function.
46519 (pupa_rescue_cmd_insmod): Likewise.
46520 (pupa_rescue_cmd_rmmod): Likewise.
46521 (pupa_rescue_cmd_lsmod): Likewise.
46522 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
46523 rmmod and lsmod.
46524
46525 * kern/mm.c (pupa_memalign): If failed even after invalidating
46526 disk caches, unload unneeded modules and retry.
46527
46528 * kern/misc.c (pupa_memmove): New function.
46529 (pupa_memcpy): Removed.
46530 (pupa_strcpy): New function.
46531 (pupa_itoa): Made static.
46532
46533 * kern/dl.c (pupa_dl_iterate): New function.
46534 (pupa_dl_ref): Likewise.
46535 (pupa_dl_unref): Likewise.
46536 (pupa_dl_unload): Return if succeeded or not.
46537 (pupa_dl_unload_unneeded): New function.
46538 (pupa_dl_unload_all): Likewise.
46539 (pupa_dl_init): Renamed to ...
46540 (pupa_dl_set_prefix): ... this.
46541 (pupa_dl_get_prefix): New function.
46542
46543 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
46544 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
46545 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
46546 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
46547 (pupa_install_dos_part): Declared.
46548 (pupa_install_bsd_part): Likewise.
46549 (pupa_prefix): Likewise.
46550 (pupa_boot_drive): Likewise.
46551
46552 * include/pupa/types.h: Fix a typo.
46553
46554 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
46555 pupa_memmove.
46556 (pupa_memmove): Declared.
46557 (pupa_strcpy): Likewise.
46558
46559 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
46560 pupa_mod_init takes one argument, its own module.
46561 (pupa_dl_unload_unneeded): Declared.
46562 (pupa_dl_unload_all): Likewise.
46563 (pupa_dl_ref): Likewise.
46564 (pupa_dl_unref): Likewise.
46565 (pupa_dl_iterate): Likewise.
46566 (pupa_dl_init): Renamed to ...
46567 (pupa_dl_set_prefix): ... this.
46568 (pupa_dl_get_prefix): Declared.
46569
46570 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
46571 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
46572 unloaded.
46573 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
46574 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
46575
46576 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
46577 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
46578
46579 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
46580
46581 * util/i386/pc/pupa-setup.c (setup): Define the internal
46582 function find_first_partition_start at the top level, because GCC
46583 3.0.x cannot compile internal functions in deeper scopes
46584 correctly.
46585 (find_root_device): Use lstat instead of stat.
46586 Don't follow symbolic links.
46587 Fix the path-constructing code.
46588
46589 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
46590 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
46591 by a BLKGETSIZE ioctl first, because block devices don't fill
46592 the member st_mode of the structure stat on Linux.
46593 [__linux__] (linux_find_partition): Use a temporary buffer
46594 REAL_DEV for the working space. Copy it to DEV before returning.
46595 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
46596 buffer cache consistent.
46597 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
46598 strncmp. The previous value was merely wrong.
46599 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
46600
46601 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
46602 FAT size is 12. The previous value was merely wrong.
46603
46604 * kern/main.c (pupa_main): Don't split the starting message from
46605 newlines.
46606
46607 * kern/term.c (pupa_putchar): Put CR after LF instead of before
46608 LF, because BIOS goes crazy about character attributes in this
46609 case.
46610
46611 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
46612
46613 * include/i386/pc/util/biosdisk.h: New file.
46614 * util/i386/pc/biosdisk.c: Likewise.
46615 * util/i386/pc/pupa-setup.c: Likewise.
46616
46617 * Makefile.in (INCLUDE_DISTFILES): Added
46618 include/pupa/i386/pc/util/biosdisk.h.
46619 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
46620 directory util/i386/pc.
46621 (install-local): Added a rule for sbin_UTILITIES.
46622 (uninstall): Likewise.
46623
46624 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
46625
46626 * util/misc.c (xrealloc): New function.
46627 (pupa_malloc): Likewise.
46628 (pupa_free): Likewise.
46629 (pupa_realloc): Likewise.
46630 (pupa_stop): Likewise.
46631 (pupa_putchar): Likewise.
46632
46633 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
46634
46635 * include/pupa/util/misc.h (xrealloc): Declared.
46636
46637 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
46638 macro.
46639 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
46640 (PUPA_BOOT_MACHINE_BPB_END): ... this.
46641
46642 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
46643 [PUPA_UTIL] (pupa_fat_fini): Likewise.
46644
46645 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
46646 way should be implemented.
46647 [PUPA_UTIL] (pupa_fat_fini): Likewise.
46648
46649 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
46650 the size of NAME for safety.
46651 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
46652 0x88.
46653
46654 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
46655 (pupa_setup_SOURCES): Likewise.
46656
46657 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
46658
46659 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
46660
46661 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
46662 bunch of pushl's from pusha, because this destroys the return
46663 value.
46664
46665 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
46666
46667 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
46668 This means that any missing prototypes could be fatal. Also, you
46669 must take care when writing assembly code. See the comments at
46670 the beginning of startup.S, for more details.
46671
46672 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
46673 compilation mechanism.
46674 (pupa_chainloader_real_boot): Likewise.
46675 (pupa_biosdisk_rw_int13_extensions): Likewise.
46676 (pupa_biosdisk_rw_standard): Likewise.
46677 (pupa_biosdisk_check_int13_extensions): Likewise.
46678 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
46679 (pupa_biosdisk_get_diskinfo_standard): Likewise.
46680 (pupa_get_memsize): Likewise.
46681 (pupa_get_mmap_entry): Likewise.
46682 (pupa_console_putchar): Likewise.
46683 (pupa_console_setcursor): Likewise.
46684 (pupa_getrtsecs): Use pushl instead of push.
46685
46686 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
46687 memory instead of the stack for a mmap entry, because some
46688 BIOSes may ignore the maximum size and overflow.
46689
46690 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
46691
46692 * genmk.rb (PModule#rule): Compile automatically generated
46693 sources with module-specific CFLAGS as well as other sources.
46694
46695 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
46696
46697 * configure.ac: Check ld.
46698 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
46699 respectively, before checking endianness and sizes.
46700
46701 * Makefile.in (LD): New variable.
46702
46703 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
46704
46705 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
46706
46707 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
46708
46709 * Changelog: New file.
46710